From: Allan Randall Date: Thu, 28 Sep 2006 15:51:04 +0000 (+0000) Subject: Test to reproduce PV951636: project quotas not updated if a file is mv'd into that... X-Git-Tag: v1.1.0~577 X-Git-Url: http://git.apps.os.sepia.ceph.com/?p=xfstests-dev.git;a=commitdiff_plain;h=a15a1cb0eddfccd363e1c139b96d191c88f3f5cd Test to reproduce PV951636: project quotas not updated if a file is mv'd into that directory Merge of master-melb:xfs-cmds:27072a by kenmcd. Test to reproduce PV951636: project quotas not updated if a file is mv'd into that directory --- diff --git a/134 b/134 new file mode 100755 index 00000000..47c1f624 --- /dev/null +++ b/134 @@ -0,0 +1,96 @@ +#! /bin/sh +# FS QA Test No. 134 +# +# test to reproduce PV951636: +# project quotas not updated if a file is mv'd into that directory +# +#----------------------------------------------------------------------- +# Copyright (c) 2006 Silicon Graphics, Inc. All Rights Reserved. +#----------------------------------------------------------------------- +# +# creator +owner=allanr@sgi.com + +seq=`basename $0` +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! + +# get standard environment, filters and checks +. ./common.rc +. ./common.filter +. ./common.quota + +_cleanup() +{ + cd / + umount $SCRATCH_MNT 2>/dev/null + rm -f $tmp.* +} +#trap "_cleanup; exit \$status" 0 1 2 3 15 + + +# real QA test starts here +_supported_fs xfs +_supported_os Linux IRIX + +dir=$SCRATCH_MNT/project + +#project quota files +cat >$tmp.projects <$tmp.projid </dev/null 2>&1 + +if ! _scratch_mount "-o pquota" >$tmp.out 2>&1 +then + cat $tmp.out + echo "!!! mount failed" + exit +fi + +src/feature -p $SCRATCH_DEV +[ $? -ne 0 ] && _notrun "Installed kernel does not support project quotas" + + +mkdir $dir +$XFS_IO_PROG -r -c "chproj -R 1" -c "chattr -R +P" $dir + +xfs_quota -D $tmp.projects -P $tmp.projid -x \ + -c "limit -p bsoft=100m bhard=100m 1" $SCRATCH_DEV +xfs_quota -D $tmp.projects -P $tmp.projid -x -c "repquota -inN -p" $SCRATCH_DEV | tr -s '[:space:]' +touch $dir/1 +touch $dir/2 +cp $dir/2 $dir/3 + +xfs_quota -D $tmp.projects -P $tmp.projid -x -c "repquota -inN -p" $SCRATCH_DEV | tr -s '[:space:]' + +if [ "$HOSTOS" == "IRIX" ] ; then + mkfile 1M $TEST_DIR/6 +else + xfs_mkfile 1M $TEST_DIR/6 +fi + +#try cp to dir +cp $TEST_DIR/6 $dir/6 +xfs_quota -D $tmp.projects -P $tmp.projid -x -c "repquota -inN -p" $SCRATCH_DEV | tr -s '[:space:]' + +#try mv to dir +mv $TEST_DIR/6 $dir/7 + +xfs_quota -D $tmp.projects -P $tmp.projid -x -c "repquota -inN -p" $SCRATCH_DEV | tr -s '[:space:]' + +# success, all done +status=0 +exit diff --git a/134.out b/134.out new file mode 100644 index 00000000..689cf2fe --- /dev/null +++ b/134.out @@ -0,0 +1,5 @@ +QA output created by 134 +#1 1 0 0 00 [--------] +#1 4 0 0 00 [--------] +#1 5 0 0 00 [--------] +#1 6 0 0 00 [--------] diff --git a/group b/group index 6347f8a9..2c20b31a 100644 --- a/group +++ b/group @@ -213,3 +213,4 @@ pattern ajones@sgi.com 131 perms auto 132 pattern auto 133 rw +134 quota auto