ping? On Tue, Sep 30, 2014 at 12:37:16PM +1000, Dave Chinner wrote: > From: Dave Chinner <dchinner@xxxxxxxxxx> > > Commit b8cac56 ("xfs/007: add project quota Q_XQUOTARM test") has > been broken since it was added - the new code checked the group > quota inode rather than the project quota inode and so always > reported a pre-RM block count of zero. This occurred due to a copy > and paste of the existing user/group test code and didn't fix up all > the code properly. > > Factor the common code into a single function, and pass in the > correct variables the tests require. While there, make sure that we > remove the 007.full file before the test starts to aid future > debugging and also check that project quotas are supported before > trying to test them. > > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> > --- > tests/xfs/007 | 78 ++++++++++++++++++++++++++----------------------------- > tests/xfs/007.out | 4 +-- > 2 files changed, 39 insertions(+), 43 deletions(-) > > diff --git a/tests/xfs/007 b/tests/xfs/007 > index 247c5b3..22ee27d 100755 > --- a/tests/xfs/007 > +++ b/tests/xfs/007 > @@ -48,55 +48,51 @@ _supported_os Linux Irix > _require_scratch > _require_xfs_quota > > -_scratch_mkfs_xfs >/dev/null 2>&1 > - > -_qmount_option "uquota,gquota" > -_qmount > +rm -f $seqres.full > > -echo "*** umount" > -umount $SCRATCH_MNT > +_scratch_mkfs_xfs >/dev/null 2>&1 > > -UQUOTINO=`xfs_db -c "sb 0" -c "p" $SCRATCH_DEV | grep uquotino | awk '{print $NF}'` > -GQUOTINO=`xfs_db -c "sb 0" -c "p" $SCRATCH_DEV | grep gquotino | awk '{print $NF}'` > +do_test() > +{ > + qino_1=$1 > + qino_2=$2 > + off_opts=$3 > + > + echo "*** umount" > + umount $SCRATCH_MNT > + > + QINO_1=`xfs_db -c "sb 0" -c "p" $SCRATCH_DEV | \ > + grep $qino_1 | awk '{print $NF}'` > + QINO_2=`xfs_db -c "sb 0" -c "p" $SCRATCH_DEV | \ > + grep $qino_2 | awk '{print $NF}'` > + > + echo "*** Usage before quotarm ***" > + xfs_db -c "inode $QINO_1" -c "p core.nblocks" $SCRATCH_DEV > + xfs_db -c "inode $QINO_2" -c "p core.nblocks" $SCRATCH_DEV > + > + _qmount > + echo "*** turn off $off_opts quotas" > + xfs_quota -x -c "off -$off_opts" $SCRATCH_MNT > + xfs_quota -x -c "remove -$off_opts" $SCRATCH_MNT > + echo "*** umount" > + umount $SCRATCH_MNT > + > + echo "*** Usage after quotarm ***" > + xfs_db -c "inode $QINO_1" -c "p core.nblocks" $SCRATCH_DEV > + xfs_db -c "inode $QINO_2" -c "p core.nblocks" $SCRATCH_DEV > +} > > -echo "*** Usage before quotarm ***" > -xfs_db -c "inode $UQUOTINO" -c "p core.nblocks" $SCRATCH_DEV > -xfs_db -c "inode $GQUOTINO" -c "p core.nblocks" $SCRATCH_DEV > > +# Test user and group first > +_qmount_option "uquota,gquota" > _qmount > -echo "*** turn off user and group quotas" > -xfs_quota -x -c 'off -ug' $SCRATCH_MNT > -xfs_quota -x -c "remove -ug" $SCRATCH_MNT > -echo "*** umount" > -umount $SCRATCH_MNT > - > -echo "*** Usage after quotarm ***" > -xfs_db -c "inode $UQUOTINO" -c "p core.nblocks" $SCRATCH_DEV > -xfs_db -c "inode $GQUOTINO" -c "p core.nblocks" $SCRATCH_DEV > +do_test uquotino gquotino ug > > +# Test user and project > _qmount_option "uquota,pquota" > _qmount > - > -echo "*** umount" > -umount $SCRATCH_MNT > - > -UQUOTINO=`xfs_db -c "sb 0" -c "p" $SCRATCH_DEV | grep uquotino | awk '{print $NF}'` > -PQUOTINO=`xfs_db -c "sb 0" -c "p" $SCRATCH_DEV | grep gquotino | awk '{print $NF}'` > - > -echo "*** Usage before quotarm ***" > -xfs_db -c "inode $UQUOTINO" -c "p core.nblocks" $SCRATCH_DEV > -xfs_db -c "inode $PQUOTINO" -c "p core.nblocks" $SCRATCH_DEV > - > -_qmount > -echo "*** turn off user and project quotas" > -xfs_quota -x -c 'off -up' $SCRATCH_MNT > -xfs_quota -x -c "remove -up" $SCRATCH_MNT > -echo "*** umount" > -umount $SCRATCH_MNT > - > -echo "*** Usage after quotarm ***" > -xfs_db -c "inode $UQUOTINO" -c "p core.nblocks" $SCRATCH_DEV > -xfs_db -c "inode $PQUOTINO" -c "p core.nblocks" $SCRATCH_DEV > +_require_prjquota $SCRATCH_DEV > +do_test uquotino pquotino up > > # success, all done > status=0 > diff --git a/tests/xfs/007.out b/tests/xfs/007.out > index 7c5bff5..8b5f3ea 100644 > --- a/tests/xfs/007.out > +++ b/tests/xfs/007.out > @@ -3,7 +3,7 @@ QA output created by 007 > *** Usage before quotarm *** > core.nblocks = 1 > core.nblocks = 1 > -*** turn off user and group quotas > +*** turn off ug quotas > *** umount > *** Usage after quotarm *** > core.nblocks = 0 > @@ -12,7 +12,7 @@ core.nblocks = 0 > *** Usage before quotarm *** > core.nblocks = 1 > core.nblocks = 1 > -*** turn off user and project quotas > +*** turn off up quotas > *** umount > *** Usage after quotarm *** > core.nblocks = 0 > -- > 2.0.0 > > -- > To unsubscribe from this list: send the line "unsubscribe fstests" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- Dave Chinner david@xxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html