[PATCH blktests 0/1] common/xfs: verify xfs_io supports statx atomic write attributes
Alan Adamson
alan.adamson at oracle.com
Tue Feb 25 10:31:07 PST 2025
The xfs_io utility is used to perform atomic pwritev2 and statx system calls.
The atomic pwritev2 was supported in xfs_io v6.11.0 and atomic statx was
added to v6.12.0 so _have_xfs_io_atomic_write() needs to be modified to
check for both atomic pwritev2 (-A) and atomic statx.
TEST RESULTS
============
Using xfs_io version 6.11.0:
[root at localhost blktests.x]# ./check scsi/009
scsi/*** => nvme0n1 [not run]
/dev/nvme0n1 is not a SCSI device
scsi/009 => sdb (test scsi atomic writes) [failed]
runtime 0.156s ... 0.148s
--- tests/scsi/009.out 2025-02-24 17:04:22.372544559 -0500
+++ /root/blktests.x/results/sdb/scsi/009.out.bad 2025-02-24 17:50:33.256602965 -0500
@@ -3,8 +3,8 @@
TEST 2 - check scsi_debug atomic_wr_max_length is the same as sysfs atomic_write_max_bytes - pass
TEST 3 - check sysfs atomic_write_unit_max_bytes <= scsi_debug atomic_wr_max_length - pass
TEST 4 - check sysfs atomic_write_unit_min_bytes = scsi_debug atomic_wr_gran - pass
-TEST 5 - check statx stx_atomic_write_unit_min - pass
-TEST 6 - check statx stx_atomic_write_unit_max - pass
+TEST 5 - check statx stx_atomic_write_unit_min - fail - 1024
+TEST 6 - check statx stx_atomic_write_unit_max - fail - 524288
...
(Run 'diff -u tests/scsi/009.out /root/blktests.x/results/sdb/scsi/009.out.bad' to see the entire diff)
[root at localhost blktests.x]# ./check nvme/059
nvme/059 => nvme0n1 (test atomic writes) [failed]
runtime 0.035s ... 0.036s
--- tests/nvme/059.out 2025-02-24 17:04:22.371132656 -0500
+++ /root/blktests.x/results/nvme0n1/nvme/059.out.bad 2025-02-24 17:50:36.383906336 -0500
@@ -1,8 +1,8 @@
Running nvme/059
TEST 1 - Verify sysfs attributes - pass
TEST 2 - Verify sysfs atomic_write_unit_max_bytes is consistent with NVMe AWUPF/NAWUPF - pass
-TEST 3 - Verify statx is correctly reporting atomic_unit_max_bytes - pass
-TEST 4 - Verify statx is correctly reporting atomic_unit_min_bytes - pass
+TEST 3 - Verify statx is correctly reporting atomic_unit_max_bytes - fail - 16384
+TEST 4 - Verify statx is correctly reporting atomic_unit_min_bytes - fail - 512
...
(Run 'diff -u tests/nvme/059.out /root/blktests.x/results/nvme0n1/nvme/059.out.bad' to see the entire diff)
[root at localhost blktests.x]#
Testing by czhong:
the default xfs_io version is 6.11.0 on my system,
after applied your patch:
# xfs_io -V
xfs_io version 6.11.0
# ./check scsi/009
scsi/*** => nvme1n1 [not run]
/dev/nvme1n1 is not a SCSI device
scsi/009 => sdb (test scsi atomic writes) [not run]
xfs_io does not support the statx atomic write fields
# ./check nvme/059
nvme/059 => nvme1n1 (test atomic writes) [not run]
runtime 0.081s ...
xfs_io does not support the statx atomic write fields
and then I upgrade the xfs_io to 6.13.0:
# xfs_io -V
xfs_io version 6.13.0
# ./check scsi/009
scsi/*** => nvme1n1 [not run]
/dev/nvme1n1 is not a SCSI device
scsi/009 => sdb (test scsi atomic writes) [passed]
runtime ... 0.271s
]# ./check nvme/059
nvme/059 => nvme1n1 (test atomic writes) [passed]
runtime ... 0.078s
everything looks good now!!
please merge your new patch to the repo,
Thanks!
More information about the Linux-nvme
mailing list