From: Zhang Yi <yi.zh...@huawei.com> Change since v2: - Modify the sysfs interfaces according to the kernel implementation. - Determine whether the kernel supports it by directly checking the existence of the sysfs interface, instead of using device_requries(). - Drop _short_dev() helper and directly use _real_dev() to acquire dm path. - Check the return value of setup_test_device(). - Fix the '"make check'" errors.
The Linux kernel (since version 6.17)[1] supports FALLOC_FL_WRITE_ZEROES in fallocate(2) and add max_{hw|user}_wzeroes_unmap_sectors parameters to the block device queue limit. These tests test those block device unmap write zeroes sysfs interface /sys/block/<disk>/queue/write_zeroes_max_bytes /sys/block/<disk>/queue/write_zeroes_unmap_max_hw_bytes with various SCSI/NVMe/device-mapper devices. The value of /sys/block//queue/write_zeroes_unmap_max_hw_bytes should be equal to a nonzero value of /sys/block//queue/write_zeroes_max_bytes if the block device supports the unmap write zeroes command; otherwise, it should return 0. We can also disable unmap write zeroes command by setting /sys/block/<disk>/queue/write_zeroes_max_bytes to 0. - scsi/010 test SCSI devices. - dm/003 test device mapper stacked devices. - nvme/065 test NVMe devices. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=278c7d9b5e0c Thanks, Yi. Zhang Yi (3): scsi/010: add unmap write zeroes tests dm/003: add unmap write zeroes tests nvme/065: add unmap write zeroes tests common/rc | 10 +++++ tests/dm/003 | 86 +++++++++++++++++++++++++++++++++++++++++ tests/dm/003.out | 2 + tests/nvme/065 | 96 ++++++++++++++++++++++++++++++++++++++++++++++ tests/nvme/065.out | 4 ++ tests/scsi/010 | 84 ++++++++++++++++++++++++++++++++++++++++ tests/scsi/010.out | 2 + 7 files changed, 284 insertions(+) create mode 100755 tests/dm/003 create mode 100644 tests/dm/003.out create mode 100755 tests/nvme/065 create mode 100644 tests/nvme/065.out create mode 100755 tests/scsi/010 create mode 100644 tests/scsi/010.out -- 2.39.2