-
- Downloads
block: pre-calculate max_zone_append_sectors
max_zone_append_sectors differs from all other queue limits in that the final value used is not stored in the queue_limits but needs to be obtained using queue_limits_max_zone_append_sectors helper. This not only adds (tiny) extra overhead to the I/O path, but also can be easily forgotten in file system code. Add a new max_hw_zone_append_sectors value to queue_limits which is set by the driver, and calculate max_zone_append_sectors from that and the other inputs in blk_validate_zoned_limits, similar to how max_sectors is calculated to fix this. Signed-off-by:Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/20241104073955.112324-3-hch@lst.de Signed-off-by:
Jens Axboe <axboe@kernel.dk>
Showing
- block/blk-core.c 1 addition, 1 deletionblock/blk-core.c
- block/blk-merge.c 1 addition, 2 deletionsblock/blk-merge.c
- block/blk-settings.c 12 additions, 13 deletionsblock/blk-settings.c
- block/blk-sysfs.c 3 additions, 14 deletionsblock/blk-sysfs.c
- drivers/block/null_blk/zoned.c 1 addition, 1 deletiondrivers/block/null_blk/zoned.c
- drivers/block/ublk_drv.c 1 addition, 1 deletiondrivers/block/ublk_drv.c
- drivers/block/virtio_blk.c 1 addition, 1 deletiondrivers/block/virtio_blk.c
- drivers/md/dm-zone.c 2 additions, 2 deletionsdrivers/md/dm-zone.c
- drivers/nvme/host/multipath.c 1 addition, 1 deletiondrivers/nvme/host/multipath.c
- drivers/nvme/host/zns.c 1 addition, 1 deletiondrivers/nvme/host/zns.c
- drivers/scsi/sd_zbc.c 0 additions, 2 deletionsdrivers/scsi/sd_zbc.c
- include/linux/blkdev.h 3 additions, 18 deletionsinclude/linux/blkdev.h
Loading
Please register or sign in to comment