On Jul 17, 2025 / 17:18, Damien Le Moal wrote: > On 2025/07/17 11:32, Shin'ichiro Kawasaki wrote: > > Since commit f70291411ba2 ("block: Introduce > > bio_needs_zone_write_plugging()"), blk_mq_submit_bio() no longer splits > > write BIOs to comply with the requirements of zoned block devices. This > > change applies to write BIOs issued by zoned DM targets. Following this > > modification, it is expected that DM targets themselves split write BIOs > > for zoned block devices. > > This description is confusing: if the underlying device of a DM target is a > blk-mq block device, then blk_mq_submit_bio() will be called and will split > BIOs > as needed, regardless of what the DM target did. For BIOs that are issued by > the > user/FS to the DM device, then that is when bio_needs_zone_write_plugging() is > used by DM core to determine if a BIO must be split. > > Anyway, I do not think you need to reference this commit. So I would drop this > entire paragraph from the commit message, and start the explanation with the > below paragraph. That is very clear I think. > > > Commit 2df7168717b7 ("dm: Always split write BIOs to zoned device > > limits") updates the device-mapper driver to perform splits for the > > write BIOs. However, it did not address the cases where DM targets do > > not emulate zone append, such as in the cases of dm-linear or dm-flakey. > > For these targets, when the write BIOs span across zone boundaries, they > > trigger WARN_ON_ONCE(bio_straddles_zones(bio)) in > > blk_zone_wplug_handle_write(). This results in I/O errors. The errors > > are reproduced by running blktests test case zbd/004 using zoned > > dm-linear or dm-flakey devices. > > > > To avoid the I/O errors, handle the write BIOs regardless whether DM > > targets emulate zone append or not, so that all write BIOs are split at > > zone boundaries. For that purpose, drop the check for zone append > > emulation in dm_zone_bio_needs_split(). Its argument 'md' is no longer > > used then drop it also. > > > > Fixes: 2df7168717b7 ("dm: Always split write BIOs to zoned device limits") > > Cc: sta...@vger.kernel.org > > The above patch is queued in block-next, so there is no need for this > CC-stable. > Remove it please. > > > Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawas...@wdc.com> > > One more nit below. > > With these fixed, feel free to add: > > Reviewed-by: Damien Le Moal <dlem...@kernel.org>
Thanks. I will reflect your comments and send out v2 soon.