On 9/12/23 21:52, Shin'ichiro Kawasaki wrote:
When write workloads run on zoned block devices, mq-deadline scheduler is required to ensure write operations are sequential. To fulfill this requirement, the test script t/zbd/test-zbd-support sets mq-deadline to the sysfs attribute "queue/scheduler". However, this preparation does not work when the write target device is a bio based device-mapper device. The device is bio based then I/O scheduler does not work. Setting mq-deadline to the sysfs attribute has no effect. On top of that, the sysfs attribute "queue/scheduler" is no longer available for bio based device-mapper devices since Linux kernel version v6.5. To ensure mq-deadline scheduler for bio based device-mapper devices, improve the helper function set_io_scheduler. If the sysfs attribute "queue/scheduler" is available, use it. Otherwise, check if the test device is a zoned device-mapper (linear, flakey or crypt). If so, set mq-deadline scheduler to destination devices of the device-mapper device. To implement these, add some helper functions. Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx>
Applied. Thanks. Vincent