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();