lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ