From: Omar Sandoval Date: Fri, 2 Nov 2018 21:29:37 +0000 (-0700) Subject: generic/{472,496}: fix swap file creation on Btrfs X-Git-Tag: v2022.05.01~1353 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=70c4067285b0bc07661590ab608388e0bab1c912;p=xfstests-dev.git generic/{472,496}: fix swap file creation on Btrfs The swap file must be set nocow before it is written to, otherwise it is ignored and Btrfs refuses to activate it as swap. Fixes: 25ce9740065e ("generic: test swapfile creation, activation, and deactivation") Signed-off-by: Omar Sandoval Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- diff --git a/tests/generic/472 b/tests/generic/472 index 04ed3e73..aba4a007 100755 --- a/tests/generic/472 +++ b/tests/generic/472 @@ -42,13 +42,15 @@ _scratch_mount >>$seqres.full 2>&1 swapfile=$SCRATCH_MNT/swap len=$((2 * 1048576)) -page_size=$(get_page_size) swapfile_cycle() { local swapfile="$1" + local len="$2" + touch $swapfile # Swap files must be nocow on Btrfs. $CHATTR_PROG +C $swapfile >> $seqres.full 2>&1 + _pwrite_byte 0x58 0 $len $swapfile >> $seqres.full "$here/src/mkswap" $swapfile >> $seqres.full "$here/src/swapon" $swapfile 2>&1 | _filter_scratch swapoff $swapfile 2>> $seqres.full @@ -57,20 +59,16 @@ swapfile_cycle() { # Create a regular swap file echo "regular swap" | tee -a $seqres.full -_pwrite_byte 0x58 0 $len $swapfile >> $seqres.full -swapfile_cycle $swapfile +swapfile_cycle $swapfile $len # Create a swap file with a little too much junk on the end echo "too long swap" | tee -a $seqres.full -_pwrite_byte 0x58 0 $((len + 3)) $swapfile >> $seqres.full -swapfile_cycle $swapfile +swapfile_cycle $swapfile $((len + 3)) # Create a ridiculously small swap file. Each swap file must have at least # two pages after the header page. echo "tiny swap" | tee -a $seqres.full -tiny_len=$((page_size * 3)) -_pwrite_byte 0x58 0 $tiny_len $swapfile >> $seqres.full -swapfile_cycle $swapfile +swapfile_cycle $swapfile $(($(get_page_size) * 3)) status=0 exit diff --git a/tests/generic/496 b/tests/generic/496 index 968b8012..3083eef0 100755 --- a/tests/generic/496 +++ b/tests/generic/496 @@ -49,8 +49,6 @@ page_size=$(get_page_size) swapfile_cycle() { local swapfile="$1" - # Swap files must be nocow on Btrfs. - $CHATTR_PROG +C $swapfile >> $seqres.full 2>&1 "$here/src/mkswap" $swapfile >> $seqres.full "$here/src/swapon" $swapfile 2>&1 | _filter_scratch swapoff $swapfile 2>> $seqres.full @@ -59,8 +57,10 @@ swapfile_cycle() { # Create a fallocated swap file echo "fallocate swap" | tee -a $seqres.full -$XFS_IO_PROG -f -c "falloc 0 $len" $swapfile >> $seqres.full +touch $swapfile +# Swap files must be nocow on Btrfs. $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"