aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@kernel.org>2022-04-15 08:04:58 -0700
committerEryu Guan <guaneryu@gmail.com>2022-04-17 22:38:45 +0800
commite75da9ebde722455544e7b4e261389d4b77c8a76 (patch)
tree56096d20fb77ff47505b4fe05c2f9778dc8e0f15
parent82047ce7cd46e3a89eaddb6e43e8c10416409cd9 (diff)
downloadxfstests-dev-e75da9ebde722455544e7b4e261389d4b77c8a76.tar.gz
xfs/216: handle larger log sizes
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>
-rwxr-xr-xtests/xfs/21619
-rw-r--r--tests/xfs/216.cfg2
-rw-r--r--tests/xfs/216.out.64mblog10
-rw-r--r--tests/xfs/216.out.classic (renamed from tests/xfs/216.out)0
4 files changed, 31 insertions, 0 deletions
diff --git a/tests/xfs/216 b/tests/xfs/216
index c3697db764..f981151cef 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
+ _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
index 0000000000..5b838c2d15
--- /dev/null
+++ b/tests/xfs/216.cfg
@@ -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
index 0000000000..3c12085f32
--- /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
index cbd7b652d3..cbd7b652d3 100644
--- a/tests/xfs/216.out
+++ b/tests/xfs/216.out.classic