aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos Maiolino <cmaiolino@redhat.com>2021-11-10 13:41:18 +0100
committerEryu Guan <guaneryu@gmail.com>2021-11-14 20:18:59 +0800
commitbb0ab7b292b4259b50006305ec5fcf5fbe0ab8b3 (patch)
treea29056310bc653e9ab88cc266d16899f042eaf1c
parente429c4aa559926be86762c08a06ce2569731a170 (diff)
downloadxfstests-dev-bb0ab7b292b4259b50006305ec5fcf5fbe0ab8b3.tar.gz
common/rc: Enable _format_swapfile to return the swap size
Once the kernel is free to not map the full swap file during a swapon call, it can be useful to know the exact size of the swap area created during _format_swapfile(). To achieve this, it is needed to change other _format_swapfile() callers to drop the return value if not required, otherwise, it will be printed to stdout making such tests to fail. Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com> Reviewed-by: Eryu Guan <guaneryu@gmail.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
-rw-r--r--common/rc10
-rwxr-xr-xtests/btrfs/1732
-rwxr-xr-xtests/btrfs/1742
-rwxr-xr-xtests/btrfs/1754
-rwxr-xr-xtests/btrfs/1762
-rwxr-xr-xtests/btrfs/1772
-rwxr-xr-xtests/generic/3562
-rwxr-xr-xtests/generic/3572
-rwxr-xr-xtests/generic/4932
-rwxr-xr-xtests/generic/4942
-rwxr-xr-xtests/generic/5542
-rwxr-xr-xtests/generic/5692
12 files changed, 19 insertions, 15 deletions
diff --git a/common/rc b/common/rc
index 89e90d9b93..de5be4aa4b 100644
--- a/common/rc
+++ b/common/rc
@@ -2593,9 +2593,11 @@ _require_odirect()
rm -f $testfile 2>&1 > /dev/null
}
+# Format a swapfile and return its size in bytes
_format_swapfile() {
local fname="$1"
local sz="$2"
+ local swap_log=""
rm -f "$fname"
touch "$fname"
@@ -2604,8 +2606,10 @@ _format_swapfile() {
$CHATTR_PROG +C "$fname" > /dev/null 2>&1
_pwrite_byte 0x61 0 "$sz" "$fname" >> $seqres.full
# Ignore permission complaints on filesystems that don't support perms
- $MKSWAP_PROG "$fname" 2>&1 >> $seqres.full | \
- grep -v "insecure permission"
+ swap_log=$($MKSWAP_PROG "$fname" 2>&1 | grep -v "insecure permission")
+ echo $swap_log >> $seqres.full
+
+ echo $swap_log | grep -oP '\w+(?= bytes)'
}
_swapon_file() {
@@ -2637,7 +2641,7 @@ _require_scratch_swapfile()
_scratch_mount
# Minimum size for mkswap is 10 pages
- _format_swapfile "$SCRATCH_MNT/swap" $(($(get_page_size) * 10))
+ _format_swapfile "$SCRATCH_MNT/swap" $(($(get_page_size) * 10)) > /dev/null
# ext* has supported all variants of swap files since their
# introduction, so swapon should not fail.
diff --git a/tests/btrfs/173 b/tests/btrfs/173
index 1252587cf9..9f53143ecc 100755
--- a/tests/btrfs/173
+++ b/tests/btrfs/173
@@ -31,7 +31,7 @@ swapoff "$SCRATCH_MNT/swap" >/dev/null 2>&1
echo "Compressed file"
rm -f "$SCRATCH_MNT/swap"
-_format_swapfile "$SCRATCH_MNT/swap" $(($(get_page_size) * 10))
+_format_swapfile "$SCRATCH_MNT/swap" $(($(get_page_size) * 10)) > /dev/null
$CHATTR_PROG +c "$SCRATCH_MNT/swap" 2>&1 | grep -o "Invalid argument while setting flags"
status=0
diff --git a/tests/btrfs/174 b/tests/btrfs/174
index 8bf856ae9e..3bb5e7f918 100755
--- a/tests/btrfs/174
+++ b/tests/btrfs/174
@@ -20,7 +20,7 @@ _scratch_mount
$BTRFS_UTIL_PROG subvolume create "$SCRATCH_MNT/swapvol" >> $seqres.full
swapfile="$SCRATCH_MNT/swapvol/swap"
-_format_swapfile "$swapfile" $(($(get_page_size) * 10))
+_format_swapfile "$swapfile" $(($(get_page_size) * 10)) > /dev/null
swapon "$swapfile"
# Turning off nocow doesn't do anything because the file is not empty, not
diff --git a/tests/btrfs/175 b/tests/btrfs/175
index bf0ede257f..6f7832a560 100755
--- a/tests/btrfs/175
+++ b/tests/btrfs/175
@@ -18,7 +18,7 @@ _check_minimal_fs_size $((1024 * 1024 * 1024))
cycle_swapfile() {
local sz=${1:-$(($(get_page_size) * 10))}
- _format_swapfile "$SCRATCH_MNT/swap" "$sz"
+ _format_swapfile "$SCRATCH_MNT/swap" "$sz" > /dev/null
swapon "$SCRATCH_MNT/swap" 2>&1 | _filter_scratch
swapoff "$SCRATCH_MNT/swap" > /dev/null 2>&1
}
@@ -47,7 +47,7 @@ _scratch_mkfs >> $seqres.full 2>&1
_scratch_mount
# Create the swap file, then add the device. That way we know it's all on one
# device.
-_format_swapfile "$SCRATCH_MNT/swap" $(($(get_page_size) * 10))
+_format_swapfile "$SCRATCH_MNT/swap" $(($(get_page_size) * 10)) > /dev/null
scratch_dev2="$(echo "${SCRATCH_DEV_POOL}" | awk '{ print $2 }')"
$BTRFS_UTIL_PROG device add -f "$scratch_dev2" "$SCRATCH_MNT"
swapon "$SCRATCH_MNT/swap" 2>&1 | _filter_scratch
diff --git a/tests/btrfs/176 b/tests/btrfs/176
index 41b02eb605..8d624d5a8e 100755
--- a/tests/btrfs/176
+++ b/tests/btrfs/176
@@ -29,7 +29,7 @@ scratch_dev3="$(echo "${SCRATCH_DEV_POOL}" | awk '{ print $3 }')"
echo "Remove device"
_scratch_mkfs >> $seqres.full 2>&1
_scratch_mount
-_format_swapfile "$SCRATCH_MNT/swap" $(($(get_page_size) * 10))
+_format_swapfile "$SCRATCH_MNT/swap" $(($(get_page_size) * 10)) > /dev/null
$BTRFS_UTIL_PROG device add -f "$scratch_dev2" "$SCRATCH_MNT"
swapon "$SCRATCH_MNT/swap" 2>&1 | _filter_scratch
# We know the swap file is on device 1 because we added device 2 after it was
diff --git a/tests/btrfs/177 b/tests/btrfs/177
index b20502368b..2fd11e89ca 100755
--- a/tests/btrfs/177
+++ b/tests/btrfs/177
@@ -63,7 +63,7 @@ dd if=/dev/zero of="$SCRATCH_MNT/refill" bs=4096 >> $seqres.full 2>&1
# of the filesystem was used, so the swap file must be in the new part of the
# filesystem.
$BTRFS_UTIL_PROG filesystem resize $((3 * fssize)) "$SCRATCH_MNT" | convert_resize_output
-_format_swapfile "$swapfile" $((32 * 1024 * 1024))
+_format_swapfile "$swapfile" $((32 * 1024 * 1024)) > /dev/null
swapon "$swapfile"
# Free up the first 1GB of the filesystem.
diff --git a/tests/generic/356 b/tests/generic/356
index fa6c058580..ffc7bed533 100755
--- a/tests/generic/356
+++ b/tests/generic/356
@@ -39,7 +39,7 @@ blocks=160
blksz=65536
echo "Initialize file"
-_format_swapfile "$testdir/file1" $((blocks * blksz))
+_format_swapfile "$testdir/file1" $((blocks * blksz)) > /dev/null
swapon $testdir/file1
touch "$testdir/file2"
diff --git a/tests/generic/357 b/tests/generic/357
index dc9a91a438..ce748f8543 100755
--- a/tests/generic/357
+++ b/tests/generic/357
@@ -39,7 +39,7 @@ blocks=160
blksz=65536
echo "Initialize file"
-_format_swapfile "$testdir/file1" $((blocks * blksz))
+_format_swapfile "$testdir/file1" $((blocks * blksz)) > /dev/null
touch "$testdir/file2"
$CHATTR_PROG +C "$testdir/file2" >/dev/null 2>&1
_cp_reflink $testdir/file1 $testdir/file2 2>&1 | _filter_scratch
diff --git a/tests/generic/493 b/tests/generic/493
index a26a908d5f..c2fd72f64a 100755
--- a/tests/generic/493
+++ b/tests/generic/493
@@ -27,7 +27,7 @@ blocks=160
blksz=65536
echo "Initialize file"
-_format_swapfile "$testdir/file1" $((blocks * blksz))
+_format_swapfile "$testdir/file1" $((blocks * blksz)) > /dev/null
swapon "$testdir/file1"
touch "$testdir/file2"
diff --git a/tests/generic/494 b/tests/generic/494
index 2e14fab8c1..b41c938d14 100755
--- a/tests/generic/494
+++ b/tests/generic/494
@@ -26,7 +26,7 @@ blocks=160
blksz=65536
echo "Initialize file"
-_format_swapfile "$testdir/file1" $((blocks * blksz))
+_format_swapfile "$testdir/file1" $((blocks * blksz)) > /dev/null
swapon "$testdir/file1"
echo "Try to truncate"
diff --git a/tests/generic/554 b/tests/generic/554
index c19842859b..b9efee0d2c 100755
--- a/tests/generic/554
+++ b/tests/generic/554
@@ -30,7 +30,7 @@ _scratch_mount
$XFS_IO_PROG -f -c "pwrite -S 0x61 0 128k" $SCRATCH_MNT/file >> $seqres.full 2>&1
echo swap files return ETXTBUSY
-_format_swapfile $SCRATCH_MNT/swapfile 16m
+_format_swapfile $SCRATCH_MNT/swapfile 16m > /dev/null
_swapon_file $SCRATCH_MNT/swapfile
$XFS_IO_PROG -f -c "copy_range -l 32k $SCRATCH_MNT/file" $SCRATCH_MNT/swapfile
diff --git a/tests/generic/569 b/tests/generic/569
index 1dc54da8d3..c5dcfefe2f 100755
--- a/tests/generic/569
+++ b/tests/generic/569
@@ -31,7 +31,7 @@ _scratch_mount >> $seqres.full 2>&1
testfile=$SCRATCH_MNT/$seq.swap
-_format_swapfile $testfile 20m
+_format_swapfile $testfile 20m > /dev/null
# Can you modify the swapfile via previously open file descriptors?
for verb in 1 2 3 4; do