#! /bin/bash # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2018 Facebook. All Rights Reserved. # # FS QA Test 493 # # Check that we can't dedupe a swapfile. # 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 15 _cleanup() { cd / rm -f $tmp.* } . ./common/rc . ./common/filter . ./common/reflink rm -f $seqres.full _supported_fs generic _require_scratch_swapfile _require_scratch_dedupe echo "Format and mount" _scratch_mkfs > $seqres.full 2>&1 _scratch_mount >> $seqres.full 2>&1 testdir="$SCRATCH_MNT/test-$seq" mkdir "$testdir" blocks=160 blksz=65536 echo "Initialize file" _format_swapfile "$testdir/file1" $((blocks * blksz)) swapon "$testdir/file1" touch "$testdir/file2" $CHATTR_PROG +C "$testdir/file2" >/dev/null 2>&1 echo "Try to dedupe" cp "$testdir/file1" "$testdir/file2" _dedupe_range "$testdir/file1" 0 "$testdir/file2" 0 $((blocks * blksz)) _dedupe_range "$testdir/file2" 0 "$testdir/file1" 0 $((blocks * blksz)) echo "Tear it down" swapoff "$testdir/file1" status=0 exit