nvme-cli: allow block device for delete-ns
PATCH 1/1 nvme-cli: allow block device for delete-ns
This patch allows block device to be used for the NVMe delete-ns command while keeping the -n options as it is.
Signed-off-by Chaitanya Kulkarni <chaitanya.kulkarni at wdc.com>
--- nvme.c | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-)
nvme.c +19 -13
@@ -853,6 +853,18 @@ static int list_ns(int argc, char **argv, struct command *cmd, struct plugin *plreturn err; } +static int get_nsid (int fd) +{ +int nsid =nvme_get_nsid (fd); + +if (nsid <=0 ) { +fprintf (stderr, +"%s: failed to return namespace id\n" , + devicename); + } +return nsid; +} +static int delete_ns (int argc,char **argv,struct command *cmd,struct plugin *plugin) {const char *desc ="Delete the given namespace by " \
@@ -881,7 +893,13 @@ static int delete_ns(int argc, char **argv, struct command *cmd, struct plugin *if (fd <0 )return fd; -if (!cfg.namespace_id) { +if (S_ISBLK (nvme_stat.st_mode)) { + cfg.namespace_id =get_nsid (fd); +if (cfg.namespace_id ==0 ) { + err =EINVAL ; + goto close_fd; + } + }else if (!cfg.namespace_id) {fprintf (stderr,"%s: namespace-id parameter required\n" , cmd->name); err =EINVAL ;
@@ -1526,18 +1544,6 @@ static int list(int argc, char **argv, struct command *cmd, struct plugin *plugireturn 0 ; } -static int get_nsid (int fd) -{ -int nsid =nvme_get_nsid (fd); - -if (nsid <=0 ) { -fprintf (stderr, -"%s: failed to return namespace id\n" , - devicename); - } -return nsid; -} -int __id_ctrl (int argc,char **argv,struct command *cmd,struct plugin *plugin,void (*vs)(__u8 *vs,struct json_object *root)) {const char *desc ="Send an Identify Controller command to " \
Signature · 1 line
2.14.1
PATCH 1/1 nvme-cli: allow block device for delete-ns
Looks good,
Reviewed-by: Johannes Thumshirn <jthumshirn at suse.de>
Signature · 6 lines
Johannes Thumshirn Storage jthumshirn at suse.de +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 N?rnberg GF: Felix Imend?rffer, Jane Smithard, Graham Norton HRB 21284 (AG N?rnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
Keith Busch
AppliedPATCH 1/1 nvme-cli: allow block device for delete-ns
Thanks, applied with a minor fixup to check for nsid <= 0 instead of just == 0.