summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2021-01-05 15:01:40 -0500
committerKent Overstreet <kent.overstreet@gmail.com>2021-01-05 15:02:10 -0500
commit41dc1733f12fab96df2089d7c62036a880891010 (patch)
treea25c9d723fda8bb2e6f1eddc97cef01f7579bd91
parent80846e9c28e76774daf7d2d46115d73f108b98db (diff)
Fix bcachefs device remove --by-id
That's not how you parse an integer in C... Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r--cmd_device.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/cmd_device.c b/cmd_device.c
index a7ff3615..d962b6fe 100644
--- a/cmd_device.c
+++ b/cmd_device.c
@@ -172,10 +172,15 @@ int cmd_device_remove(int argc, char *argv[])
if (!path)
die("Please supply filesystem to remove device from");
- dev_idx = (intptr_t) arg_pop();
- if (!dev_idx)
+ char *dev_str = arg_pop();
+ if (!dev_str)
die("Please supply device id");
+ errno = 0;
+ dev_idx = strtoul(dev_str, NULL, 10);
+ if (errno)
+ die("Error parsing device id: %m");
+
fs = bcache_fs_open(path);
} else {
char *dev = arg_pop();