From 8c96cfbfe530cadc978207dac11c9fb54a1ecd72 Mon Sep 17 00:00:00 2001 From: Omar Sandoval Date: Mon, 5 Dec 2016 17:01:28 -0800 Subject: [PATCH] generic/35[67]: disable swapfile tests on Btrfs Btrfs doesn't support swapfiles (yet?), so generic/356 fails erroneously, and generic/357 only passes by accident. Let's add a _require_scratch_swapfile helper and add it to these tests. Signed-off-by: Omar Sandoval Reviewed-by: Darrick J. Wong Signed-off-by: Eryu Guan --- common/rc | 22 ++++++++++++++++++++++ tests/generic/356 | 1 + tests/generic/357 | 1 + 3 files changed, 24 insertions(+) diff --git a/common/rc b/common/rc index 2719b23e3..d863e5694 100644 --- a/common/rc +++ b/common/rc @@ -1790,6 +1790,28 @@ _require_odirect() rm -f $testfile 2>&1 > /dev/null } +# Check that the filesystem supports swapfiles +_require_scratch_swapfile() +{ + _require_scratch + + _scratch_mkfs >/dev/null + _scratch_mount + + # Minimum size for mkswap is 10 pages + local size=$(($(get_page_size) * 10)) + + _pwrite_byte 0x61 0 "$size" "$SCRATCH_MNT/swap" >/dev/null 2>&1 + mkswap "$SCRATCH_MNT/swap" >/dev/null 2>&1 + if ! swapon "$SCRATCH_MNT/swap" >/dev/null 2>&1; then + _scratch_unmount + _notrun "swapfiles are not supported" + fi + + swapoff "$SCRATCH_MNT/swap" >/dev/null 2>&1 + _scratch_unmount +} + # Check that a fs has enough free space (in 1024b blocks) # _require_fs_space() diff --git a/tests/generic/356 b/tests/generic/356 index 6bb90c0e0..51eeb652d 100755 --- a/tests/generic/356 +++ b/tests/generic/356 @@ -44,6 +44,7 @@ _cleanup() # real QA test starts here _supported_os Linux +_require_scratch_swapfile _require_scratch_reflink _require_cp_reflink diff --git a/tests/generic/357 b/tests/generic/357 index 439b31412..0dd0c10f6 100755 --- a/tests/generic/357 +++ b/tests/generic/357 @@ -44,6 +44,7 @@ _cleanup() # real QA test starts here _supported_os Linux +_require_scratch_swapfile _require_scratch_reflink _require_cp_reflink -- 2.51.0