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 > > > > >