# - Use the debugger to fake a leftover CoW extent
# - See if mount/umount fixes it
#
-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 -rf $tmp.*
-}
+. ./common/preamble
+_begin_fstest auto quick clone
-# get standard environment, filters and checks
-. ./common/rc
+# Import common functions.
. ./common/filter
. ./common/reflink
# real QA test starts here
-_supported_os Linux
_supported_fs xfs
_require_scratch_reflink
-rm -f $seqres.full
-
echo "Format"
_scratch_mkfs > $seqres.full 2>&1
_scratch_mount >> $seqres.full
is_rmap=$($XFS_INFO_PROG $SCRATCH_MNT | grep -c "rmapbt=1")
-_scratch_unmount
+_scratch_xfs_unmount_dirty
_get_agf_data() {
field="$1"
echo "Remove the extent from the freesp btrees"
_set_agf_data "recs[1].blockcount" $((len - debris_len)) -c 'addr bnoroot'
_set_agf_data "recs[1].blockcount" $((len - debris_len)) -c 'addr cntroot'
-_set_agf_data freeblks $((agf_freeblks - debris_len))
_set_agf_data longest $((len - debris_len))
+_set_agf_data freeblks $((agf_freeblks - debris_len))
_set_sb_data fdblocks $((sb_fdblocks - debris_len))
echo "Add the extent to the refcount btree"
_dump_status "broken fs config" >> $seqres.full
-echo "Look for leftover warning in xfs_check"
-_scratch_xfs_check | _filter_leftover
-
echo "Look for leftover warning in xfs_repair"
_scratch_xfs_repair -n 2>&1 | _filter_leftover