From 338f8a81c555cda98ddd3a753c8223c6ac0165e7 Mon Sep 17 00:00:00 2001 From: Steven Seungcheol Lee Date: Fri, 15 May 2020 16:13:02 +0900 Subject: [PATCH] nvme.c: remove side effects from older commit If there is given nsid by user, no need to set using nvme_get_nsid. (e770466615096a6d41f038a28819b00bc3078e1d) Format for All namespace not using prev_lbaf. (62ae3bea42cb3a81cc77492568747a330f783100) Signed-off-by: Steven Seungcheol Lee --- nvme.c | 54 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 32 insertions(+), 22 deletions(-) diff --git a/nvme.c b/nvme.c index 9f40477..a38e558 100644 --- a/nvme.c +++ b/nvme.c @@ -1027,14 +1027,16 @@ static int delete_ns(int argc, char **argv, struct command *cmd, struct plugin * if (fd < 0) goto ret; - cfg.namespace_id = nvme_get_nsid(fd); - if (cfg.namespace_id == 0) { - err = -EINVAL; - goto close_fd; - } - if (cfg.namespace_id < 0) { - err = cfg.namespace_id; - goto close_fd; + if (!cfg.namespace_id) { + cfg.namespace_id = nvme_get_nsid(fd); + if (cfg.namespace_id == 0) { + err = -EINVAL; + goto close_fd; + } + else if (cfg.namespace_id < 0) { + err = cfg.namespace_id; + goto close_fd; + } } err = nvme_ns_delete(fd, cfg.namespace_id, cfg.timeout); @@ -1572,12 +1574,13 @@ static int id_ns(int argc, char **argv, struct command *cmd, struct plugin *plug err = cfg.namespace_id; goto close_fd; } - } else if (!cfg.namespace_id) { - fprintf(stderr, - "Error: requesting namespace-id from non-block device\n"); - err = -ENOTBLK; - goto close_fd; - } + else if (!cfg.namespace_id) { + fprintf(stderr, + "Error: requesting namespace-id from non-block device\n"); + err = -ENOTBLK; + goto close_fd; + } + } err = nvme_identify_ns(fd, cfg.namespace_id, cfg.force, &ns); if (!err) @@ -2769,10 +2772,12 @@ static int format(int argc, char **argv, struct command *cmd, struct plugin *plu */ cfg.namespace_id = NVME_NSID_ALL; } else { - cfg.namespace_id = nvme_get_nsid(fd); - if (cfg.namespace_id < 0) { - err = cfg.namespace_id; - goto close_fd; + if (!cfg.namespace_id) { + cfg.namespace_id = nvme_get_nsid(fd); + if (cfg.namespace_id < 0) { + err = cfg.namespace_id; + goto close_fd; + } } } @@ -2818,6 +2823,9 @@ static int format(int argc, char **argv, struct command *cmd, struct plugin *plu } else if (cfg.lbaf == 0xff) cfg.lbaf = prev_lbaf; } + else { + if (cfg.lbaf == 0xff) cfg.lbaf = 0; + } /* ses & pi checks set to 7 for forward-compatibility */ if (cfg.ses > 7) { @@ -3526,10 +3534,12 @@ static int flush(int argc, char **argv, struct command *cmd, struct plugin *plug if (fd < 0) goto ret; - cfg.namespace_id = nvme_get_nsid(fd); - if (cfg.namespace_id < 0) { - err = cfg.namespace_id; - goto close_fd; + if (!cfg.namespace_id) { + cfg.namespace_id = nvme_get_nsid(fd); + if (cfg.namespace_id < 0) { + err = cfg.namespace_id; + goto close_fd; + } } err = nvme_flush(fd, cfg.namespace_id); -- 2.49.0