* [PATCHv3 2/2] mmc-utils: Allow for custom sanitize timeout
@ 2022-10-13 9:10 Christian Löhle
2022-10-15 6:44 ` Avri Altman
0 siblings, 1 reply; 2+ messages in thread
From: Christian Löhle @ 2022-10-13 9:10 UTC (permalink / raw)
To: Avri Altman, Ulf Hansson, Linux MMC List
Some cards with certain preconditioning require a higher timeout
when sanitizing. Let the user set the maximum timeout.
Signed-off-by: Christian Loehle <cloehle@hyperstone.com>
---
mmc.c | 2 +-
mmc_cmds.c | 10 +++++++---
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/mmc.c b/mmc.c
index 6c56387..2344879 100644
--- a/mmc.c
+++ b/mmc.c
@@ -150,7 +150,7 @@ static struct Command commands[] = {
NULL
},
{ do_sanitize, -1,
- "sanitize", "<device>\n"
+ "sanitize", "[timeout_ms] <device>\n"
"Send Sanitize command to the <device>.\nThis will delete the unmapped memory region of the device.",
NULL
},
diff --git a/mmc_cmds.c b/mmc_cmds.c
index 3337ded..4171dfd 100644
--- a/mmc_cmds.c
+++ b/mmc_cmds.c
@@ -1986,12 +1986,16 @@ int do_sanitize(int nargs, char **argv)
{
int fd, ret;
char *device;
+ unsigned int timeout = 0;
- if (nargs != 2) {
- fprintf(stderr, "Usage: mmc sanitize </path/to/mmcblkX>\n");
+ if (nargs != 2 && nargs != 3) {
+ fprintf(stderr, "Usage: mmc sanitize [timeout_in_ms] </path/to/mmcblkX>\n");
exit(1);
}
+ if (nargs == 3)
+ timeout = strtol(argv[2], NULL, 10);
+
device = argv[1];
fd = open(device, O_RDWR);
@@ -2000,7 +2004,7 @@ int do_sanitize(int nargs, char **argv)
exit(1);
}
- ret = write_extcsd_value(fd, EXT_CSD_SANITIZE_START, 1, 0);
+ ret = write_extcsd_value(fd, EXT_CSD_SANITIZE_START, 1, timeout);
if (ret) {
fprintf(stderr, "Could not write 0x%02x to EXT_CSD[%d] in %s\n",
1, EXT_CSD_SANITIZE_START, device);
--
2.37.3
Hyperstone GmbH | Reichenaustr. 39a | 78467 Konstanz
Managing Director: Dr. Jan Peter Berns.
Commercial register of local courts: Freiburg HRB381782
^ permalink raw reply related [flat|nested] 2+ messages in thread
* RE: [PATCHv3 2/2] mmc-utils: Allow for custom sanitize timeout
2022-10-13 9:10 [PATCHv3 2/2] mmc-utils: Allow for custom sanitize timeout Christian Löhle
@ 2022-10-15 6:44 ` Avri Altman
0 siblings, 0 replies; 2+ messages in thread
From: Avri Altman @ 2022-10-15 6:44 UTC (permalink / raw)
To: Christian Löhle, Ulf Hansson, Linux MMC List
> Some cards with certain preconditioning require a higher timeout
> when sanitizing. Let the user set the maximum timeout.
>
> Signed-off-by: Christian Loehle <cloehle@hyperstone.com>
A nit below. Other than that:
Reviewed-by: Avri Altman <avri.altman@wdc.com>
> ---
> mmc.c | 2 +-
> mmc_cmds.c | 10 +++++++---
> 2 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/mmc.c b/mmc.c
> index 6c56387..2344879 100644
> --- a/mmc.c
> +++ b/mmc.c
> @@ -150,7 +150,7 @@ static struct Command commands[] = {
> NULL
> },
> { do_sanitize, -1,
> - "sanitize", "<device>\n"
> + "sanitize", "[timeout_ms] <device>\n"
> "Send Sanitize command to the <device>.\nThis will delete the
> unmapped memory region of the device.",
> NULL
> },
Isn't timeout_ms is your 2nd argument?
Should come 2nd in the documentation as well.
> diff --git a/mmc_cmds.c b/mmc_cmds.c
> index 3337ded..4171dfd 100644
> --- a/mmc_cmds.c
> +++ b/mmc_cmds.c
> @@ -1986,12 +1986,16 @@ int do_sanitize(int nargs, char **argv)
> {
> int fd, ret;
> char *device;
> + unsigned int timeout = 0;
>
> - if (nargs != 2) {
> - fprintf(stderr, "Usage: mmc sanitize </path/to/mmcblkX>\n");
> + if (nargs != 2 && nargs != 3) {
> + fprintf(stderr, "Usage: mmc sanitize [timeout_in_ms]
> </path/to/mmcblkX>\n");
> exit(1);
> }
Ditto
Thanks,
Avri
>
> + if (nargs == 3)
> + timeout = strtol(argv[2], NULL, 10);
> +
> device = argv[1];
>
> fd = open(device, O_RDWR);
> @@ -2000,7 +2004,7 @@ int do_sanitize(int nargs, char **argv)
> exit(1);
> }
>
> - ret = write_extcsd_value(fd, EXT_CSD_SANITIZE_START, 1, 0);
> + ret = write_extcsd_value(fd, EXT_CSD_SANITIZE_START, 1, timeout);
> if (ret) {
> fprintf(stderr, "Could not write 0x%02x to EXT_CSD[%d] in %s\n",
> 1, EXT_CSD_SANITIZE_START, device);
> --
> 2.37.3
>
> Hyperstone GmbH | Reichenaustr. 39a | 78467 Konstanz
> Managing Director: Dr. Jan Peter Berns.
> Commercial register of local courts: Freiburg HRB381782
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-10-15 6:44 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-13 9:10 [PATCHv3 2/2] mmc-utils: Allow for custom sanitize timeout Christian Löhle
2022-10-15 6:44 ` Avri Altman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).