mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
xfs/007: check correct quota inodes
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@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
committed by
Dave Chinner
parent
de161cbaac
commit
13c2dcbe27
+38
-42
@@ -48,55 +48,51 @@ _supported_os Linux Irix
|
||||
_require_scratch
|
||||
_require_xfs_quota
|
||||
|
||||
rm -f $seqres.full
|
||||
|
||||
_scratch_mkfs_xfs >/dev/null 2>&1
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
# Test user and group first
|
||||
_qmount_option "uquota,gquota"
|
||||
_qmount
|
||||
do_test uquotino gquotino ug
|
||||
|
||||
echo "*** umount"
|
||||
umount $SCRATCH_MNT
|
||||
|
||||
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}'`
|
||||
|
||||
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
|
||||
|
||||
_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
|
||||
|
||||
# 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
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user