Re: [PATCH 3/3] xfs/229: do not _xfs_force_bdev on TEST_DIR

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

 



On Tue, Sep 27, 2022 at 09:24:08PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@xxxxxxxxxx>
> 
> In commit ea15099b71, I observed that this test tries to test the
> behavior of the extent size hint on the data device.  If the test runner
> set up MKFS_OPTIONS such that the filesystem gets created with a
> realtime section and rtinherit set on the root directory, then the
> preconditions of this test (creating files on the data section) is not
> satisfied and the results of this test are incorrect.  The solution was
> to force all files created by this test to be assigned to the data
> section.
> 
> Unfortunately, the correction that I made has side effects beyond this
> test -- by clearing rtinherit on $TEST_DIR, all tests that run after
> this one will create files on the data section, because the test
> filesystem persists for the duration of the entire test run.  This leads
> to the wrong things being tested.
> 
> Fix this new problem by clearing the rtinherit flag on $TDIR, which
> contains the files created by this test and is removed during cleanup,
> and leave a few comments celebrating our new discoveries.
> 
> Fixes: ea15099b71 ("xfs: force file creation to the data device for certain layout tests")
> Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx>
> ---

OK, good news is most of _xfs_force_bdev run on SCRATCH_MNT, only this x/229 run
on TEST_DIR. Better to not change TEST_DIR directly, to avoid it affect later
testing. Thanks for fix it.

Reviewed-by: Zorro Lang <zlang@xxxxxxxxxx>

Thanks,
Zorro

>  common/xfs    |    3 +++
>  tests/xfs/229 |    7 ++++++-
>  2 files changed, 9 insertions(+), 1 deletion(-)
> 
> 
> diff --git a/common/xfs b/common/xfs
> index 170dd621a1..e1c15d3d04 100644
> --- a/common/xfs
> +++ b/common/xfs
> @@ -201,6 +201,9 @@ _xfs_get_file_block_size()
>  # For each directory, each file subsequently created will target the given
>  # device for file data allocations.  For each empty regular file, each
>  # subsequent file data allocation will be on the given device.
> +#
> +# NOTE: If you call this on $TEST_DIR, you must reset the rtinherit flag state
> +# before the end of the test to avoid polluting subsequent tests.
>  _xfs_force_bdev()
>  {
>  	local device="$1"
> diff --git a/tests/xfs/229 b/tests/xfs/229
> index 2221b9c49c..a58fd16bba 100755
> --- a/tests/xfs/229
> +++ b/tests/xfs/229
> @@ -31,11 +31,16 @@ _require_fs_space $TEST_DIR 3200000
>  TDIR="${TEST_DIR}/t_holes"
>  NFILES="10"
>  EXTSIZE="256k"
> -_xfs_force_bdev data $TEST_DIR
>  
>  # Create the test directory
>  mkdir ${TDIR}
>  
> +# Per-directory extent size hints aren't particularly useful for files that
> +# are created on the realtime section.  Force the test file to be created on
> +# the data directory.  Do not change the rtinherit flag on $TEST_DIR because
> +# that will affect other tests.
> +_xfs_force_bdev data $TDIR
> +
>  # Set the test directory extsize
>  $XFS_IO_PROG -c "extsize ${EXTSIZE}" ${TDIR}
>  
> 




[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