From: Steven Seungcheol Lee Date: Fri, 3 Nov 2023 00:48:48 +0000 (+0900) Subject: nvme: reduce identify cmd issue X-Git-Tag: v2.7~107 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=8e737c1bb08427c2811ed4cc9d663a1d3bb18411;p=users%2Fsagi%2Fnvme-cli.git nvme: reduce identify cmd issue Signed-off-by: Steven Seungcheol Lee --- diff --git a/nvme.c b/nvme.c index 06bd64cf..6462ec3d 100644 --- 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)) { /*