On 9/8/14 5:01 AM, Dave Chinner wrote:
On Thu, Aug 28, 2014 at 09:47:42PM +0800, Eryu Guan wrote:Run btrfs balance and subvolume create/mount/umount/delete simultaneously, with fsstress running in background. Signed-off-by: Eryu Guan <eguan@xxxxxxxxxx> --- common/rc | 24 ++++++++++ tests/btrfs/059 | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++++ tests/btrfs/059.out | 2 + tests/btrfs/group | 1 + 4 files changed, 156 insertions(+) create mode 100755 tests/btrfs/059 create mode 100644 tests/btrfs/059.out diff --git a/common/rc b/common/rc index 16da898..c1a7b9e 100644 --- a/common/rc +++ b/common/rc @@ -2375,6 +2375,30 @@ _get_free_inode() echo $nr_inode } +_btrfs_stress_balance() +{ + local btrfs_mnt=$1 + while true; do + $BTRFS_UTIL_PROG balance start $btrfs_mnt + done +} + +_btrfs_stress_subvolume() +{ + local btrfs_dev=$1 + local btrfs_mnt=$2 + local subvol_name=$3 + local subvol_mnt=$4 + + mkdir -p $subvol_mnt + while true; do + $BTRFS_UTIL_PROG subvolume create $btrfs_mnt/$subvol_name + $MOUNT_PROG -o subvol=$subvol_name $btrfs_dev $subvol_mnt + $UMOUNT_PROG $subvol_mnt + $BTRFS_UTIL_PROG subvolume delete $btrfs_mnt/$subvol_name + done +} +I'm thinking that we need to start separating common/rc in filesystem specific include files. Not necessary for this series, but we really need to so using this file as a dumping ground for shared code rather than for init and config stuff.+echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 +trap "_cleanup; exit \$status" 0 1 2 3 15 + +_cleanup() +{ + cd / + rm -fr $tmp.* +}Really dangerous, that. if $tmp is empty, then that will remove everything under / (i.e. 'cd /; rm -rf .*'). You shouldn't be using subdirs under $tmp - if you need lots of temporary data for the test, it should be under $TESTDIR, not on the root filesystem.
FWIW, there are a several other tests which do this, at least: tests/generic/003-1356- cd / tests/generic/003:1365: rm -rf $tmp.* tests/generic/273-1120- cd / tests/generic/273:1126: rm -rf $tmp.* tests/generic/320-1280- cd / tests/generic/320:1286: rm -rf $tmp.* tests/xfs/287-1248- cd / tests/xfs/287-1254- umount $SCRATCH_MNT 2>/dev/null tests/xfs/287:1287: rm -rf $tmp.* Should probably clean those up for safety and to avoid further cut and paste ... -Eric -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
