nvme: use set_capacity_and_notify in nvme_set_queue_dying
authorChristoph Hellwig <hch@lst.de>
Mon, 16 Nov 2020 14:57:05 +0000 (15:57 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 16 Nov 2020 15:34:14 +0000 (08:34 -0700)
Use the block layer helper to update both the disk and block device
sizes.  Contrary to the name no notification is sent in this case,
as a size 0 is special cased.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/nvme/host/core.c

index 6c144e7..bc89e86 100644 (file)
@@ -93,16 +93,6 @@ static void nvme_put_subsystem(struct nvme_subsystem *subsys);
 static void nvme_remove_invalid_namespaces(struct nvme_ctrl *ctrl,
                                           unsigned nsid);
 
 static void nvme_remove_invalid_namespaces(struct nvme_ctrl *ctrl,
                                           unsigned nsid);
 
-static void nvme_update_bdev_size(struct gendisk *disk)
-{
-       struct block_device *bdev = bdget_disk(disk, 0);
-
-       if (bdev) {
-               bd_set_nr_sectors(bdev, get_capacity(disk));
-               bdput(bdev);
-       }
-}
-
 /*
  * Prepare a queue for teardown.
  *
 /*
  * Prepare a queue for teardown.
  *
@@ -119,8 +109,7 @@ static void nvme_set_queue_dying(struct nvme_ns *ns)
        blk_set_queue_dying(ns->queue);
        blk_mq_unquiesce_queue(ns->queue);
 
        blk_set_queue_dying(ns->queue);
        blk_mq_unquiesce_queue(ns->queue);
 
-       set_capacity(ns->disk, 0);
-       nvme_update_bdev_size(ns->disk);
+       set_capacity_and_notify(ns->disk, 0);
 }
 
 static void nvme_queue_scan(struct nvme_ctrl *ctrl)
 }
 
 static void nvme_queue_scan(struct nvme_ctrl *ctrl)