[PATCHv2 2/2] generic/496: Add whitelisted FS support for swapon test

Ritesh Harjani
2020-12-16T05:18:36Z

ext4, xfs should not fail swapon on fallocated file. Currently if this
fails the fstst was not returning a failure. Fix those for whitelisted
FS (for now added ext4/xfs).
There were some regressions which went unnoticed due to this in ext4
tree, which later got fixed as part of this patch [1]

[1]: https://patchwork.ozlabs.org/patch/1357275

Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com>
---
tests/generic/496 | 16 +++++++++++++---
tests/generic/group | 2 +-
2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/tests/generic/496 b/tests/generic/496
index 805c6ac1c0ea..0546d8455491 100755
--- a/tests/generic/496
+++ b/tests/generic/496
@@ -5,7 +5,7 @@
# FS QA Test No. 496
#
# Test various swapfile activation oddities on filesystems that support
-# fallocated swapfiles.
+# fallocated swapfiles (for whitelisted fs)
#
seq=`basename $0`
seqres=$RESULT_DIR/$seq
@@ -61,8 +61,18 @@ touch $swapfile
$CHATTR_PROG +C $swapfile >> $seqres.full 2>&1
$XFS_IO_PROG -f -c "falloc 0 $len" $swapfile >> $seqres.full
"$here/src/mkswap" $swapfile
-"$here/src/swapon" $swapfile >> $seqres.full 2>&1 || \
- _notrun "fallocated swap not supported here"
+
+# ext4/xfs should not fail for swapon on fallocated files
+case $FSTYP in
+ext4|xfs)
+ "$here/src/swapon" $swapfile >> $seqres.full 2>&1 || \
+ _fail "swapon failed on fallocated file"
+ ;;
+*)
+ "$here/src/swapon" $swapfile >> $seqres.full 2>&1 || \
+ _notrun "fallocated swap not supported here"
+ ;;
+esac
swapoff $swapfile

# Create a fallocated swap file and touch every other $PAGE_SIZE to create
diff --git a/tests/generic/group b/tests/generic/group
index d8758d7f6a5f..7a7388d92ec6 100644
--- a/tests/generic/group
+++ b/tests/generic/group
@@ -498,7 +498,7 @@
493 auto quick swap dedupe
494 auto quick swap punch
495 auto quick swap
-496 auto quick swap
+496 auto quick swap prealloc
497 auto quick swap collapse
498 auto quick log
499 auto quick rw collapse zero
--
2.26.2