Message ID | 20220415150458.GB17025@magnolia (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | None | expand |
On Fri, Apr 15, 2022 at 08:04:58AM -0700, Darrick J. Wong wrote: > mkfs will soon refuse to format a log smaller than 64MB, so update this > test to reflect the new log sizing calculations. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > --- > tests/xfs/216 | 19 +++++++++++++++++++ > tests/xfs/216.out.64mblog | 10 ++++++++++ > tests/xfs/216.out.classic | 0 > 3 files changed, 29 insertions(+) > create mode 100644 tests/xfs/216.out.64mblog > rename tests/xfs/{216.out => 216.out.classic} (100%) > > diff --git a/tests/xfs/216 b/tests/xfs/216 > index c3697db7..ebae8979 100755 > --- a/tests/xfs/216 > +++ b/tests/xfs/216 > @@ -29,6 +29,23 @@ $MKFS_XFS_PROG 2>&1 | grep -q rmapbt && \ > $MKFS_XFS_PROG 2>&1 | grep -q reflink && \ > loop_mkfs_opts="$loop_mkfs_opts -m reflink=0" > > +# Decide which golden output file we're using. Starting with mkfs.xfs 5.15, > +# the default minimum log size was raised to 64MB for all cases, so we detect > +# that by test-formatting with a 512M filesystem. This is a little handwavy, > +# but it's the best we can do. > +choose_golden_output() { > + local seqfull=$1 > + local file=$2 > + > + if $MKFS_XFS_PROG -f -b size=4096 -l version=2 \ > + -d name=$file,size=512m $loop_mkfs_opts | \ > + grep -q 'log.*blocks=16384'; then > + ln -f -s $seqfull.out.64mblog $seqfull.out > + else > + ln -f -s $seqfull.out.classic $seqfull.out > + fi Actually there's a old common function in common/rc named _link_out_file(), xfstests generally use it to deal with multiple .out files. It would be better to keep in step with common helpers, but your "ln" command isn't wrong :) Reviewed-by: Zorro Lang <zlang@redhat.com> > +} > + > _do_mkfs() > { > for i in $*; do > @@ -43,6 +60,8 @@ _do_mkfs() > # make large holey file > $XFS_IO_PROG -f -c "truncate 256g" $LOOP_DEV > > +choose_golden_output $0 $LOOP_DEV > + > #make loopback mount dir > mkdir $LOOP_MNT > > diff --git a/tests/xfs/216.out.64mblog b/tests/xfs/216.out.64mblog > new file mode 100644 > index 00000000..3c12085f > --- /dev/null > +++ b/tests/xfs/216.out.64mblog > @@ -0,0 +1,10 @@ > +QA output created by 216 > +fssize=1g log =internal log bsize=4096 blocks=16384, version=2 > +fssize=2g log =internal log bsize=4096 blocks=16384, version=2 > +fssize=4g log =internal log bsize=4096 blocks=16384, version=2 > +fssize=8g log =internal log bsize=4096 blocks=16384, version=2 > +fssize=16g log =internal log bsize=4096 blocks=16384, version=2 > +fssize=32g log =internal log bsize=4096 blocks=16384, version=2 > +fssize=64g log =internal log bsize=4096 blocks=16384, version=2 > +fssize=128g log =internal log bsize=4096 blocks=16384, version=2 > +fssize=256g log =internal log bsize=4096 blocks=32768, version=2 > diff --git a/tests/xfs/216.out b/tests/xfs/216.out.classic > similarity index 100% > rename from tests/xfs/216.out > rename to tests/xfs/216.out.classic >
On Sat, Apr 16, 2022 at 09:35:18PM +0800, Zorro Lang wrote: > On Fri, Apr 15, 2022 at 08:04:58AM -0700, Darrick J. Wong wrote: > > mkfs will soon refuse to format a log smaller than 64MB, so update this > > test to reflect the new log sizing calculations. > > > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > > --- > > tests/xfs/216 | 19 +++++++++++++++++++ > > tests/xfs/216.out.64mblog | 10 ++++++++++ > > tests/xfs/216.out.classic | 0 > > 3 files changed, 29 insertions(+) > > create mode 100644 tests/xfs/216.out.64mblog > > rename tests/xfs/{216.out => 216.out.classic} (100%) > > > > diff --git a/tests/xfs/216 b/tests/xfs/216 > > index c3697db7..ebae8979 100755 > > --- a/tests/xfs/216 > > +++ b/tests/xfs/216 > > @@ -29,6 +29,23 @@ $MKFS_XFS_PROG 2>&1 | grep -q rmapbt && \ > > $MKFS_XFS_PROG 2>&1 | grep -q reflink && \ > > loop_mkfs_opts="$loop_mkfs_opts -m reflink=0" > > > > +# Decide which golden output file we're using. Starting with mkfs.xfs 5.15, > > +# the default minimum log size was raised to 64MB for all cases, so we detect > > +# that by test-formatting with a 512M filesystem. This is a little handwavy, > > +# but it's the best we can do. > > +choose_golden_output() { > > + local seqfull=$1 > > + local file=$2 > > + > > + if $MKFS_XFS_PROG -f -b size=4096 -l version=2 \ > > + -d name=$file,size=512m $loop_mkfs_opts | \ > > + grep -q 'log.*blocks=16384'; then > > + ln -f -s $seqfull.out.64mblog $seqfull.out > > + else > > + ln -f -s $seqfull.out.classic $seqfull.out > > + fi > > Actually there's a old common function in common/rc named _link_out_file(), > xfstests generally use it to deal with multiple .out files. It would be > better to keep in step with common helpers, but your "ln" command > isn't wrong :) I added tests/xfs/216.cfg file and updated test to use _link_out_file_named(). > > Reviewed-by: Zorro Lang <zlang@redhat.com> Thanks! Eryu > > > +} > > + > > _do_mkfs() > > { > > for i in $*; do > > @@ -43,6 +60,8 @@ _do_mkfs() > > # make large holey file > > $XFS_IO_PROG -f -c "truncate 256g" $LOOP_DEV > > > > +choose_golden_output $0 $LOOP_DEV > > + > > #make loopback mount dir > > mkdir $LOOP_MNT > > > > diff --git a/tests/xfs/216.out.64mblog b/tests/xfs/216.out.64mblog > > new file mode 100644 > > index 00000000..3c12085f > > --- /dev/null > > +++ b/tests/xfs/216.out.64mblog > > @@ -0,0 +1,10 @@ > > +QA output created by 216 > > +fssize=1g log =internal log bsize=4096 blocks=16384, version=2 > > +fssize=2g log =internal log bsize=4096 blocks=16384, version=2 > > +fssize=4g log =internal log bsize=4096 blocks=16384, version=2 > > +fssize=8g log =internal log bsize=4096 blocks=16384, version=2 > > +fssize=16g log =internal log bsize=4096 blocks=16384, version=2 > > +fssize=32g log =internal log bsize=4096 blocks=16384, version=2 > > +fssize=64g log =internal log bsize=4096 blocks=16384, version=2 > > +fssize=128g log =internal log bsize=4096 blocks=16384, version=2 > > +fssize=256g log =internal log bsize=4096 blocks=32768, version=2 > > diff --git a/tests/xfs/216.out b/tests/xfs/216.out.classic > > similarity index 100% > > rename from tests/xfs/216.out > > rename to tests/xfs/216.out.classic > >
On Sun, Apr 17, 2022 at 10:42:15PM +0800, Eryu Guan wrote: > On Sat, Apr 16, 2022 at 09:35:18PM +0800, Zorro Lang wrote: > > On Fri, Apr 15, 2022 at 08:04:58AM -0700, Darrick J. Wong wrote: > > > mkfs will soon refuse to format a log smaller than 64MB, so update this > > > test to reflect the new log sizing calculations. > > > > > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > > > --- > > > tests/xfs/216 | 19 +++++++++++++++++++ > > > tests/xfs/216.out.64mblog | 10 ++++++++++ > > > tests/xfs/216.out.classic | 0 > > > 3 files changed, 29 insertions(+) > > > create mode 100644 tests/xfs/216.out.64mblog > > > rename tests/xfs/{216.out => 216.out.classic} (100%) > > > > > > diff --git a/tests/xfs/216 b/tests/xfs/216 > > > index c3697db7..ebae8979 100755 > > > --- a/tests/xfs/216 > > > +++ b/tests/xfs/216 > > > @@ -29,6 +29,23 @@ $MKFS_XFS_PROG 2>&1 | grep -q rmapbt && \ > > > $MKFS_XFS_PROG 2>&1 | grep -q reflink && \ > > > loop_mkfs_opts="$loop_mkfs_opts -m reflink=0" > > > > > > +# Decide which golden output file we're using. Starting with mkfs.xfs 5.15, > > > +# the default minimum log size was raised to 64MB for all cases, so we detect > > > +# that by test-formatting with a 512M filesystem. This is a little handwavy, > > > +# but it's the best we can do. > > > +choose_golden_output() { > > > + local seqfull=$1 > > > + local file=$2 > > > + > > > + if $MKFS_XFS_PROG -f -b size=4096 -l version=2 \ > > > + -d name=$file,size=512m $loop_mkfs_opts | \ > > > + grep -q 'log.*blocks=16384'; then > > > + ln -f -s $seqfull.out.64mblog $seqfull.out > > > + else > > > + ln -f -s $seqfull.out.classic $seqfull.out > > > + fi > > > > Actually there's a old common function in common/rc named _link_out_file(), > > xfstests generally use it to deal with multiple .out files. It would be > > better to keep in step with common helpers, but your "ln" command > > isn't wrong :) > > I added tests/xfs/216.cfg file and updated test to use > _link_out_file_named(). Thanks! Sorry have to trouble you, my request to kernel.org is still blocking. `_link_out_file_named $seqfull.out 64mblog` is equal to `_link_out_file 64mblog` So the later one might be enough. Anyway, both are good to me! Thanks, Zorro > > > > > Reviewed-by: Zorro Lang <zlang@redhat.com> > > Thanks! > Eryu > > > > > > +} > > > + > > > _do_mkfs() > > > { > > > for i in $*; do > > > @@ -43,6 +60,8 @@ _do_mkfs() > > > # make large holey file > > > $XFS_IO_PROG -f -c "truncate 256g" $LOOP_DEV > > > > > > +choose_golden_output $0 $LOOP_DEV > > > + > > > #make loopback mount dir > > > mkdir $LOOP_MNT > > > > > > diff --git a/tests/xfs/216.out.64mblog b/tests/xfs/216.out.64mblog > > > new file mode 100644 > > > index 00000000..3c12085f > > > --- /dev/null > > > +++ b/tests/xfs/216.out.64mblog > > > @@ -0,0 +1,10 @@ > > > +QA output created by 216 > > > +fssize=1g log =internal log bsize=4096 blocks=16384, version=2 > > > +fssize=2g log =internal log bsize=4096 blocks=16384, version=2 > > > +fssize=4g log =internal log bsize=4096 blocks=16384, version=2 > > > +fssize=8g log =internal log bsize=4096 blocks=16384, version=2 > > > +fssize=16g log =internal log bsize=4096 blocks=16384, version=2 > > > +fssize=32g log =internal log bsize=4096 blocks=16384, version=2 > > > +fssize=64g log =internal log bsize=4096 blocks=16384, version=2 > > > +fssize=128g log =internal log bsize=4096 blocks=16384, version=2 > > > +fssize=256g log =internal log bsize=4096 blocks=32768, version=2 > > > diff --git a/tests/xfs/216.out b/tests/xfs/216.out.classic > > > similarity index 100% > > > rename from tests/xfs/216.out > > > rename to tests/xfs/216.out.classic > > > >
diff --git a/tests/xfs/216 b/tests/xfs/216 index c3697db7..ebae8979 100755 --- a/tests/xfs/216 +++ b/tests/xfs/216 @@ -29,6 +29,23 @@ $MKFS_XFS_PROG 2>&1 | grep -q rmapbt && \ $MKFS_XFS_PROG 2>&1 | grep -q reflink && \ loop_mkfs_opts="$loop_mkfs_opts -m reflink=0" +# Decide which golden output file we're using. Starting with mkfs.xfs 5.15, +# the default minimum log size was raised to 64MB for all cases, so we detect +# that by test-formatting with a 512M filesystem. This is a little handwavy, +# but it's the best we can do. +choose_golden_output() { + local seqfull=$1 + local file=$2 + + if $MKFS_XFS_PROG -f -b size=4096 -l version=2 \ + -d name=$file,size=512m $loop_mkfs_opts | \ + grep -q 'log.*blocks=16384'; then + ln -f -s $seqfull.out.64mblog $seqfull.out + else + ln -f -s $seqfull.out.classic $seqfull.out + fi +} + _do_mkfs() { for i in $*; do @@ -43,6 +60,8 @@ _do_mkfs() # make large holey file $XFS_IO_PROG -f -c "truncate 256g" $LOOP_DEV +choose_golden_output $0 $LOOP_DEV + #make loopback mount dir mkdir $LOOP_MNT diff --git a/tests/xfs/216.out.64mblog b/tests/xfs/216.out.64mblog new file mode 100644 index 00000000..3c12085f --- /dev/null +++ b/tests/xfs/216.out.64mblog @@ -0,0 +1,10 @@ +QA output created by 216 +fssize=1g log =internal log bsize=4096 blocks=16384, version=2 +fssize=2g log =internal log bsize=4096 blocks=16384, version=2 +fssize=4g log =internal log bsize=4096 blocks=16384, version=2 +fssize=8g log =internal log bsize=4096 blocks=16384, version=2 +fssize=16g log =internal log bsize=4096 blocks=16384, version=2 +fssize=32g log =internal log bsize=4096 blocks=16384, version=2 +fssize=64g log =internal log bsize=4096 blocks=16384, version=2 +fssize=128g log =internal log bsize=4096 blocks=16384, version=2 +fssize=256g log =internal log bsize=4096 blocks=32768, version=2 diff --git a/tests/xfs/216.out b/tests/xfs/216.out.classic similarity index 100% rename from tests/xfs/216.out rename to tests/xfs/216.out.classic
mkfs will soon refuse to format a log smaller than 64MB, so update this test to reflect the new log sizing calculations. Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- tests/xfs/216 | 19 +++++++++++++++++++ tests/xfs/216.out.64mblog | 10 ++++++++++ tests/xfs/216.out.classic | 0 3 files changed, 29 insertions(+) create mode 100644 tests/xfs/216.out.64mblog rename tests/xfs/{216.out => 216.out.classic} (100%)