]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
nvme: reduce identify cmd issue
authorSteven Seungcheol Lee <sc108.lee@samsung.com>
Fri, 3 Nov 2023 00:48:48 +0000 (09:48 +0900)
committerDaniel Wagner <wagi@monom.org>
Fri, 3 Nov 2023 08:53:51 +0000 (09:53 +0100)
Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
nvme.c

diff --git a/nvme.c b/nvme.c
index 06bd64cf40f6da5bbd550d382bfde0bb8663d66e..6462ec3dd957564aa9d7571a8d160349a6f304b6 100644 (file)
--- a/nvme.c
+++ b/nvme.c
@@ -7106,7 +7106,7 @@ static int submit_io(int opcode, char *command, const char *desc, int argc, char
        int mode = 0644;
        __u16 control = 0, nblocks = 0;
        __u32 dsmgmt = 0;
-       int logical_block_size = 0;
+       unsigned int logical_block_size = 0;
        unsigned long long buffer_size = 0, mbuffer_size = 0;
        bool huge;
        _cleanup_nvme_dev_ struct nvme_dev *dev = NULL;
@@ -7277,9 +7277,6 @@ static int submit_io(int opcode, char *command, const char *desc, int argc, char
                goto close_mfd;
        }
 
-       if (nvme_get_logical_block_size(dev_fd(dev), cfg.namespace_id, &logical_block_size) < 0)
-               goto close_mfd;
-
        ns = nvme_alloc(sizeof(*ns));
        if (!ns) {
                err = -ENOMEM;
@@ -7296,6 +7293,7 @@ static int submit_io(int opcode, char *command, const char *desc, int argc, char
        }
 
        nvme_id_ns_flbas_to_lbaf_inuse(ns->flbas, &lba_index);
+       logical_block_size = 1 << ns->lbaf[lba_index].ds;
        ms = ns->lbaf[lba_index].ms;
        if (NVME_FLBAS_META_EXT(ns->flbas)) {
                /*