[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aJHVIRNCQ70Vmbtl@li-dc0c254c-257c-11b2-a85c-98b6c1322444.ibm.com>
Date: Tue, 5 Aug 2025 15:25:45 +0530
From: Ojaswin Mujoo <ojaswin@...ux.ibm.com>
To: John Garry <john.g.garry@...cle.com>
Cc: zlang@...hat.com, djwong@...nel.org, fstests@...r.kernel.org,
linux-xfs@...r.kernel.org, linux-ext4@...r.kernel.org,
catherine.hoang@...cle.com
Subject: Re: [PATCH] generic/765: modify some steps to fix test
On Thu, Jul 31, 2025 at 09:18:13AM +0000, John Garry wrote:
> Now that multi-block atomics writes are supported, some of the test steps
> are failing. Those steps relied on supporting single-block atomic writes
> only.
>
> The current test steps are as follows:
> a. Ensure statx for bdev returns same awu_min/max as from sysfs
> b. test mkfs for each size of bdev atomic writes capabilities and supported
> FS block size
> c. Ensure atomic limits for file match block size for each in b.
> d. Ensure that we can atomic write block size for each in b.
> e. Ensure that we cannot write file for 2* bdev awu_max or bdev awu_max /2
>
> Make test pass again by:
> 1. Modify c. to ensure file awu_max >= block size
> 2. dropping e. We already have tests to ensure that we can only write a
> size >= awu_min and <= awu_max in generic/767
>
Hi John,
Changes look good, feel free to add:
Reviewed-by: Ojaswin Mujoo <ojaswin@...ux.ibm.com>
Regards,
ojaswin
> Signed-off-by: John Garry <john.g.garry@...cle.com>
>
> diff --git a/tests/generic/765 b/tests/generic/765
> index 71604e5e..8c4e0bd0 100755
> --- a/tests/generic/765
> +++ b/tests/generic/765
> @@ -84,8 +84,8 @@ test_atomic_writes()
> # Check that atomic min/max = FS block size
> test $file_min_write -eq $bsize || \
> echo "atomic write min $file_min_write, should be fs block size $bsize"
> - test $file_max_write -eq $bsize || \
> - echo "atomic write max $file_max_write, should be fs block size $bsize"
> + test $file_max_write -ge $bsize || \
> + echo "atomic write max $file_max_write, should be at least fs block size $bsize"
> test $file_max_segments -eq 1 || \
> echo "atomic write max segments $file_max_segments, should be 1"
>
> @@ -94,34 +94,6 @@ test_atomic_writes()
> _scratch_unmount
> }
>
> -test_atomic_write_bounds()
> -{
> - local bsize=$1
> -
> - get_mkfs_opts $bsize
> - _scratch_mkfs $mkfs_opts >> $seqres.full
> - _scratch_mount
> -
> - test "$FSTYP" = "xfs" && _xfs_force_bdev data $SCRATCH_MNT
> -
> - testfile=$SCRATCH_MNT/testfile
> - touch $testfile
> -
> - file_min_write=$(_get_atomic_write_unit_min $testfile)
> - file_max_write=$(_get_atomic_write_unit_max $testfile)
> - file_max_segments=$(_get_atomic_write_segments_max $testfile)
> -
> - echo "test awb $bsize --------------" >> $seqres.full
> - echo "file awu_min $file_min_write" >> $seqres.full
> - echo "file awu_max $file_max_write" >> $seqres.full
> - echo "file awu_segments $file_max_segments" >> $seqres.full
> -
> - $XFS_IO_PROG -dc "pwrite -A -D -V1 -b $bsize 0 $bsize" $testfile 2>> $seqres.full && \
> - echo "atomic write should fail when bsize is out of bounds"
> -
> - _scratch_unmount
> -}
> -
> sys_min_write=$(cat "/sys/block/$(_short_dev $SCRATCH_DEV)/queue/atomic_write_unit_min_bytes")
> sys_max_write=$(cat "/sys/block/$(_short_dev $SCRATCH_DEV)/queue/atomic_write_unit_max_bytes")
>
> @@ -150,14 +122,6 @@ for ((bsize=$bdev_min_write; bsize<=bdev_max_write; bsize*=2)); do
> fi
> done;
>
> -# Check that atomic write fails if bsize < bdev min or bsize > bdev max
> -if [ $((bdev_min_write / 2)) -ge "$min_bsize" ]; then
> - test_atomic_write_bounds $((bdev_min_write / 2))
> -fi
> -if [ $((bdev_max_write * 2)) -le "$max_bsize" ]; then
> - test_atomic_write_bounds $((bdev_max_write * 2))
> -fi
> -
> # success, all done
> echo Silence is golden
> status=0
> --
> 2.43.5
>
Powered by blists - more mailing lists