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

Zorro Lang <[email protected]> Mon, 20 Jul 2026 03:31:09 +0800
Newsgroups org.kernel.vger.fstests,org.kernel.vger.linux-xfs
Message-ID <al0l5_nNes-8HM-l@zlang-mailbox>
On Fri, Jul 10, 2026 at 07:27:33AM +0200, Christoph Hellwig wrote:
> 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]>
> Signed-off-by: Christoph Hellwig <[email protected]>
> ---

Looks good to me,
Reviewed-by: Zorro Lang <[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 3830d7193fcb..c01276eb384b 100755
> --- a/tests/xfs/656
> +++ b/tests/xfs/656
> @@ -66,8 +66,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 83b2f5948a77..4d6633060acd 100644
> --- a/tests/xfs/656.out
> +++ b/tests/xfs/656.out
> @@ -1,10 +1,10 @@
>  QA output created by 656
>  Format and mount
> -pwrite: Input/output error
>  pread: Input/output error
> +pwrite: 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
> -- 
> 2.53.0
>