Files
apfstests/tests/generic/554
T
Amir Goldstein 803d3afd2f generic/554: test only copy to active swap file
Depending on filesystem, copying from active swapfile may be allowed,
just as read from swapfile may be allowed.

Note the kernel fix commit in test description.

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2019-06-16 21:17:12 +08:00

57 lines
1.1 KiB
Bash
Executable File

#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2018 Red Hat, Inc. All Rights Reserved.
#
# FS QA Test No. 554
#
# Check that we cannot copy_file_range() to a swapfile
#
# This is a regression test for kernel commit:
# a31713517dac ("vfs: introduce generic_file_rw_checks()")
#
seq=`basename $0`
seqres=$RESULT_DIR/$seq
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 7 15
_cleanup()
{
cd /
rm -f $tmp.*
}
# get standard environment, filters and checks
. ./common/rc
. ./common/filter
# real QA test starts here
_supported_os Linux
_supported_fs generic
rm -f $seqres.full
_require_scratch
_require_xfs_io_command "copy_range"
_require_scratch_swapfile
_scratch_mkfs 2>&1 >> $seqres.full
_scratch_mount
rm -f $seqres.full
$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
swapon $SCRATCH_MNT/swapfile
$XFS_IO_PROG -f -c "copy_range -l 32k $SCRATCH_MNT/file" $SCRATCH_MNT/swapfile
swapoff $SCRATCH_MNT/swapfile
# success, all done
status=0
exit