nvme: use set_capacity_and_notify in nvme_set_queue_dying
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>
This commit is contained in:
committed by
Jens Axboe
parent
657985f857
commit
d17e66aadb
@ -93,16 +93,6 @@ static void nvme_put_subsystem(struct nvme_subsystem *subsys);
|
|||||||
static void nvme_remove_invalid_namespaces(struct nvme_ctrl *ctrl,
|
static void nvme_remove_invalid_namespaces(struct nvme_ctrl *ctrl,
|
||||||
unsigned nsid);
|
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_set_queue_dying(ns->queue);
|
||||||
blk_mq_unquiesce_queue(ns->queue);
|
blk_mq_unquiesce_queue(ns->queue);
|
||||||
|
|
||||||
set_capacity(ns->disk, 0);
|
set_capacity_and_notify(ns->disk, 0);
|
||||||
nvme_update_bdev_size(ns->disk);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void nvme_queue_scan(struct nvme_ctrl *ctrl)
|
static void nvme_queue_scan(struct nvme_ctrl *ctrl)
|
||||||
|
Reference in New Issue
Block a user