xfs/656: rearrange directio pread/pwrite for zoned filesystems

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" <djwong@kernel.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Zorro Lang <zlang@kernel.org>
Signed-off-by: Zorro Lang <zlang@kernel.org>
diff --git a/tests/xfs/656 b/tests/xfs/656
index 3830d71..c01276e 100755
--- a/tests/xfs/656
+++ b/tests/xfs/656
@@ -66,8 +66,8 @@
 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 83b2f59..4d66330 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