]> www.infradead.org Git - users/hch/nvme-cli.git/commitdiff
nvme.c: remove side effects from older commit
authorSteven Seungcheol Lee <sc108.lee@samsung.com>
Fri, 15 May 2020 07:13:02 +0000 (16:13 +0900)
committerKeith Busch <kbusch@kernel.org>
Fri, 15 May 2020 14:39:28 +0000 (08:39 -0600)
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 <sc108.lee@samsung.com>
nvme.c

diff --git a/nvme.c b/nvme.c
index 9f404776139fe6be2912afeb12ae6e3f48295c9f..a38e5587f2862e5def510fd1bed670ae5d7f62c9 100644 (file)
--- 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);