Skip to content

Commit a442b89

Browse files
damien-lemoalmartinkpetersen
authored andcommitted
scsi: block: nullblk: Set zone limits before revalidating zones
In null_register_zoned_dev(), execute blk_queue_chunk_sectors() and blk_queue_max_zone_append_sectors() to respectively set the zoned device zone size and maximum zone append sector limit before executing blk_revalidate_disk_zones(). This is to allow the block layer zone reavlidation to check these device characteristics prior to checking all zones of the device. Signed-off-by: Damien Le Moal <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Bart Van Assche <[email protected]> Reviewed-by: Johannes Thumshirn <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
1 parent d226b0a commit a442b89

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

drivers/block/null_blk/zoned.c

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -162,21 +162,15 @@ int null_register_zoned_dev(struct nullb *nullb)
162162
disk_set_zoned(nullb->disk, BLK_ZONED_HM);
163163
blk_queue_flag_set(QUEUE_FLAG_ZONE_RESETALL, q);
164164
blk_queue_required_elevator_features(q, ELEVATOR_F_ZBD_SEQ_WRITE);
165-
166-
if (queue_is_mq(q)) {
167-
int ret = blk_revalidate_disk_zones(nullb->disk, NULL);
168-
169-
if (ret)
170-
return ret;
171-
} else {
172-
blk_queue_chunk_sectors(q, dev->zone_size_sects);
173-
nullb->disk->nr_zones = bdev_nr_zones(nullb->disk->part0);
174-
}
175-
165+
blk_queue_chunk_sectors(q, dev->zone_size_sects);
166+
nullb->disk->nr_zones = bdev_nr_zones(nullb->disk->part0);
176167
blk_queue_max_zone_append_sectors(q, dev->zone_size_sects);
177168
disk_set_max_open_zones(nullb->disk, dev->zone_max_open);
178169
disk_set_max_active_zones(nullb->disk, dev->zone_max_active);
179170

171+
if (queue_is_mq(q))
172+
return blk_revalidate_disk_zones(nullb->disk, NULL);
173+
180174
return 0;
181175
}
182176

0 commit comments

Comments
 (0)