block: Introduce bio_needs_zone_write_plugging()
authorDamien Le Moal <dlemoal@kernel.org>
Wed, 25 Jun 2025 09:33:24 +0000 (18:33 +0900)
committerJens Axboe <axboe@kernel.dk>
Mon, 30 Jun 2025 21:50:31 +0000 (15:50 -0600)
commitf70291411ba20d50008db90a6f0731efac27872c
tree24089ced03dd57bd0d4576252a5e5237bc2b3703
parent3f66ccbaaef3a0c5bd844eab04e3207b4061c546
block: Introduce bio_needs_zone_write_plugging()

In preparation for fixing device mapper zone write handling, introduce
the inline helper function bio_needs_zone_write_plugging() to test if a
BIO requires handling through zone write plugging using the function
blk_zone_plug_bio(). This function returns true for any write
(op_is_write(bio) == true) operation directed at a zoned block device
using zone write plugging, that is, a block device with a disk that has
a zone write plug hash table.

This helper allows simplifying the check on entry to blk_zone_plug_bio()
and used in to protect calls to it for blk-mq devices and DM devices.

Fixes: f211268ed1f9 ("dm: Use the block layer zone append emulation")
Cc: stable@vger.kernel.org
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20250625093327.548866-3-dlemoal@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c
block/blk-zoned.c
drivers/md/dm.c
include/linux/blkdev.h