Re: [PATCH] xfs/157: mkfs does not need a specific fssize

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



On Thu, Oct 31, 2024 at 03:08:21PM -0700, Darrick J. Wong wrote:
> On Fri, Nov 01, 2024 at 03:35:52AM +0800, Zorro Lang wrote:
> > The xfs/157 doesn't need to do a "sized" mkfs, the image file is
> > 500MiB, don't need to do _scratch_mkfs_sized with a 500MiB fssize
> > argument, a general _scratch_mkfs is good enough.
> > 
> > Besides that, if we do:
> > 
> >   MKFS_OPTIONS="-L oldlabel $MKFS_OPTIONS" _scratch_mkfs_sized $fs_size
> > 
> > the _scratch_mkfs_sized trys to keep the $fs_size, when mkfs fails
> > with incompatible $MKFS_OPTIONS options, likes this:
> > 
> >   ** mkfs failed with extra mkfs options added to "-L oldlabel -m rmapbt=1" by test 157 **
> >   ** attempting to mkfs using only test 157 options: -d size=524288000 -b size=4096 **
> > 
> > But if we do:
> > 
> >   _scratch_mkfs -L oldlabel
> > 
> > the _scratch_mkfs trys to keep the "-L oldlabel", when mkfs fails
> > with incompatible $MKFS_OPTIONS options, likes this:
> > 
> >   ** mkfs failed with extra mkfs options added to "-m rmapbt=1" by test 157 **
> >   ** attempting to mkfs using only test 157 options: -L oldlabel **
> > 
> > that's actually what we need.
> > 
> > Signed-off-by: Zorro Lang <zlang@xxxxxxxxxx>
> > ---
> > 
> > This test started to fail since 2f7e1b8a6f09 ("xfs/157,xfs/547,xfs/548: switch to
> > using _scratch_mkfs_sized") was merged.
> > 
> >   FSTYP         -- xfs (non-debug)
> >   PLATFORM      -- Linux/x86_64
> >   MKFS_OPTIONS  -- -f -m rmapbt=1 /dev/sda3
> >   MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/sda3 /mnt/scratch
> > 
> >   xfs/157 7s ... - output mismatch (see /root/git/xfstests/results//xfs/157.out.bad)
> >       --- tests/xfs/157.out       2024-11-01 01:05:03.664543576 +0800
> >       +++ /root/git/xfstests/results//xfs/157.out.bad     2024-11-01 02:56:47.994007900 +0800
> >       @@ -6,10 +6,10 @@
> >        label = "oldlabel"
> >        label = "newlabel"
> >        S3: Check that setting with rtdev works
> >       -label = "oldlabel"
> >       +label = ""
> >        label = "newlabel"
> >        S4: Check that setting with rtdev + logdev works
> >       ...
> >       (Run 'diff -u /root/git/xfstests/tests/xfs/157.out /root/git/xfstests/results//xfs/157.out.bad'  to see the entire diff)
> >   Ran: xfs/157
> >   Failures: xfs/157
> >   Failed 1 of 1 tests
> > 
> > Before that change, the _scratch_mkfs can drop "rmapbt=1" option from $MKFS_OPTIONS,
> > only keep the "-L label" option. That's why this test never failed before.
> > 
> > Now it fails on xfs, if MKFS_OPTIONS contains "-m rmapbt=1", the reason as I
> > explained above.
> > 
> > Thanks,
> > Zorro
> > 
> >  tests/xfs/157 | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/tests/xfs/157 b/tests/xfs/157
> > index 9b5badbae..459c6de7c 100755
> > --- a/tests/xfs/157
> > +++ b/tests/xfs/157
> > @@ -66,8 +66,7 @@ scenario() {
> >  }
> >  
> >  check_label() {
> > -	MKFS_OPTIONS="-L oldlabel $MKFS_OPTIONS" _scratch_mkfs_sized $fs_size \
> > -		>> $seqres.full
> > +	_scratch_mkfs -L oldlabel >> $seqres.full 2>&1
> 
> Hans Holmberg discovered that this mkfs fails if the SCRATCH_RTDEV is
> very large and SCRATCH_DEV is set to the 500M fake_datafile because the
> rtbitmap is larger than the datadev.
> 
> I wonder if there's a way to pass the -L argument through in the
> "attempting to mkfs using only" case?

As I know mkfs.xfs can disable rmapbt automatically if "-r rtdevt=xxx" is
used.

How about unset the MKFS_OPTIONS for this test? As it already tests rtdev
and logdev by itself. Or call _notrun if MKFS_OPTIONS has "rmapbt=1"?

Any better idea?

Thanks,
Zorro

> 
> --D
> 
> >  	_scratch_xfs_db -c label
> >  	_scratch_xfs_admin -L newlabel "$@" >> $seqres.full
> >  	_scratch_xfs_db -c label
> > -- 
> > 2.45.2
> > 
> > 
> 





[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux