Re: [PATCH v2 2/6] generic/765: adjust various things

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 19, 2025 at 06:33:56PM -0700, Catherine Hoang wrote:
> From: "Darrick J. Wong" <djwong@xxxxxxxxxx>
> 
> Fix some bugs when detecting the atomic write geometry, record what
> atomic write geometry we're testing each time through the loop, and
> create a group for atomic writes tests.
> 
> Signed-off-by: "Darrick J. Wong" <djwong@xxxxxxxxxx>
> Signed-off-by: Catherine Hoang <catherine.hoang@xxxxxxxxxx>
> Reviewed-by: John Garry <john.g.garry@xxxxxxxxxx>
> Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@xxxxxxxxx>

Looks good, feel free to add:
Reviewed-by: Ojaswin Mujoo <ojaswin@xxxxxxxxxxxxx>

Regards,
ojaswin

> ---
>  common/rc           |  4 ++--
>  doc/group-names.txt |  1 +
>  tests/generic/765   | 25 ++++++++++++++++++++++++-
>  3 files changed, 27 insertions(+), 3 deletions(-)
> 
> diff --git a/common/rc b/common/rc
> index 0ac90d3e..261fa72a 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -5442,13 +5442,13 @@ _get_atomic_write_unit_min()
>  _get_atomic_write_unit_max()
>  {
>  	$XFS_IO_PROG -c "statx -r -m $STATX_WRITE_ATOMIC" $1 | \
> -        grep atomic_write_unit_max | grep -o '[0-9]\+'
> +        grep -w atomic_write_unit_max | grep -o '[0-9]\+'
>  }
>  
>  _get_atomic_write_segments_max()
>  {
>  	$XFS_IO_PROG -c "statx -r -m $STATX_WRITE_ATOMIC" $1 | \
> -        grep atomic_write_segments_max | grep -o '[0-9]\+'
> +        grep -w atomic_write_segments_max | grep -o '[0-9]\+'
>  }
>  
>  _require_scratch_write_atomic()
> diff --git a/doc/group-names.txt b/doc/group-names.txt
> index f510bb82..1b38f73b 100644
> --- a/doc/group-names.txt
> +++ b/doc/group-names.txt
> @@ -12,6 +12,7 @@ acl			Access Control Lists
>  admin			xfs_admin functionality
>  aio			general libaio async io tests
>  atime			file access time
> +atomicwrites		RWF_ATOMIC testing
>  attr			extended attributes
>  attr2			xfs v2 extended aributes
>  balance			btrfs tree rebalance
> diff --git a/tests/generic/765 b/tests/generic/765
> index 8695a306..84381730 100755
> --- a/tests/generic/765
> +++ b/tests/generic/765
> @@ -7,7 +7,7 @@
>  # Validate atomic write support
>  #
>  . ./common/preamble
> -_begin_fstest auto quick rw
> +_begin_fstest auto quick rw atomicwrites
>  
>  _require_scratch_write_atomic
>  _require_xfs_io_command pwrite -A
> @@ -34,6 +34,10 @@ get_supported_bsize()
>          _notrun "$FSTYP does not support atomic writes"
>          ;;
>      esac
> +
> +    echo "fs config ------------" >> $seqres.full
> +    echo "min_bsize $min_bsize" >> $seqres.full
> +    echo "max_bsize $max_bsize" >> $seqres.full
>  }
>  
>  get_mkfs_opts()
> @@ -70,6 +74,11 @@ test_atomic_writes()
>      file_max_write=$(_get_atomic_write_unit_max $testfile)
>      file_max_segments=$(_get_atomic_write_segments_max $testfile)
>  
> +    echo "test $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
> +
>      # 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"
> @@ -145,6 +154,15 @@ test_atomic_write_bounds()
>      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"
>  
> @@ -157,6 +175,11 @@ sys_max_write=$(cat "/sys/block/$(_short_dev $SCRATCH_DEV)/queue/atomic_write_un
>  bdev_min_write=$(_get_atomic_write_unit_min $SCRATCH_DEV)
>  bdev_max_write=$(_get_atomic_write_unit_max $SCRATCH_DEV)
>  
> +echo "sysfs awu_min $sys_min_write" >> $seqres.full
> +echo "sysfs awu_min $sys_max_write" >> $seqres.full
> +echo "bdev awu_min $bdev_min_write" >> $seqres.full
> +echo "bdev awu_min $bdev_max_write" >> $seqres.full
> +
>  # Test that statx atomic values are the same as sysfs values
>  if [ "$sys_min_write" -ne "$bdev_min_write" ]; then
>      echo "bdev min write != sys min write"
> -- 
> 2.34.1
> 




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux