[PATCH 3/6] xfs/106: don't test disabling quota accounting

Christoph Hellwig
2021-07-12T11:13:15Z

Switch the test that removes the quota files to just disable
enforcement and then unmount the file system as disabling quota
accounting is about to go away.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
tests/xfs/106 | 45 ++++++++++++++++++-------------------
tests/xfs/106.out | 57 +++++++++++++++++++++++++++++++++++++++--------
2 files changed, 70 insertions(+), 32 deletions(-)

diff --git a/tests/xfs/106 b/tests/xfs/106
index f1397f94..5f0512d6 100755
--- a/tests/xfs/106
+++ b/tests/xfs/106
@@ -153,13 +153,6 @@ test_enable()
-c "enable -$type -v" $SCRATCH_MNT | filter_state
}

-test_off()
-{
- echo "checking off command (type=$type)"
- $XFS_QUOTA_PROG -D $tmp.projects -P $tmp.projid -x \
- -c "off -$type -v" $SCRATCH_MNT | _filter_scratch
-}
-
test_remove()
{
echo "checking remove command (type=$type)"
@@ -194,6 +187,15 @@ test_restore()

test_xfs_quota()
{
+ _qmount_option $1
+ _qmount
+
+ if [ $type == "p" ]; then
+ _require_prjquota $SCRATCH_DEV
+ $XFS_QUOTA_PROG -D $tmp.projects -P $tmp.projid -x \
+ -c "project -s $id" $SCRATCH_MNT > /dev/null
+ fi
+
# init quota
echo "init quota limit and timer, and dump it"
echo "create_files 1024k 15"; create_files 1024k 15
@@ -236,14 +238,21 @@ test_xfs_quota()
echo ; test_report -N

# off and remove test
- echo "off and remove test"
+ echo "disable and remove test"
echo ; test_limit 100m 100m 100 100
echo ; test_quota -N
- echo ; test_off
+ echo ; test_disable
echo ; test_state
+ _scratch_unmount
+ _qmount_option ""
+ _qmount
echo ; test_remove
echo ; test_report -N
- echo "quota remount"; _qmount
+ _scratch_unmount
+
+ echo "quota remount";
+ _qmount_option $1
+ _qmount
echo ; test_report -N

# restore test
@@ -255,33 +264,23 @@ test_xfs_quota()
}

echo "----------------------- uquota,sync ---------------------------"
-_qmount_option "uquota,sync"
-_qmount
type=u
id=$uqid
-test_xfs_quota
+test_xfs_quota "uquota,sync"

echo "----------------------- gquota,sync ---------------------------"
-_qmount_option "gquota,sync"
-_qmount
type=g
id=$gqid
-test_xfs_quota
+test_xfs_quota "gquota,sync"

echo "----------------------- pquota,sync ---------------------------"
# Need to clean the group quota before test project quota, because
# V4 xfs doesn't support separate project inode. So mkfs at here.
_scratch_unmount
_scratch_mkfs_xfs >>$seqres.full 2>&1
-_qmount_option "pquota,sync"
-_qmount
type=p
id=$pqid
-_require_prjquota $SCRATCH_DEV
-$XFS_QUOTA_PROG -D $tmp.projects -P $tmp.projid -x \
- -c "project -s $id" \
- $SCRATCH_MNT > /dev/null
-test_xfs_quota
+test_xfs_quota "pquota,sync"

_scratch_unmount
# success, all done
diff --git a/tests/xfs/106.out b/tests/xfs/106.out
index e36375d3..2af17bc9 100644
--- a/tests/xfs/106.out
+++ b/tests/xfs/106.out
@@ -124,17 +124,30 @@ Realtime Blocks grace time: [7 days]
checking report command (type=u)
fsgqa 1024 512 2048 00 [3 days] 15 10 20 00 [3 days]

-off and remove test
+disable and remove test

checking limit command (type=u, bsoft=100m, bhard=100m, isoft=100, ihard=100)

checking quota command (type=u)
SCRATCH_DEV 1024 102400 102400 00 [--------] 15 100 100 00 [--------] SCRATCH_MNT

-checking off command (type=u)
-User quota are not enabled on SCRATCH_DEV
+checking disable command (type=u)
+User quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: OFF
+ Inode: #[INO] (X blocks, Y extents)
+Blocks grace time: [3 days]
+Inodes grace time: [3 days]
+Realtime Blocks grace time: [7 days]

checking state command (type=u)
+User quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: OFF
+ Inode: #[INO] (X blocks, Y extents)
+Blocks grace time: [3 days]
+Inodes grace time: [3 days]
+Realtime Blocks grace time: [7 days]

checking remove command (type=u)
User quota are not enabled on SCRATCH_DEV
@@ -288,17 +301,30 @@ Realtime Blocks grace time: [7 days]
checking report command (type=g)
fsgqa 1024 512 2048 00 [3 days] 15 10 20 00 [3 days]

-off and remove test
+disable and remove test

checking limit command (type=g, bsoft=100m, bhard=100m, isoft=100, ihard=100)

checking quota command (type=g)
SCRATCH_DEV 1024 102400 102400 00 [--------] 15 100 100 00 [--------] SCRATCH_MNT

-checking off command (type=g)
-Group quota are not enabled on SCRATCH_DEV
+checking disable command (type=g)
+Group quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: OFF
+ Inode: #[INO] (X blocks, Y extents)
+Blocks grace time: [3 days]
+Inodes grace time: [3 days]
+Realtime Blocks grace time: [7 days]

checking state command (type=g)
+Group quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: OFF
+ Inode: #[INO] (X blocks, Y extents)
+Blocks grace time: [3 days]
+Inodes grace time: [3 days]
+Realtime Blocks grace time: [7 days]

checking remove command (type=g)
Group quota are not enabled on SCRATCH_DEV
@@ -452,17 +478,30 @@ Realtime Blocks grace time: [7 days]
checking report command (type=p)
fsgqa 1024 512 2048 00 [3 days] 15 10 20 00 [3 days]

-off and remove test
+disable and remove test

checking limit command (type=p, bsoft=100m, bhard=100m, isoft=100, ihard=100)

checking quota command (type=p)
SCRATCH_DEV 1024 102400 102400 00 [--------] 15 100 100 00 [--------] SCRATCH_MNT

-checking off command (type=p)
-Project quota are not enabled on SCRATCH_DEV
+checking disable command (type=p)
+Project quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: OFF
+ Inode: #[INO] (X blocks, Y extents)
+Blocks grace time: [3 days]
+Inodes grace time: [3 days]
+Realtime Blocks grace time: [7 days]

checking state command (type=p)
+Project quota state on SCRATCH_MNT (SCRATCH_DEV)
+ Accounting: ON
+ Enforcement: OFF
+ Inode: #[INO] (X blocks, Y extents)
+Blocks grace time: [3 days]
+Inodes grace time: [3 days]
+Realtime Blocks grace time: [7 days]

checking remove command (type=p)
Project quota are not enabled on SCRATCH_DEV
--
2.30.2