mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
631dd76a31
Since commit a79a464d5675 ("btrfs: Allow rmdir(2) to delete an empty
subvolume"), rm -r can delete a subvolume too.
This test assumes that rm -r does not delete a subvolume.
Currently the commit does not affect the test since qgroup items
still exist after subvolume deletion, but we plan to change the
behavior and remove them along with subvolume deletion.
So update the test and keep subvolume (and qgroup item) in any kernel
version.
Signed-off-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
67 lines
1.6 KiB
Bash
Executable File
67 lines
1.6 KiB
Bash
Executable File
#! /bin/bash
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
# Copyright (C) 2014 Fujitsu. All rights reserved.
|
|
#
|
|
# FSQA Test No. btrfs/057
|
|
#
|
|
# Quota rescan stress test, we run fsstress and quota rescan concurrently
|
|
#
|
|
seq=`basename $0`
|
|
seqres=$RESULT_DIR/$seq
|
|
echo "QA output created by $seq"
|
|
|
|
here=`pwd`
|
|
tmp=/tmp/$$
|
|
status=1
|
|
|
|
_cleanup()
|
|
{
|
|
cd /
|
|
rm -f $tmp.*
|
|
}
|
|
trap "_cleanup; exit \$status" 0 1 2 3 15
|
|
|
|
# get standard environment, filters and checks
|
|
. ./common/rc
|
|
. ./common/filter
|
|
|
|
# real QA test starts here
|
|
_supported_fs btrfs
|
|
_supported_os Linux
|
|
_require_scratch
|
|
|
|
rm -f $seqres.full
|
|
|
|
# use small leaf size to get higher btree height.
|
|
run_check _scratch_mkfs "-b 1g --nodesize 4096"
|
|
|
|
# inode cache is saved in the FS tree itself for every
|
|
# individual FS tree,that affects the sizes reported by qgroup show
|
|
# so we need to explicitly turn it off to get consistent values.
|
|
_scratch_mount "-o noinode_cache"
|
|
|
|
# -w ensures that the only ops are ones which cause write I/O
|
|
run_check $FSSTRESS_PROG -d $SCRATCH_MNT -w -p 5 -n 1000 \
|
|
$FSSTRESS_AVOID >&/dev/null
|
|
|
|
_run_btrfs_util_prog subvolume snapshot $SCRATCH_MNT \
|
|
$SCRATCH_MNT/snap1
|
|
|
|
run_check $FSSTRESS_PROG -d $SCRATCH_MNT/snap1 -w -p 5 -n 1000 \
|
|
$FSSTRESS_AVOID >&/dev/null
|
|
|
|
_run_btrfs_util_prog quota enable $SCRATCH_MNT
|
|
_run_btrfs_util_prog quota rescan -w $SCRATCH_MNT
|
|
|
|
# remove all file/dir other than subvolume
|
|
rm -rf $SCRATCH_MNT/snap1/* >& /dev/null
|
|
rm -rf $SCRATCH_MNT/p* >& /dev/null
|
|
|
|
_run_btrfs_util_prog filesystem sync $SCRATCH_MNT
|
|
units=`_btrfs_qgroup_units`
|
|
$BTRFS_UTIL_PROG qgroup show $units $SCRATCH_MNT | $SED_PROG -n '/[0-9]/p' \
|
|
| $AWK_PROG '{print $2" "$3}'
|
|
|
|
status=0
|
|
exit
|