2 # SPDX-License-Identifier: GPL-2.0
3 # Copyright (c) 2018 Facebook. All Rights Reserved.
7 # Test truncation/hole punching of an active swapfile.
10 seqres=$RESULT_DIR/$seq
11 echo "QA output created by $seq"
15 status=1 # failure is the default!
16 trap "_cleanup; exit \$status" 0 1 2 3 15
31 _require_scratch_swapfile
32 _require_xfs_io_command "fpunch"
34 echo "Format and mount"
35 _scratch_mkfs > $seqres.full 2>&1
36 _scratch_mount >> $seqres.full 2>&1
38 testdir="$SCRATCH_MNT/test-$seq"
44 echo "Initialize file"
45 _format_swapfile "$testdir/file1" $((blocks * blksz))
46 swapon "$testdir/file1"
48 echo "Try to truncate"
49 $XFS_IO_PROG -c "truncate $blksz" "$testdir/file1"
51 echo "Try to punch hole"
52 $XFS_IO_PROG -c "fpunch $blksz $((2 * blksz))" "$testdir/file1"
55 swapoff "$testdir/file1"