[PATCH 1/4] generic: enable swapfile tests on Btrfs

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



From: Omar Sandoval <osandov@xxxxxx>

Commit 8c96cfbfe530 ("generic/35[67]: disable swapfile tests on Btrfs")
disabled the swapfile tests on Btrfs because it did not support
swapfiles at the time. Now that we're adding support, we want these
tests to run, but they don't. _require_scratch_swapfile always fails for
Btrfs because swapfiles on Btrfs must be set to nocow. After fixing
that, generic/356 and generic/357 fail for the same reason. After fixing
_that_, both tests still fail because we don't allow reflinking a
non-checksummed extent (which nocow implies) to a checksummed extent. Do
the chattrs everywhere, which gets these tests running on kernels
supporting Btrfs swapfiles.

Signed-off-by: Omar Sandoval <osandov@xxxxxx>
---
 common/rc         | 3 +++
 tests/generic/356 | 6 +++++-
 tests/generic/357 | 6 +++++-
 3 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/common/rc b/common/rc
index ffe53236..5405f7d0 100644
--- a/common/rc
+++ b/common/rc
@@ -2233,6 +2233,9 @@ _require_scratch_swapfile()
 	# Minimum size for mkswap is 10 pages
 	local size=$(($(get_page_size) * 10))
 
+	touch "$SCRATCH_MNT/swap"
+	chmod 0600 "$SCRATCH_MNT/swap"
+	chattr +C "$SCRATCH_MNT/swap" >/dev/null 2>&1
 	_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
diff --git a/tests/generic/356 b/tests/generic/356
index 51eeb652..09c146a9 100755
--- a/tests/generic/356
+++ b/tests/generic/356
@@ -59,7 +59,11 @@ blocks=160
 blksz=65536
 
 echo "Initialize file"
-echo >> $seqres.full
+touch "$testdir/file1"
+chmod 0600 "$testdir/file1"
+chattr +C "$testdir/file1" >/dev/null 2>&1
+touch "$testdir/file2"
+chattr +C "$testdir/file2" >/dev/null 2>&1
 _pwrite_byte 0x61 0 $((blocks * blksz)) $testdir/file1 >> $seqres.full
 mkswap -U 27376b42-ff65-42ca-919f-6c9b62292a5c $testdir/file1 >> $seqres.full
 swapon $testdir/file1
diff --git a/tests/generic/357 b/tests/generic/357
index 0dd0c10f..742f37d1 100755
--- a/tests/generic/357
+++ b/tests/generic/357
@@ -59,7 +59,11 @@ blocks=160
 blksz=65536
 
 echo "Initialize file"
-echo >> $seqres.full
+touch "$testdir/file1"
+chmod 0600 "$testdir/file1"
+chattr +C "$testdir/file1" >/dev/null 2>&1
+touch "$testdir/file2"
+chattr +C "$testdir/file2" >/dev/null 2>&1
 _pwrite_byte 0x61 0 $((blocks * blksz)) $testdir/file1 >> $seqres.full
 mkswap -U 27376b42-ff65-42ca-919f-6c9b62292a5c $testdir/file1 >> $seqres.full
 _cp_reflink $testdir/file1 $testdir/file2 2>&1 | _filter_scratch
-- 
2.17.0

--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux