diff mbox series

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

Message ID 20210712111146.82734-4-hch@lst.de (mailing list archive)
State Superseded
Headers show
Series [1/6] common/quota: allow removing quota options entirely in _qmount_option | expand

Commit Message

Christoph Hellwig July 12, 2021, 11:11 a.m. UTC
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(-)

Comments

Darrick J. Wong July 14, 2021, 11:37 p.m. UTC | #1
On Mon, Jul 12, 2021 at 01:11:43PM +0200, Christoph Hellwig wrote:
> 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

Why not make these three lines the method body of test_off() ?

--D

>  	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
>
diff mbox series

Patch

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