nvme: clean up the check for too large logic block sizes
authorChristoph Hellwig <hch@lst.de>
Mon, 28 Sep 2020 10:03:13 +0000 (12:03 +0200)
committerChristoph Hellwig <hch@lst.de>
Wed, 7 Oct 2020 05:56:18 +0000 (07:56 +0200)
Use a single statement to set both the capacity and fake block size
instead of two.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/host/core.c

index 82cd03c..0114fe4 100644 (file)
@@ -2017,8 +2017,12 @@ static void nvme_update_disk_info(struct gendisk *disk,
        unsigned short bs = 1 << ns->lba_shift;
        u32 atomic_bs, phys_bs, io_opt = 0;
 
+       /*
+        * The block layer can't support LBA sizes larger than the page size
+        * yet, so catch this early and don't allow block I/O.
+        */
        if (ns->lba_shift > PAGE_SHIFT) {
-               /* unsupported block size, set capacity to 0 later */
+               capacity = 0;
                bs = (1 << 9);
        }
 
@@ -2055,13 +2059,6 @@ static void nvme_update_disk_info(struct gendisk *disk,
        blk_queue_io_min(disk->queue, phys_bs);
        blk_queue_io_opt(disk->queue, io_opt);
 
-       /*
-        * The block layer can't support LBA sizes larger than the page size
-        * yet, so catch this early and don't allow block I/O.
-        */
-       if (ns->lba_shift > PAGE_SHIFT)
-               capacity = 0;
-
        /*
         * Register a metadata profile for PI, or the plain non-integrity NVMe
         * metadata masquerading as Type 0 if supported, otherwise reject block