mbox series

[blktests,0/1] common/xfs: verify xfs_io supports statx atomic write attributes

Message ID 20250225183108.3881328-1-alan.adamson@oracle.com (mailing list archive)
Headers show
Series common/xfs: verify xfs_io supports statx atomic write attributes | expand

Message

Alan Adamson Feb. 25, 2025, 6:31 p.m. UTC
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@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@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@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!