[PATCH 1/2] xfs/656: rearrange directio pread/pwrite for zoned filesystems

"Darrick J. Wong" <[email protected]> Wed, 1 Jul 2026 20:55:23 -0700
Newsgroups org.kernel.vger.fstests,org.kernel.vger.linux-xfs
Message-ID <20260702035523.GA9381@frogsfrogsfrogs>
From: Darrick J. Wong <[email protected]>

On zoned filesystems, a write failure shuts down the filesystem, which
makes this test fail with:

 --- /run/fstests/bin/tests/xfs/656.out	2026-03-13 16:19:08.152939212 -0700
 +++ /run/fstests/logs/xfs/656.out.bad	2026-06-30 18:16:43.847849604 -0700
 @@ -1,10 +1,9 @@
  QA output created by 656
  Format and mount
  pwrite: Input/output error
 -pread: Input/output error
 +stat: Input/output error
  pread: Input/output error
  fsync: Input/output error
  VICTIM pos NUM len NUM: directio_write: Input/output error
 -VICTIM pos NUM len NUM: directio_read: Input/output error
  VICTIM pos NUM len NUM: buffered_read: Input/output error
  VICTIM pos NUM len NUM: buffered_write: Input/output error

Reorder the directio pread and pwrite to avoid this unnecessary failure.
Note that we cycle the mount between the direct and buffered io tests,
which is why we only need to fix the directio test.

Signed-off-by: "Darrick J. Wong" <[email protected]>
---
 tests/xfs/656     |    2 +-
 tests/xfs/656.out |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/xfs/656 b/tests/xfs/656
index 3a867692502134..df91bbdacea222 100755
--- a/tests/xfs/656
+++ b/tests/xfs/656
@@ -65,8 +65,8 @@ $XFS_IO_PROG -c 'healthmon -c -v' $SCRATCH_MNT >> $tmp.healthmon &
 healer_pid=$!
 sleep 1	# wait for program to start up
 _dmerror_load_error_table
-$XFS_IO_PROG -d -c 'pwrite -b 256k 12k 16k' $testfile >> $seqres.full
 $XFS_IO_PROG -d -c 'pread -b 256k 10g 16k' $testfile >> $seqres.full
+$XFS_IO_PROG -d -c 'pwrite -b 256k 12k 16k' $testfile >> $seqres.full
 _dmerror_load_working_table
 
 _dmerror_unmount
diff --git a/tests/xfs/656.out b/tests/xfs/656.out
index 83b2f5948a772b..4d6633060acdd0 100644
--- a/tests/xfs/656.out
+++ b/tests/xfs/656.out
@@ -1,10 +1,10 @@
 QA output created by 656
 Format and mount
+pread: Input/output error
 pwrite: Input/output error
 pread: Input/output error
-pread: Input/output error
 fsync: Input/output error
-VICTIM pos NUM len NUM: directio_write: Input/output error
 VICTIM pos NUM len NUM: directio_read: Input/output error
+VICTIM pos NUM len NUM: directio_write: Input/output error
 VICTIM pos NUM len NUM: buffered_read: Input/output error
 VICTIM pos NUM len NUM: buffered_write: Input/output error