From b101e92e6ac6b29aabb87fe550d52bf3e71d26e7 Mon Sep 17 00:00:00 2001 From: Keith Busch Date: Thu, 4 Apr 2019 09:37:57 -0600 Subject: [PATCH] Fix format block size usage Block size is valid only if formatting a specific namespace can be queried. Signed-off-by: Keith Busch --- nvme.c | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/nvme.c b/nvme.c index d8646620..dca029ad 100644 --- a/nvme.c +++ b/nvme.c @@ -3140,32 +3140,9 @@ static int format(int argc, char **argv, struct command *cmd, struct plugin *plu "Please correct block size, or specify LBAF directly\n"); return EINVAL; } - } - } - if (cfg.bs) { - __u64 bs = cfg.bs; - bs = bs >> 1; - while (bs) { - ++lbads; - bs = bs >> 1; - } - for (i=0; i<16; ++i) { - if (ns.lbaf[i].ds == lbads && ns.lbaf[i].ms == 0) { - cfg.lbaf = i; - break; - } - } - if (cfg.lbaf == 0xff) { - fprintf(stderr, - "LBAF corresponding to block size %"PRIu64" (LBAF %u) not found\n", - (uint64_t)cfg.bs, lbads); - fprintf(stderr, - "Please correct block size, or specify LBAF directly\n"); - return EINVAL; - } + } else if (cfg.lbaf == 0xff) + cfg.lbaf = prev_lbaf; } - if (cfg.lbaf == 0xff) - cfg.lbaf = prev_lbaf; /* ses & pi checks set to 7 for forward-compatibility */ if (cfg.ses > 7) { -- 2.50.1