Message ID | 20210128044733.503606-4-damien.lemoal@wdc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | block: add zone write granularity limit | expand |
On 1/27/21 20:47, Damien Le Moal wrote: > Use blk_queue_set_zoned() to set a nullb device zone model instead of > directly assigning the device queue zoned limit. This initialization of > the devicve zoned model as well as the setup of the queue flag > QUEUE_FLAG_ZONE_RESETALL and of the device queue elevator feature are > moved from null_init_zoned_dev() to null_register_zoned_dev() so that > the initialization of the queue limits is done when the gendisk of the > nullb device is available. > > Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com> Looks good. Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
On Thu, Jan 28, 2021 at 01:47:28PM +0900, Damien Le Moal wrote: > Use blk_queue_set_zoned() to set a nullb device zone model instead of > directly assigning the device queue zoned limit. This initialization of > the devicve zoned model as well as the setup of the queue flag > QUEUE_FLAG_ZONE_RESETALL and of the device queue elevator feature are > moved from null_init_zoned_dev() to null_register_zoned_dev() so that > the initialization of the queue limits is done when the gendisk of the > nullb device is available. Looks good, Reviewed-by: Christoph Hellwig <hch@lst.de>
Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
diff --git a/drivers/block/null_blk/zoned.c b/drivers/block/null_blk/zoned.c index 148b871f263b..78cae8703dcf 100644 --- a/drivers/block/null_blk/zoned.c +++ b/drivers/block/null_blk/zoned.c @@ -146,10 +146,6 @@ int null_init_zoned_dev(struct nullb_device *dev, struct request_queue *q) sector += dev->zone_size_sects; } - q->limits.zoned = BLK_ZONED_HM; - blk_queue_flag_set(QUEUE_FLAG_ZONE_RESETALL, q); - blk_queue_required_elevator_features(q, ELEVATOR_F_ZBD_SEQ_WRITE); - return 0; } @@ -158,6 +154,10 @@ int null_register_zoned_dev(struct nullb *nullb) struct nullb_device *dev = nullb->dev; struct request_queue *q = nullb->q; + blk_queue_set_zoned(nullb->disk, BLK_ZONED_HM); + blk_queue_flag_set(QUEUE_FLAG_ZONE_RESETALL, q); + blk_queue_required_elevator_features(q, ELEVATOR_F_ZBD_SEQ_WRITE); + if (queue_is_mq(q)) { int ret = blk_revalidate_disk_zones(nullb->disk, NULL);
Use blk_queue_set_zoned() to set a nullb device zone model instead of directly assigning the device queue zoned limit. This initialization of the devicve zoned model as well as the setup of the queue flag QUEUE_FLAG_ZONE_RESETALL and of the device queue elevator feature are moved from null_init_zoned_dev() to null_register_zoned_dev() so that the initialization of the queue limits is done when the gendisk of the nullb device is available. Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com> --- drivers/block/null_blk/zoned.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)