]> www.infradead.org Git - users/hch/xfstests-dev.git/commitdiff
xfs/216: handle larger log sizes
authorDarrick J. Wong <djwong@kernel.org>
Fri, 15 Apr 2022 15:04:58 +0000 (08:04 -0700)
committerEryu Guan <guaneryu@gmail.com>
Sun, 17 Apr 2022 14:38:45 +0000 (22:38 +0800)
mkfs will soon refuse to format a log smaller than 64MB, so update this
test to reflect the new log sizing calculations.

[Eryu: add xfs/216.cfg and use _link_out_file_name to choose .out file]

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Zorro Lang <zlang@redhat.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/xfs/216
tests/xfs/216.cfg [new file with mode: 0644]
tests/xfs/216.out.64mblog [new file with mode: 0644]
tests/xfs/216.out.classic [moved from tests/xfs/216.out with 100% similarity]

index c3697db7646b4a7a842ef5d6ebaac8b736a575d3..f981151cef46d5f0c18c6b96065aaaa18ceebb46 100755 (executable)
@@ -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
+               _link_out_file_named $seqfull.out "64mblog"
+       else
+               _link_out_file_named $seqfull.out "classic"
+       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.cfg b/tests/xfs/216.cfg
new file mode 100644 (file)
index 0000000..5b838c2
--- /dev/null
@@ -0,0 +1,2 @@
+64mblog: 64mblog
+classic: classic
diff --git a/tests/xfs/216.out.64mblog b/tests/xfs/216.out.64mblog
new file mode 100644 (file)
index 0000000..3c12085
--- /dev/null
@@ -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
similarity index 100%
rename from tests/xfs/216.out
rename to tests/xfs/216.out.classic