null_blk: Do not request ELEVATOR_F_ZBD_SEQ_WRITE elevator feature
authorDamien Le Moal <dlemoal@kernel.org>
Mon, 8 Apr 2024 01:41:15 +0000 (10:41 +0900)
committerJens Axboe <axboe@kernel.dk>
Wed, 17 Apr 2024 14:44:03 +0000 (08:44 -0600)
With zone write plugging enabled at the block layer level, a zoned
device can only ever see at most a single write operation per zone.
There is thus no need to request a block scheduler with strick per-zone
sequential write ordering control through the ELEVATOR_F_ZBD_SEQ_WRITE
feature. Removing this allows using a zoned null_blk device with any
scheduler, including "none".

Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Tested-by: Hans Holmberg <hans.holmberg@wdc.com>
Tested-by: Dennis Maisenbacher <dennis.maisenbacher@wdc.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Link: https://lore.kernel.org/r/20240408014128.205141-16-dlemoal@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/null_blk/zoned.c

index 1689e25841048355f5f3babf4f9c9e8bbca5cd1d..8e217f8fadcd1eb31567c985a2bae2ea1d12badf 100644 (file)
@@ -165,7 +165,6 @@ int null_register_zoned_dev(struct nullb *nullb)
        struct request_queue *q = nullb->q;
 
        blk_queue_flag_set(QUEUE_FLAG_ZONE_RESETALL, q);
-       blk_queue_required_elevator_features(q, ELEVATOR_F_ZBD_SEQ_WRITE);
        nullb->disk->nr_zones = bdev_nr_zones(nullb->disk->part0);
        return blk_revalidate_disk_zones(nullb->disk, NULL);
 }