public inbox for linux-ext4@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] generic: use _qmount_option and _qmount
@ 2025-11-24 13:20 Su Yue
  2025-12-01 22:59 ` Darrick J. Wong
  0 siblings, 1 reply; 6+ messages in thread
From: Su Yue @ 2025-11-24 13:20 UTC (permalink / raw)
  To: fstests; +Cc: l, linux-ext4, linux-xfs, Su Yue

Many generic tests call `_scratch_mount -o usrquota` then
chmod 777, quotacheck and quotaon.
It can be simpilfied to _qmount_option and _qmount. The later
function already calls quotacheck, quota and chmod.

Convertaions can save a few lines. tests/generic/380 is an exception
because it tests chown.

Signed-off-by: Su Yue <glass.su@suse.com>
---
 tests/generic/082 |  9 ++-------
 tests/generic/219 | 11 ++++-------
 tests/generic/230 | 11 ++++++-----
 tests/generic/231 |  6 ++----
 tests/generic/232 |  6 ++----
 tests/generic/233 |  6 ++----
 tests/generic/234 |  5 ++---
 tests/generic/235 |  5 ++---
 tests/generic/244 |  1 -
 tests/generic/270 |  6 ++----
 tests/generic/280 |  5 ++---
 tests/generic/400 |  2 +-
 12 files changed, 27 insertions(+), 46 deletions(-)

diff --git a/tests/generic/082 b/tests/generic/082
index f078ef2ffff9..6bb9cf2a22ae 100755
--- a/tests/generic/082
+++ b/tests/generic/082
@@ -23,13 +23,8 @@ _require_scratch
 _require_quota
 
 _scratch_mkfs >>$seqres.full 2>&1
-_scratch_mount "-o usrquota,grpquota"
-
-# xfs doesn't need these setups and quotacheck even fails on xfs, so just
-# redirect the output to $seqres.full for debug purpose and ignore the results,
-# as we check the quota status later anyway.
-quotacheck -ug $SCRATCH_MNT >>$seqres.full 2>&1
-quotaon $SCRATCH_MNT >>$seqres.full 2>&1
+_qmount_option 'usrquota,grpquota'
+_qmount "usrquota,grpquota"
 
 # first remount ro with a bad option, a failed remount ro should not disable
 # quota, but currently xfs doesn't fail in this case, the unknown option is
diff --git a/tests/generic/219 b/tests/generic/219
index 642823859886..a2eb0b20f408 100755
--- a/tests/generic/219
+++ b/tests/generic/219
@@ -91,25 +91,22 @@ test_accounting()
 
 _scratch_unmount 2>/dev/null
 _scratch_mkfs >> $seqres.full 2>&1
-_scratch_mount "-o usrquota,grpquota"
+_qmount_option "usrquota,grpquota"
+_qmount
 _force_vfs_quota_testing $SCRATCH_MNT
-quotacheck -u -g $SCRATCH_MNT 2>/dev/null
-quotaon $SCRATCH_MNT 2>/dev/null
 _scratch_unmount
 
 echo; echo "### test user accounting"
-export MOUNT_OPTIONS="-o usrquota"
+_qmount_option "usrquota"
 _qmount
-quotaon $SCRATCH_MNT 2>/dev/null
 type=u
 test_files
 test_accounting
 _scratch_unmount 2>/dev/null
 
 echo; echo "### test group accounting"
-export MOUNT_OPTIONS="-o grpquota"
+_qmount_option "grpquota"
 _qmount
-quotaon $SCRATCH_MNT 2>/dev/null
 type=g
 test_files
 test_accounting
diff --git a/tests/generic/230 b/tests/generic/230
index a8caf5a808c3..0a680dbc874b 100755
--- a/tests/generic/230
+++ b/tests/generic/230
@@ -99,7 +99,8 @@ grace=2
 _qmount_option 'defaults'
 
 _scratch_mkfs >> $seqres.full 2>&1
-_scratch_mount "-o usrquota,grpquota"
+_qmount_option "usrquota,grpquota"
+_qmount
 _force_vfs_quota_testing $SCRATCH_MNT
 BLOCK_SIZE=$(_get_file_block_size $SCRATCH_MNT)
 quotacheck -u -g $SCRATCH_MNT 2>/dev/null
@@ -113,8 +114,8 @@ setquota -g -t $grace $grace $SCRATCH_MNT
 _scratch_unmount
 
 echo; echo "### test user limit enforcement"
-_scratch_mount "-o usrquota"
-quotaon $SCRATCH_MNT 2>/dev/null
+_qmount_option "usrquota"
+_qmount
 type=u
 test_files
 test_enforcement
@@ -122,8 +123,8 @@ cleanup_files
 _scratch_unmount 2>/dev/null
 
 echo; echo "### test group limit enforcement"
-_scratch_mount "-o grpquota"
-quotaon $SCRATCH_MNT 2>/dev/null
+_qmount_option "grpquota"
+_qmount
 type=g
 test_files
 test_enforcement
diff --git a/tests/generic/231 b/tests/generic/231
index ce7e62ea1886..02910523d0b5 100755
--- a/tests/generic/231
+++ b/tests/generic/231
@@ -47,10 +47,8 @@ _require_quota
 _require_user
 
 _scratch_mkfs >> $seqres.full 2>&1
-_scratch_mount "-o usrquota,grpquota"
-chmod 777 $SCRATCH_MNT
-quotacheck -u -g $SCRATCH_MNT 2>/dev/null
-quotaon -u -g $SCRATCH_MNT 2>/dev/null
+_qmount_option "usrquota,grpquota"
+_qmount
 
 if ! _fsx 1; then
 	_scratch_unmount 2>/dev/null
diff --git a/tests/generic/232 b/tests/generic/232
index c903a5619045..21375809d299 100755
--- a/tests/generic/232
+++ b/tests/generic/232
@@ -44,10 +44,8 @@ _require_scratch
 _require_quota
 
 _scratch_mkfs > $seqres.full 2>&1
-_scratch_mount "-o usrquota,grpquota"
-chmod 777 $SCRATCH_MNT
-quotacheck -u -g $SCRATCH_MNT 2>/dev/null
-quotaon -u -g $SCRATCH_MNT 2>/dev/null
+_qmount_option "usrquota,grpquota"
+_qmount
 
 _fsstress
 _check_quota_usage
diff --git a/tests/generic/233 b/tests/generic/233
index 3fc1b63abb24..4606f3bde2ab 100755
--- a/tests/generic/233
+++ b/tests/generic/233
@@ -59,10 +59,8 @@ _require_quota
 _require_user
 
 _scratch_mkfs > $seqres.full 2>&1
-_scratch_mount "-o usrquota,grpquota"
-chmod 777 $SCRATCH_MNT
-quotacheck -u -g $SCRATCH_MNT 2>/dev/null
-quotaon -u -g $SCRATCH_MNT 2>/dev/null
+_qmount_option "usrquota,grpquota"
+_qmount
 setquota -u $qa_user 32000 32000 1000 1000 $SCRATCH_MNT 2>/dev/null
 
 _fsstress
diff --git a/tests/generic/234 b/tests/generic/234
index 4b25fc6507cc..2c596492a3e0 100755
--- a/tests/generic/234
+++ b/tests/generic/234
@@ -66,9 +66,8 @@ _require_quota
 
 
 _scratch_mkfs >> $seqres.full 2>&1
-_scratch_mount "-o usrquota,grpquota"
-quotacheck -u -g $SCRATCH_MNT 2>/dev/null
-quotaon -u -g $SCRATCH_MNT 2>/dev/null
+_qmount_option "usrquota,grpquota"
+_qmount
 test_setting
 _scratch_unmount
 
diff --git a/tests/generic/235 b/tests/generic/235
index 037c29e806db..7a616650fc8f 100755
--- a/tests/generic/235
+++ b/tests/generic/235
@@ -25,9 +25,8 @@ do_repquota()
 
 
 _scratch_mkfs >> $seqres.full 2>&1
-_scratch_mount "-o usrquota,grpquota"
-quotacheck -u -g $SCRATCH_MNT 2>/dev/null
-quotaon $SCRATCH_MNT 2>/dev/null
+_qmount_option "usrquota,grpquota"
+_qmount
 
 touch $SCRATCH_MNT/testfile
 chown $qa_user:$qa_user $SCRATCH_MNT/testfile
diff --git a/tests/generic/244 b/tests/generic/244
index b68035129c82..989bb4f5385e 100755
--- a/tests/generic/244
+++ b/tests/generic/244
@@ -66,7 +66,6 @@ done
 # remount just for kicks, make sure we get it off disk
 _scratch_unmount
 _qmount
-quotaon $SCRATCH_MNT 2>/dev/null
 
 # Read them back by iterating based on quotas returned.
 # This should match what we set, even if we don't directly
diff --git a/tests/generic/270 b/tests/generic/270
index c3d5127a0b51..9ac829a7379f 100755
--- a/tests/generic/270
+++ b/tests/generic/270
@@ -62,10 +62,8 @@ _require_command "$SETCAP_PROG" setcap
 _require_attrs security
 
 _scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 2>&1
-_scratch_mount "-o usrquota,grpquota"
-chmod 777 $SCRATCH_MNT
-quotacheck -u -g $SCRATCH_MNT 2>/dev/null
-quotaon -u -g $SCRATCH_MNT 2>/dev/null
+_qmount_option "usrquota,grpquota"
+_qmount
 
 if ! _workout; then
 	_scratch_unmount 2>/dev/null
diff --git a/tests/generic/280 b/tests/generic/280
index 3108fd23fb70..fae0a02145cf 100755
--- a/tests/generic/280
+++ b/tests/generic/280
@@ -34,9 +34,8 @@ _require_freeze
 
 _scratch_unmount 2>/dev/null
 _scratch_mkfs >> $seqres.full 2>&1
-_scratch_mount "-o usrquota,grpquota"
-quotacheck -u -g $SCRATCH_MNT 2>/dev/null
-quotaon $SCRATCH_MNT 2>/dev/null
+_qmount_option "usrquota,grpquota"
+_qmount
 xfs_freeze -f $SCRATCH_MNT
 setquota -u root 1 2 3 4 $SCRATCH_MNT &
 pid=$!
diff --git a/tests/generic/400 b/tests/generic/400
index 77970da69a41..ef27c254167c 100755
--- a/tests/generic/400
+++ b/tests/generic/400
@@ -22,7 +22,7 @@ _require_scratch
 
 _scratch_mkfs >> $seqres.full 2>&1
 
-MOUNT_OPTIONS="-o usrquota,grpquota"
+_qmount_option "usrquota,grpquota"
 _qmount
 _require_getnextquota
 
-- 
2.48.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] generic: use _qmount_option and _qmount
  2025-11-24 13:20 [PATCH] generic: use _qmount_option and _qmount Su Yue
@ 2025-12-01 22:59 ` Darrick J. Wong
  2025-12-02  4:17   ` Zorro Lang
  2025-12-03  3:26   ` Su Yue
  0 siblings, 2 replies; 6+ messages in thread
From: Darrick J. Wong @ 2025-12-01 22:59 UTC (permalink / raw)
  To: Su Yue; +Cc: fstests, l, linux-ext4, linux-xfs

On Mon, Nov 24, 2025 at 09:20:04PM +0800, Su Yue wrote:
> Many generic tests call `_scratch_mount -o usrquota` then
> chmod 777, quotacheck and quotaon.

What does the chmod 777 do, in relation to the quota{check,on} programs?
Is it necessary for the root dir to be world writable (and executable!)
for quota tools to work?

> It can be simpilfied to _qmount_option and _qmount. The later
> function already calls quotacheck, quota and chmod.
> 
> Convertaions can save a few lines. tests/generic/380 is an exception

"Conversions" ?

--D

> because it tests chown.
> 
> Signed-off-by: Su Yue <glass.su@suse.com>
> ---
>  tests/generic/082 |  9 ++-------
>  tests/generic/219 | 11 ++++-------
>  tests/generic/230 | 11 ++++++-----
>  tests/generic/231 |  6 ++----
>  tests/generic/232 |  6 ++----
>  tests/generic/233 |  6 ++----
>  tests/generic/234 |  5 ++---
>  tests/generic/235 |  5 ++---
>  tests/generic/244 |  1 -
>  tests/generic/270 |  6 ++----
>  tests/generic/280 |  5 ++---
>  tests/generic/400 |  2 +-
>  12 files changed, 27 insertions(+), 46 deletions(-)
> 
> diff --git a/tests/generic/082 b/tests/generic/082
> index f078ef2ffff9..6bb9cf2a22ae 100755
> --- a/tests/generic/082
> +++ b/tests/generic/082
> @@ -23,13 +23,8 @@ _require_scratch
>  _require_quota
>  
>  _scratch_mkfs >>$seqres.full 2>&1
> -_scratch_mount "-o usrquota,grpquota"
> -
> -# xfs doesn't need these setups and quotacheck even fails on xfs, so just
> -# redirect the output to $seqres.full for debug purpose and ignore the results,
> -# as we check the quota status later anyway.
> -quotacheck -ug $SCRATCH_MNT >>$seqres.full 2>&1
> -quotaon $SCRATCH_MNT >>$seqres.full 2>&1
> +_qmount_option 'usrquota,grpquota'
> +_qmount "usrquota,grpquota"
>  
>  # first remount ro with a bad option, a failed remount ro should not disable
>  # quota, but currently xfs doesn't fail in this case, the unknown option is
> diff --git a/tests/generic/219 b/tests/generic/219
> index 642823859886..a2eb0b20f408 100755
> --- a/tests/generic/219
> +++ b/tests/generic/219
> @@ -91,25 +91,22 @@ test_accounting()
>  
>  _scratch_unmount 2>/dev/null
>  _scratch_mkfs >> $seqres.full 2>&1
> -_scratch_mount "-o usrquota,grpquota"
> +_qmount_option "usrquota,grpquota"
> +_qmount
>  _force_vfs_quota_testing $SCRATCH_MNT
> -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> -quotaon $SCRATCH_MNT 2>/dev/null
>  _scratch_unmount
>  
>  echo; echo "### test user accounting"
> -export MOUNT_OPTIONS="-o usrquota"
> +_qmount_option "usrquota"
>  _qmount
> -quotaon $SCRATCH_MNT 2>/dev/null
>  type=u
>  test_files
>  test_accounting
>  _scratch_unmount 2>/dev/null
>  
>  echo; echo "### test group accounting"
> -export MOUNT_OPTIONS="-o grpquota"
> +_qmount_option "grpquota"
>  _qmount
> -quotaon $SCRATCH_MNT 2>/dev/null
>  type=g
>  test_files
>  test_accounting
> diff --git a/tests/generic/230 b/tests/generic/230
> index a8caf5a808c3..0a680dbc874b 100755
> --- a/tests/generic/230
> +++ b/tests/generic/230
> @@ -99,7 +99,8 @@ grace=2
>  _qmount_option 'defaults'
>  
>  _scratch_mkfs >> $seqres.full 2>&1
> -_scratch_mount "-o usrquota,grpquota"
> +_qmount_option "usrquota,grpquota"
> +_qmount
>  _force_vfs_quota_testing $SCRATCH_MNT
>  BLOCK_SIZE=$(_get_file_block_size $SCRATCH_MNT)
>  quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> @@ -113,8 +114,8 @@ setquota -g -t $grace $grace $SCRATCH_MNT
>  _scratch_unmount
>  
>  echo; echo "### test user limit enforcement"
> -_scratch_mount "-o usrquota"
> -quotaon $SCRATCH_MNT 2>/dev/null
> +_qmount_option "usrquota"
> +_qmount
>  type=u
>  test_files
>  test_enforcement
> @@ -122,8 +123,8 @@ cleanup_files
>  _scratch_unmount 2>/dev/null
>  
>  echo; echo "### test group limit enforcement"
> -_scratch_mount "-o grpquota"
> -quotaon $SCRATCH_MNT 2>/dev/null
> +_qmount_option "grpquota"
> +_qmount
>  type=g
>  test_files
>  test_enforcement
> diff --git a/tests/generic/231 b/tests/generic/231
> index ce7e62ea1886..02910523d0b5 100755
> --- a/tests/generic/231
> +++ b/tests/generic/231
> @@ -47,10 +47,8 @@ _require_quota
>  _require_user
>  
>  _scratch_mkfs >> $seqres.full 2>&1
> -_scratch_mount "-o usrquota,grpquota"
> -chmod 777 $SCRATCH_MNT
> -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> -quotaon -u -g $SCRATCH_MNT 2>/dev/null
> +_qmount_option "usrquota,grpquota"
> +_qmount
>  
>  if ! _fsx 1; then
>  	_scratch_unmount 2>/dev/null
> diff --git a/tests/generic/232 b/tests/generic/232
> index c903a5619045..21375809d299 100755
> --- a/tests/generic/232
> +++ b/tests/generic/232
> @@ -44,10 +44,8 @@ _require_scratch
>  _require_quota
>  
>  _scratch_mkfs > $seqres.full 2>&1
> -_scratch_mount "-o usrquota,grpquota"
> -chmod 777 $SCRATCH_MNT
> -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> -quotaon -u -g $SCRATCH_MNT 2>/dev/null
> +_qmount_option "usrquota,grpquota"
> +_qmount
>  
>  _fsstress
>  _check_quota_usage
> diff --git a/tests/generic/233 b/tests/generic/233
> index 3fc1b63abb24..4606f3bde2ab 100755
> --- a/tests/generic/233
> +++ b/tests/generic/233
> @@ -59,10 +59,8 @@ _require_quota
>  _require_user
>  
>  _scratch_mkfs > $seqres.full 2>&1
> -_scratch_mount "-o usrquota,grpquota"
> -chmod 777 $SCRATCH_MNT
> -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> -quotaon -u -g $SCRATCH_MNT 2>/dev/null
> +_qmount_option "usrquota,grpquota"
> +_qmount
>  setquota -u $qa_user 32000 32000 1000 1000 $SCRATCH_MNT 2>/dev/null
>  
>  _fsstress
> diff --git a/tests/generic/234 b/tests/generic/234
> index 4b25fc6507cc..2c596492a3e0 100755
> --- a/tests/generic/234
> +++ b/tests/generic/234
> @@ -66,9 +66,8 @@ _require_quota
>  
>  
>  _scratch_mkfs >> $seqres.full 2>&1
> -_scratch_mount "-o usrquota,grpquota"
> -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> -quotaon -u -g $SCRATCH_MNT 2>/dev/null
> +_qmount_option "usrquota,grpquota"
> +_qmount
>  test_setting
>  _scratch_unmount
>  
> diff --git a/tests/generic/235 b/tests/generic/235
> index 037c29e806db..7a616650fc8f 100755
> --- a/tests/generic/235
> +++ b/tests/generic/235
> @@ -25,9 +25,8 @@ do_repquota()
>  
>  
>  _scratch_mkfs >> $seqres.full 2>&1
> -_scratch_mount "-o usrquota,grpquota"
> -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> -quotaon $SCRATCH_MNT 2>/dev/null
> +_qmount_option "usrquota,grpquota"
> +_qmount
>  
>  touch $SCRATCH_MNT/testfile
>  chown $qa_user:$qa_user $SCRATCH_MNT/testfile
> diff --git a/tests/generic/244 b/tests/generic/244
> index b68035129c82..989bb4f5385e 100755
> --- a/tests/generic/244
> +++ b/tests/generic/244
> @@ -66,7 +66,6 @@ done
>  # remount just for kicks, make sure we get it off disk
>  _scratch_unmount
>  _qmount
> -quotaon $SCRATCH_MNT 2>/dev/null
>  
>  # Read them back by iterating based on quotas returned.
>  # This should match what we set, even if we don't directly
> diff --git a/tests/generic/270 b/tests/generic/270
> index c3d5127a0b51..9ac829a7379f 100755
> --- a/tests/generic/270
> +++ b/tests/generic/270
> @@ -62,10 +62,8 @@ _require_command "$SETCAP_PROG" setcap
>  _require_attrs security
>  
>  _scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 2>&1
> -_scratch_mount "-o usrquota,grpquota"
> -chmod 777 $SCRATCH_MNT
> -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> -quotaon -u -g $SCRATCH_MNT 2>/dev/null
> +_qmount_option "usrquota,grpquota"
> +_qmount
>  
>  if ! _workout; then
>  	_scratch_unmount 2>/dev/null
> diff --git a/tests/generic/280 b/tests/generic/280
> index 3108fd23fb70..fae0a02145cf 100755
> --- a/tests/generic/280
> +++ b/tests/generic/280
> @@ -34,9 +34,8 @@ _require_freeze
>  
>  _scratch_unmount 2>/dev/null
>  _scratch_mkfs >> $seqres.full 2>&1
> -_scratch_mount "-o usrquota,grpquota"
> -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> -quotaon $SCRATCH_MNT 2>/dev/null
> +_qmount_option "usrquota,grpquota"
> +_qmount
>  xfs_freeze -f $SCRATCH_MNT
>  setquota -u root 1 2 3 4 $SCRATCH_MNT &
>  pid=$!
> diff --git a/tests/generic/400 b/tests/generic/400
> index 77970da69a41..ef27c254167c 100755
> --- a/tests/generic/400
> +++ b/tests/generic/400
> @@ -22,7 +22,7 @@ _require_scratch
>  
>  _scratch_mkfs >> $seqres.full 2>&1
>  
> -MOUNT_OPTIONS="-o usrquota,grpquota"
> +_qmount_option "usrquota,grpquota"
>  _qmount
>  _require_getnextquota
>  
> -- 
> 2.48.1
> 
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] generic: use _qmount_option and _qmount
  2025-12-01 22:59 ` Darrick J. Wong
@ 2025-12-02  4:17   ` Zorro Lang
  2025-12-03  3:12     ` Su Yue
  2025-12-03  3:26   ` Su Yue
  1 sibling, 1 reply; 6+ messages in thread
From: Zorro Lang @ 2025-12-02  4:17 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: Su Yue, fstests, l, linux-ext4, linux-xfs

On Mon, Dec 01, 2025 at 02:59:24PM -0800, Darrick J. Wong wrote:
> On Mon, Nov 24, 2025 at 09:20:04PM +0800, Su Yue wrote:
> > Many generic tests call `_scratch_mount -o usrquota` then
> > chmod 777, quotacheck and quotaon.
> 
> What does the chmod 777 do, in relation to the quota{check,on} programs?
> Is it necessary for the root dir to be world writable (and executable!)
> for quota tools to work?

Hi Darrick,

The _qmount always does "chmod ugo+rwx $SCRATCH_MNT", I think it's for regular
users (e.g. fsgqa) can write into $SCRATCH_MNT. If a test case doesn't use
regular user, the "chmod 777" isn't necessary. The author of _qmount might
think "chmod 777 $SCRATCH_MN" doesn't hurt anything quota test, so always
does that no matter if it's needed. If you think it hurts something, we can
only do that for the cases who really need that :)

I think this patch trys to help quota test cases to use unified common helpers,
most of them don't need the "chmod 777" actually, right Su?

Thanks,
Zorro

> 
> > It can be simpilfied to _qmount_option and _qmount. The later
> > function already calls quotacheck, quota and chmod.
> > 
> > Convertaions can save a few lines. tests/generic/380 is an exception
> 
> "Conversions" ?
> 
> --D
> 
> > because it tests chown.
> > 
> > Signed-off-by: Su Yue <glass.su@suse.com>
> > ---
> >  tests/generic/082 |  9 ++-------
> >  tests/generic/219 | 11 ++++-------
> >  tests/generic/230 | 11 ++++++-----
> >  tests/generic/231 |  6 ++----
> >  tests/generic/232 |  6 ++----
> >  tests/generic/233 |  6 ++----
> >  tests/generic/234 |  5 ++---
> >  tests/generic/235 |  5 ++---
> >  tests/generic/244 |  1 -
> >  tests/generic/270 |  6 ++----
> >  tests/generic/280 |  5 ++---
> >  tests/generic/400 |  2 +-
> >  12 files changed, 27 insertions(+), 46 deletions(-)
> > 
> > diff --git a/tests/generic/082 b/tests/generic/082
> > index f078ef2ffff9..6bb9cf2a22ae 100755
> > --- a/tests/generic/082
> > +++ b/tests/generic/082
> > @@ -23,13 +23,8 @@ _require_scratch
> >  _require_quota
> >  
> >  _scratch_mkfs >>$seqres.full 2>&1
> > -_scratch_mount "-o usrquota,grpquota"
> > -
> > -# xfs doesn't need these setups and quotacheck even fails on xfs, so just
> > -# redirect the output to $seqres.full for debug purpose and ignore the results,
> > -# as we check the quota status later anyway.
> > -quotacheck -ug $SCRATCH_MNT >>$seqres.full 2>&1
> > -quotaon $SCRATCH_MNT >>$seqres.full 2>&1
> > +_qmount_option 'usrquota,grpquota'
> > +_qmount "usrquota,grpquota"
> >  
> >  # first remount ro with a bad option, a failed remount ro should not disable
> >  # quota, but currently xfs doesn't fail in this case, the unknown option is
> > diff --git a/tests/generic/219 b/tests/generic/219
> > index 642823859886..a2eb0b20f408 100755
> > --- a/tests/generic/219
> > +++ b/tests/generic/219
> > @@ -91,25 +91,22 @@ test_accounting()
> >  
> >  _scratch_unmount 2>/dev/null
> >  _scratch_mkfs >> $seqres.full 2>&1
> > -_scratch_mount "-o usrquota,grpquota"
> > +_qmount_option "usrquota,grpquota"
> > +_qmount
> >  _force_vfs_quota_testing $SCRATCH_MNT
> > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > -quotaon $SCRATCH_MNT 2>/dev/null
> >  _scratch_unmount
> >  
> >  echo; echo "### test user accounting"
> > -export MOUNT_OPTIONS="-o usrquota"
> > +_qmount_option "usrquota"
> >  _qmount
> > -quotaon $SCRATCH_MNT 2>/dev/null
> >  type=u
> >  test_files
> >  test_accounting
> >  _scratch_unmount 2>/dev/null
> >  
> >  echo; echo "### test group accounting"
> > -export MOUNT_OPTIONS="-o grpquota"
> > +_qmount_option "grpquota"
> >  _qmount
> > -quotaon $SCRATCH_MNT 2>/dev/null
> >  type=g
> >  test_files
> >  test_accounting
> > diff --git a/tests/generic/230 b/tests/generic/230
> > index a8caf5a808c3..0a680dbc874b 100755
> > --- a/tests/generic/230
> > +++ b/tests/generic/230
> > @@ -99,7 +99,8 @@ grace=2
> >  _qmount_option 'defaults'
> >  
> >  _scratch_mkfs >> $seqres.full 2>&1
> > -_scratch_mount "-o usrquota,grpquota"
> > +_qmount_option "usrquota,grpquota"
> > +_qmount
> >  _force_vfs_quota_testing $SCRATCH_MNT
> >  BLOCK_SIZE=$(_get_file_block_size $SCRATCH_MNT)
> >  quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > @@ -113,8 +114,8 @@ setquota -g -t $grace $grace $SCRATCH_MNT
> >  _scratch_unmount
> >  
> >  echo; echo "### test user limit enforcement"
> > -_scratch_mount "-o usrquota"
> > -quotaon $SCRATCH_MNT 2>/dev/null
> > +_qmount_option "usrquota"
> > +_qmount
> >  type=u
> >  test_files
> >  test_enforcement
> > @@ -122,8 +123,8 @@ cleanup_files
> >  _scratch_unmount 2>/dev/null
> >  
> >  echo; echo "### test group limit enforcement"
> > -_scratch_mount "-o grpquota"
> > -quotaon $SCRATCH_MNT 2>/dev/null
> > +_qmount_option "grpquota"
> > +_qmount
> >  type=g
> >  test_files
> >  test_enforcement
> > diff --git a/tests/generic/231 b/tests/generic/231
> > index ce7e62ea1886..02910523d0b5 100755
> > --- a/tests/generic/231
> > +++ b/tests/generic/231
> > @@ -47,10 +47,8 @@ _require_quota
> >  _require_user
> >  
> >  _scratch_mkfs >> $seqres.full 2>&1
> > -_scratch_mount "-o usrquota,grpquota"
> > -chmod 777 $SCRATCH_MNT
> > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > -quotaon -u -g $SCRATCH_MNT 2>/dev/null
> > +_qmount_option "usrquota,grpquota"
> > +_qmount
> >  
> >  if ! _fsx 1; then
> >  	_scratch_unmount 2>/dev/null
> > diff --git a/tests/generic/232 b/tests/generic/232
> > index c903a5619045..21375809d299 100755
> > --- a/tests/generic/232
> > +++ b/tests/generic/232
> > @@ -44,10 +44,8 @@ _require_scratch
> >  _require_quota
> >  
> >  _scratch_mkfs > $seqres.full 2>&1
> > -_scratch_mount "-o usrquota,grpquota"
> > -chmod 777 $SCRATCH_MNT
> > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > -quotaon -u -g $SCRATCH_MNT 2>/dev/null
> > +_qmount_option "usrquota,grpquota"
> > +_qmount
> >  
> >  _fsstress
> >  _check_quota_usage
> > diff --git a/tests/generic/233 b/tests/generic/233
> > index 3fc1b63abb24..4606f3bde2ab 100755
> > --- a/tests/generic/233
> > +++ b/tests/generic/233
> > @@ -59,10 +59,8 @@ _require_quota
> >  _require_user
> >  
> >  _scratch_mkfs > $seqres.full 2>&1
> > -_scratch_mount "-o usrquota,grpquota"
> > -chmod 777 $SCRATCH_MNT
> > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > -quotaon -u -g $SCRATCH_MNT 2>/dev/null
> > +_qmount_option "usrquota,grpquota"
> > +_qmount
> >  setquota -u $qa_user 32000 32000 1000 1000 $SCRATCH_MNT 2>/dev/null
> >  
> >  _fsstress
> > diff --git a/tests/generic/234 b/tests/generic/234
> > index 4b25fc6507cc..2c596492a3e0 100755
> > --- a/tests/generic/234
> > +++ b/tests/generic/234
> > @@ -66,9 +66,8 @@ _require_quota
> >  
> >  
> >  _scratch_mkfs >> $seqres.full 2>&1
> > -_scratch_mount "-o usrquota,grpquota"
> > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > -quotaon -u -g $SCRATCH_MNT 2>/dev/null
> > +_qmount_option "usrquota,grpquota"
> > +_qmount
> >  test_setting
> >  _scratch_unmount
> >  
> > diff --git a/tests/generic/235 b/tests/generic/235
> > index 037c29e806db..7a616650fc8f 100755
> > --- a/tests/generic/235
> > +++ b/tests/generic/235
> > @@ -25,9 +25,8 @@ do_repquota()
> >  
> >  
> >  _scratch_mkfs >> $seqres.full 2>&1
> > -_scratch_mount "-o usrquota,grpquota"
> > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > -quotaon $SCRATCH_MNT 2>/dev/null
> > +_qmount_option "usrquota,grpquota"
> > +_qmount
> >  
> >  touch $SCRATCH_MNT/testfile
> >  chown $qa_user:$qa_user $SCRATCH_MNT/testfile
> > diff --git a/tests/generic/244 b/tests/generic/244
> > index b68035129c82..989bb4f5385e 100755
> > --- a/tests/generic/244
> > +++ b/tests/generic/244
> > @@ -66,7 +66,6 @@ done
> >  # remount just for kicks, make sure we get it off disk
> >  _scratch_unmount
> >  _qmount
> > -quotaon $SCRATCH_MNT 2>/dev/null
> >  
> >  # Read them back by iterating based on quotas returned.
> >  # This should match what we set, even if we don't directly
> > diff --git a/tests/generic/270 b/tests/generic/270
> > index c3d5127a0b51..9ac829a7379f 100755
> > --- a/tests/generic/270
> > +++ b/tests/generic/270
> > @@ -62,10 +62,8 @@ _require_command "$SETCAP_PROG" setcap
> >  _require_attrs security
> >  
> >  _scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 2>&1
> > -_scratch_mount "-o usrquota,grpquota"
> > -chmod 777 $SCRATCH_MNT
> > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > -quotaon -u -g $SCRATCH_MNT 2>/dev/null
> > +_qmount_option "usrquota,grpquota"
> > +_qmount
> >  
> >  if ! _workout; then
> >  	_scratch_unmount 2>/dev/null
> > diff --git a/tests/generic/280 b/tests/generic/280
> > index 3108fd23fb70..fae0a02145cf 100755
> > --- a/tests/generic/280
> > +++ b/tests/generic/280
> > @@ -34,9 +34,8 @@ _require_freeze
> >  
> >  _scratch_unmount 2>/dev/null
> >  _scratch_mkfs >> $seqres.full 2>&1
> > -_scratch_mount "-o usrquota,grpquota"
> > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > -quotaon $SCRATCH_MNT 2>/dev/null
> > +_qmount_option "usrquota,grpquota"
> > +_qmount
> >  xfs_freeze -f $SCRATCH_MNT
> >  setquota -u root 1 2 3 4 $SCRATCH_MNT &
> >  pid=$!
> > diff --git a/tests/generic/400 b/tests/generic/400
> > index 77970da69a41..ef27c254167c 100755
> > --- a/tests/generic/400
> > +++ b/tests/generic/400
> > @@ -22,7 +22,7 @@ _require_scratch
> >  
> >  _scratch_mkfs >> $seqres.full 2>&1
> >  
> > -MOUNT_OPTIONS="-o usrquota,grpquota"
> > +_qmount_option "usrquota,grpquota"
> >  _qmount
> >  _require_getnextquota
> >  
> > -- 
> > 2.48.1
> > 
> > 
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] generic: use _qmount_option and _qmount
  2025-12-02  4:17   ` Zorro Lang
@ 2025-12-03  3:12     ` Su Yue
  2025-12-03  5:46       ` Darrick J. Wong
  0 siblings, 1 reply; 6+ messages in thread
From: Su Yue @ 2025-12-03  3:12 UTC (permalink / raw)
  To: Zorro Lang; +Cc: Darrick J. Wong, Su Yue, fstests, linux-ext4, linux-xfs

On Tue 02 Dec 2025 at 12:17, Zorro Lang <zlang@redhat.com> wrote:

> On Mon, Dec 01, 2025 at 02:59:24PM -0800, Darrick J. Wong wrote:
>> On Mon, Nov 24, 2025 at 09:20:04PM +0800, Su Yue wrote:
>> > Many generic tests call `_scratch_mount -o usrquota` then
>> > chmod 777, quotacheck and quotaon.
>>
>> What does the chmod 777 do, in relation to the quota{check,on} 
>> programs?
>> Is it necessary for the root dir to be world writable (and 
>> executable!)
>> for quota tools to work?
>
> Hi Darrick,
>
> The _qmount always does "chmod ugo+rwx $SCRATCH_MNT", I think 
> it's for regular
> users (e.g. fsgqa) can write into $SCRATCH_MNT. If a test case 
> doesn't use
> regular user, the "chmod 777" isn't necessary. The author of 
> _qmount might
> think "chmod 777 $SCRATCH_MN" doesn't hurt anything quota test, 
> so always
> does that no matter if it's needed.
>

I guess so. The code cames from 2001.

> If you think it hurts something, we can
> only do that for the cases who really need that :)
>
Yeah. We can remove the "chmod 777 $SCRATCH_MNT" from _qmount and 
adjust caeses influenced.

> I think this patch trys to help quota test cases to use unified 
> common helpers,
> most of them don't need the "chmod 777" actually, right Su?
>

Correct. To be more accurate, 4 cases need "chmod 777".

--
Su

>
> Thanks,
> Zorro
>
>>
>> > It can be simpilfied to _qmount_option and _qmount. The later
>> > function already calls quotacheck, quota and chmod.
>> >
>> > Convertaions can save a few lines. tests/generic/380 is an 
>> > exception
>>
>> "Conversions" ?
>>
>> --D
>>
>> > because it tests chown.
>> >
>> > Signed-off-by: Su Yue <glass.su@suse.com>
>> > ---
>> >  tests/generic/082 |  9 ++-------
>> >  tests/generic/219 | 11 ++++-------
>> >  tests/generic/230 | 11 ++++++-----
>> >  tests/generic/231 |  6 ++----
>> >  tests/generic/232 |  6 ++----
>> >  tests/generic/233 |  6 ++----
>> >  tests/generic/234 |  5 ++---
>> >  tests/generic/235 |  5 ++---
>> >  tests/generic/244 |  1 -
>> >  tests/generic/270 |  6 ++----
>> >  tests/generic/280 |  5 ++---
>> >  tests/generic/400 |  2 +-
>> >  12 files changed, 27 insertions(+), 46 deletions(-)
>> >
>> > diff --git a/tests/generic/082 b/tests/generic/082
>> > index f078ef2ffff9..6bb9cf2a22ae 100755
>> > --- a/tests/generic/082
>> > +++ b/tests/generic/082
>> > @@ -23,13 +23,8 @@ _require_scratch
>> >  _require_quota
>> >
>> >  _scratch_mkfs >>$seqres.full 2>&1
>> > -_scratch_mount "-o usrquota,grpquota"
>> > -
>> > -# xfs doesn't need these setups and quotacheck even fails on 
>> > xfs, so just
>> > -# redirect the output to $seqres.full for debug purpose and 
>> > ignore the results,
>> > -# as we check the quota status later anyway.
>> > -quotacheck -ug $SCRATCH_MNT >>$seqres.full 2>&1
>> > -quotaon $SCRATCH_MNT >>$seqres.full 2>&1
>> > +_qmount_option 'usrquota,grpquota'
>> > +_qmount "usrquota,grpquota"
>> >
>> >  # first remount ro with a bad option, a failed remount ro 
>> >  should not disable
>> >  # quota, but currently xfs doesn't fail in this case, the 
>> >  unknown option is
>> > diff --git a/tests/generic/219 b/tests/generic/219
>> > index 642823859886..a2eb0b20f408 100755
>> > --- a/tests/generic/219
>> > +++ b/tests/generic/219
>> > @@ -91,25 +91,22 @@ test_accounting()
>> >
>> >  _scratch_unmount 2>/dev/null
>> >  _scratch_mkfs >> $seqres.full 2>&1
>> > -_scratch_mount "-o usrquota,grpquota"
>> > +_qmount_option "usrquota,grpquota"
>> > +_qmount
>> >  _force_vfs_quota_testing $SCRATCH_MNT
>> > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> > -quotaon $SCRATCH_MNT 2>/dev/null
>> >  _scratch_unmount
>> >
>> >  echo; echo "### test user accounting"
>> > -export MOUNT_OPTIONS="-o usrquota"
>> > +_qmount_option "usrquota"
>> >  _qmount
>> > -quotaon $SCRATCH_MNT 2>/dev/null
>> >  type=u
>> >  test_files
>> >  test_accounting
>> >  _scratch_unmount 2>/dev/null
>> >
>> >  echo; echo "### test group accounting"
>> > -export MOUNT_OPTIONS="-o grpquota"
>> > +_qmount_option "grpquota"
>> >  _qmount
>> > -quotaon $SCRATCH_MNT 2>/dev/null
>> >  type=g
>> >  test_files
>> >  test_accounting
>> > diff --git a/tests/generic/230 b/tests/generic/230
>> > index a8caf5a808c3..0a680dbc874b 100755
>> > --- a/tests/generic/230
>> > +++ b/tests/generic/230
>> > @@ -99,7 +99,8 @@ grace=2
>> >  _qmount_option 'defaults'
>> >
>> >  _scratch_mkfs >> $seqres.full 2>&1
>> > -_scratch_mount "-o usrquota,grpquota"
>> > +_qmount_option "usrquota,grpquota"
>> > +_qmount
>> >  _force_vfs_quota_testing $SCRATCH_MNT
>> >  BLOCK_SIZE=$(_get_file_block_size $SCRATCH_MNT)
>> >  quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> > @@ -113,8 +114,8 @@ setquota -g -t $grace $grace $SCRATCH_MNT
>> >  _scratch_unmount
>> >
>> >  echo; echo "### test user limit enforcement"
>> > -_scratch_mount "-o usrquota"
>> > -quotaon $SCRATCH_MNT 2>/dev/null
>> > +_qmount_option "usrquota"
>> > +_qmount
>> >  type=u
>> >  test_files
>> >  test_enforcement
>> > @@ -122,8 +123,8 @@ cleanup_files
>> >  _scratch_unmount 2>/dev/null
>> >
>> >  echo; echo "### test group limit enforcement"
>> > -_scratch_mount "-o grpquota"
>> > -quotaon $SCRATCH_MNT 2>/dev/null
>> > +_qmount_option "grpquota"
>> > +_qmount
>> >  type=g
>> >  test_files
>> >  test_enforcement
>> > diff --git a/tests/generic/231 b/tests/generic/231
>> > index ce7e62ea1886..02910523d0b5 100755
>> > --- a/tests/generic/231
>> > +++ b/tests/generic/231
>> > @@ -47,10 +47,8 @@ _require_quota
>> >  _require_user
>> >
>> >  _scratch_mkfs >> $seqres.full 2>&1
>> > -_scratch_mount "-o usrquota,grpquota"
>> > -chmod 777 $SCRATCH_MNT
>> > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> > -quotaon -u -g $SCRATCH_MNT 2>/dev/null
>> > +_qmount_option "usrquota,grpquota"
>> > +_qmount
>> >
>> >  if ! _fsx 1; then
>> >  	_scratch_unmount 2>/dev/null
>> > diff --git a/tests/generic/232 b/tests/generic/232
>> > index c903a5619045..21375809d299 100755
>> > --- a/tests/generic/232
>> > +++ b/tests/generic/232
>> > @@ -44,10 +44,8 @@ _require_scratch
>> >  _require_quota
>> >
>> >  _scratch_mkfs > $seqres.full 2>&1
>> > -_scratch_mount "-o usrquota,grpquota"
>> > -chmod 777 $SCRATCH_MNT
>> > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> > -quotaon -u -g $SCRATCH_MNT 2>/dev/null
>> > +_qmount_option "usrquota,grpquota"
>> > +_qmount
>> >
>> >  _fsstress
>> >  _check_quota_usage
>> > diff --git a/tests/generic/233 b/tests/generic/233
>> > index 3fc1b63abb24..4606f3bde2ab 100755
>> > --- a/tests/generic/233
>> > +++ b/tests/generic/233
>> > @@ -59,10 +59,8 @@ _require_quota
>> >  _require_user
>> >
>> >  _scratch_mkfs > $seqres.full 2>&1
>> > -_scratch_mount "-o usrquota,grpquota"
>> > -chmod 777 $SCRATCH_MNT
>> > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> > -quotaon -u -g $SCRATCH_MNT 2>/dev/null
>> > +_qmount_option "usrquota,grpquota"
>> > +_qmount
>> >  setquota -u $qa_user 32000 32000 1000 1000 $SCRATCH_MNT 
>> >  2>/dev/null
>> >
>> >  _fsstress
>> > diff --git a/tests/generic/234 b/tests/generic/234
>> > index 4b25fc6507cc..2c596492a3e0 100755
>> > --- a/tests/generic/234
>> > +++ b/tests/generic/234
>> > @@ -66,9 +66,8 @@ _require_quota
>> >
>> >
>> >  _scratch_mkfs >> $seqres.full 2>&1
>> > -_scratch_mount "-o usrquota,grpquota"
>> > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> > -quotaon -u -g $SCRATCH_MNT 2>/dev/null
>> > +_qmount_option "usrquota,grpquota"
>> > +_qmount
>> >  test_setting
>> >  _scratch_unmount
>> >
>> > diff --git a/tests/generic/235 b/tests/generic/235
>> > index 037c29e806db..7a616650fc8f 100755
>> > --- a/tests/generic/235
>> > +++ b/tests/generic/235
>> > @@ -25,9 +25,8 @@ do_repquota()
>> >
>> >
>> >  _scratch_mkfs >> $seqres.full 2>&1
>> > -_scratch_mount "-o usrquota,grpquota"
>> > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> > -quotaon $SCRATCH_MNT 2>/dev/null
>> > +_qmount_option "usrquota,grpquota"
>> > +_qmount
>> >
>> >  touch $SCRATCH_MNT/testfile
>> >  chown $qa_user:$qa_user $SCRATCH_MNT/testfile
>> > diff --git a/tests/generic/244 b/tests/generic/244
>> > index b68035129c82..989bb4f5385e 100755
>> > --- a/tests/generic/244
>> > +++ b/tests/generic/244
>> > @@ -66,7 +66,6 @@ done
>> >  # remount just for kicks, make sure we get it off disk
>> >  _scratch_unmount
>> >  _qmount
>> > -quotaon $SCRATCH_MNT 2>/dev/null
>> >
>> >  # Read them back by iterating based on quotas returned.
>> >  # This should match what we set, even if we don't directly
>> > diff --git a/tests/generic/270 b/tests/generic/270
>> > index c3d5127a0b51..9ac829a7379f 100755
>> > --- a/tests/generic/270
>> > +++ b/tests/generic/270
>> > @@ -62,10 +62,8 @@ _require_command "$SETCAP_PROG" setcap
>> >  _require_attrs security
>> >
>> >  _scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 
>> >  2>&1
>> > -_scratch_mount "-o usrquota,grpquota"
>> > -chmod 777 $SCRATCH_MNT
>> > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> > -quotaon -u -g $SCRATCH_MNT 2>/dev/null
>> > +_qmount_option "usrquota,grpquota"
>> > +_qmount
>> >
>> >  if ! _workout; then
>> >  	_scratch_unmount 2>/dev/null
>> > diff --git a/tests/generic/280 b/tests/generic/280
>> > index 3108fd23fb70..fae0a02145cf 100755
>> > --- a/tests/generic/280
>> > +++ b/tests/generic/280
>> > @@ -34,9 +34,8 @@ _require_freeze
>> >
>> >  _scratch_unmount 2>/dev/null
>> >  _scratch_mkfs >> $seqres.full 2>&1
>> > -_scratch_mount "-o usrquota,grpquota"
>> > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> > -quotaon $SCRATCH_MNT 2>/dev/null
>> > +_qmount_option "usrquota,grpquota"
>> > +_qmount
>> >  xfs_freeze -f $SCRATCH_MNT
>> >  setquota -u root 1 2 3 4 $SCRATCH_MNT &
>> >  pid=$!
>> > diff --git a/tests/generic/400 b/tests/generic/400
>> > index 77970da69a41..ef27c254167c 100755
>> > --- a/tests/generic/400
>> > +++ b/tests/generic/400
>> > @@ -22,7 +22,7 @@ _require_scratch
>> >
>> >  _scratch_mkfs >> $seqres.full 2>&1
>> >
>> > -MOUNT_OPTIONS="-o usrquota,grpquota"
>> > +_qmount_option "usrquota,grpquota"
>> >  _qmount
>> >  _require_getnextquota
>> >
>> > --
>> > 2.48.1
>> >
>> >
>>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] generic: use _qmount_option and _qmount
  2025-12-01 22:59 ` Darrick J. Wong
  2025-12-02  4:17   ` Zorro Lang
@ 2025-12-03  3:26   ` Su Yue
  1 sibling, 0 replies; 6+ messages in thread
From: Su Yue @ 2025-12-03  3:26 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: Su Yue, fstests, linux-ext4, linux-xfs

On Mon 01 Dec 2025 at 14:59, "Darrick J. Wong" <djwong@kernel.org> 
wrote:

> On Mon, Nov 24, 2025 at 09:20:04PM +0800, Su Yue wrote:
>> Many generic tests call `_scratch_mount -o usrquota` then
>> chmod 777, quotacheck and quotaon.
>
> What does the chmod 777 do, in relation to the quota{check,on} 
> programs?
> Is it necessary for the root dir to be world writable (and 
> executable!)
> for quota tools to work?
>
It's unnecessary. Only tests calling `_su $qa_user` or 
`_file_as_id` need
the permisson.

>> It can be simpilfied to _qmount_option and _qmount. The later
>> function already calls quotacheck, quota and chmod.
>>
>> Convertaions can save a few lines. tests/generic/380 is an 
>> exception
>
> "Conversions" ?
>
Yeah...

--
Su
> --D
>
>> because it tests chown.
>>
>> Signed-off-by: Su Yue <glass.su@suse.com>
>> ---
>>  tests/generic/082 |  9 ++-------
>>  tests/generic/219 | 11 ++++-------
>>  tests/generic/230 | 11 ++++++-----
>>  tests/generic/231 |  6 ++----
>>  tests/generic/232 |  6 ++----
>>  tests/generic/233 |  6 ++----
>>  tests/generic/234 |  5 ++---
>>  tests/generic/235 |  5 ++---
>>  tests/generic/244 |  1 -
>>  tests/generic/270 |  6 ++----
>>  tests/generic/280 |  5 ++---
>>  tests/generic/400 |  2 +-
>>  12 files changed, 27 insertions(+), 46 deletions(-)
>>
>> diff --git a/tests/generic/082 b/tests/generic/082
>> index f078ef2ffff9..6bb9cf2a22ae 100755
>> --- a/tests/generic/082
>> +++ b/tests/generic/082
>> @@ -23,13 +23,8 @@ _require_scratch
>>  _require_quota
>>
>>  _scratch_mkfs >>$seqres.full 2>&1
>> -_scratch_mount "-o usrquota,grpquota"
>> -
>> -# xfs doesn't need these setups and quotacheck even fails on 
>> xfs, so just
>> -# redirect the output to $seqres.full for debug purpose and 
>> ignore the results,
>> -# as we check the quota status later anyway.
>> -quotacheck -ug $SCRATCH_MNT >>$seqres.full 2>&1
>> -quotaon $SCRATCH_MNT >>$seqres.full 2>&1
>> +_qmount_option 'usrquota,grpquota'
>> +_qmount "usrquota,grpquota"
>>
>>  # first remount ro with a bad option, a failed remount ro 
>>  should not disable
>>  # quota, but currently xfs doesn't fail in this case, the 
>>  unknown option is
>> diff --git a/tests/generic/219 b/tests/generic/219
>> index 642823859886..a2eb0b20f408 100755
>> --- a/tests/generic/219
>> +++ b/tests/generic/219
>> @@ -91,25 +91,22 @@ test_accounting()
>>
>>  _scratch_unmount 2>/dev/null
>>  _scratch_mkfs >> $seqres.full 2>&1
>> -_scratch_mount "-o usrquota,grpquota"
>> +_qmount_option "usrquota,grpquota"
>> +_qmount
>>  _force_vfs_quota_testing $SCRATCH_MNT
>> -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> -quotaon $SCRATCH_MNT 2>/dev/null
>>  _scratch_unmount
>>
>>  echo; echo "### test user accounting"
>> -export MOUNT_OPTIONS="-o usrquota"
>> +_qmount_option "usrquota"
>>  _qmount
>> -quotaon $SCRATCH_MNT 2>/dev/null
>>  type=u
>>  test_files
>>  test_accounting
>>  _scratch_unmount 2>/dev/null
>>
>>  echo; echo "### test group accounting"
>> -export MOUNT_OPTIONS="-o grpquota"
>> +_qmount_option "grpquota"
>>  _qmount
>> -quotaon $SCRATCH_MNT 2>/dev/null
>>  type=g
>>  test_files
>>  test_accounting
>> diff --git a/tests/generic/230 b/tests/generic/230
>> index a8caf5a808c3..0a680dbc874b 100755
>> --- a/tests/generic/230
>> +++ b/tests/generic/230
>> @@ -99,7 +99,8 @@ grace=2
>>  _qmount_option 'defaults'
>>
>>  _scratch_mkfs >> $seqres.full 2>&1
>> -_scratch_mount "-o usrquota,grpquota"
>> +_qmount_option "usrquota,grpquota"
>> +_qmount
>>  _force_vfs_quota_testing $SCRATCH_MNT
>>  BLOCK_SIZE=$(_get_file_block_size $SCRATCH_MNT)
>>  quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> @@ -113,8 +114,8 @@ setquota -g -t $grace $grace $SCRATCH_MNT
>>  _scratch_unmount
>>
>>  echo; echo "### test user limit enforcement"
>> -_scratch_mount "-o usrquota"
>> -quotaon $SCRATCH_MNT 2>/dev/null
>> +_qmount_option "usrquota"
>> +_qmount
>>  type=u
>>  test_files
>>  test_enforcement
>> @@ -122,8 +123,8 @@ cleanup_files
>>  _scratch_unmount 2>/dev/null
>>
>>  echo; echo "### test group limit enforcement"
>> -_scratch_mount "-o grpquota"
>> -quotaon $SCRATCH_MNT 2>/dev/null
>> +_qmount_option "grpquota"
>> +_qmount
>>  type=g
>>  test_files
>>  test_enforcement
>> diff --git a/tests/generic/231 b/tests/generic/231
>> index ce7e62ea1886..02910523d0b5 100755
>> --- a/tests/generic/231
>> +++ b/tests/generic/231
>> @@ -47,10 +47,8 @@ _require_quota
>>  _require_user
>>
>>  _scratch_mkfs >> $seqres.full 2>&1
>> -_scratch_mount "-o usrquota,grpquota"
>> -chmod 777 $SCRATCH_MNT
>> -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> -quotaon -u -g $SCRATCH_MNT 2>/dev/null
>> +_qmount_option "usrquota,grpquota"
>> +_qmount
>>
>>  if ! _fsx 1; then
>>  	_scratch_unmount 2>/dev/null
>> diff --git a/tests/generic/232 b/tests/generic/232
>> index c903a5619045..21375809d299 100755
>> --- a/tests/generic/232
>> +++ b/tests/generic/232
>> @@ -44,10 +44,8 @@ _require_scratch
>>  _require_quota
>>
>>  _scratch_mkfs > $seqres.full 2>&1
>> -_scratch_mount "-o usrquota,grpquota"
>> -chmod 777 $SCRATCH_MNT
>> -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> -quotaon -u -g $SCRATCH_MNT 2>/dev/null
>> +_qmount_option "usrquota,grpquota"
>> +_qmount
>>
>>  _fsstress
>>  _check_quota_usage
>> diff --git a/tests/generic/233 b/tests/generic/233
>> index 3fc1b63abb24..4606f3bde2ab 100755
>> --- a/tests/generic/233
>> +++ b/tests/generic/233
>> @@ -59,10 +59,8 @@ _require_quota
>>  _require_user
>>
>>  _scratch_mkfs > $seqres.full 2>&1
>> -_scratch_mount "-o usrquota,grpquota"
>> -chmod 777 $SCRATCH_MNT
>> -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> -quotaon -u -g $SCRATCH_MNT 2>/dev/null
>> +_qmount_option "usrquota,grpquota"
>> +_qmount
>>  setquota -u $qa_user 32000 32000 1000 1000 $SCRATCH_MNT 
>>  2>/dev/null
>>
>>  _fsstress
>> diff --git a/tests/generic/234 b/tests/generic/234
>> index 4b25fc6507cc..2c596492a3e0 100755
>> --- a/tests/generic/234
>> +++ b/tests/generic/234
>> @@ -66,9 +66,8 @@ _require_quota
>>
>>
>>  _scratch_mkfs >> $seqres.full 2>&1
>> -_scratch_mount "-o usrquota,grpquota"
>> -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> -quotaon -u -g $SCRATCH_MNT 2>/dev/null
>> +_qmount_option "usrquota,grpquota"
>> +_qmount
>>  test_setting
>>  _scratch_unmount
>>
>> diff --git a/tests/generic/235 b/tests/generic/235
>> index 037c29e806db..7a616650fc8f 100755
>> --- a/tests/generic/235
>> +++ b/tests/generic/235
>> @@ -25,9 +25,8 @@ do_repquota()
>>
>>
>>  _scratch_mkfs >> $seqres.full 2>&1
>> -_scratch_mount "-o usrquota,grpquota"
>> -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> -quotaon $SCRATCH_MNT 2>/dev/null
>> +_qmount_option "usrquota,grpquota"
>> +_qmount
>>
>>  touch $SCRATCH_MNT/testfile
>>  chown $qa_user:$qa_user $SCRATCH_MNT/testfile
>> diff --git a/tests/generic/244 b/tests/generic/244
>> index b68035129c82..989bb4f5385e 100755
>> --- a/tests/generic/244
>> +++ b/tests/generic/244
>> @@ -66,7 +66,6 @@ done
>>  # remount just for kicks, make sure we get it off disk
>>  _scratch_unmount
>>  _qmount
>> -quotaon $SCRATCH_MNT 2>/dev/null
>>
>>  # Read them back by iterating based on quotas returned.
>>  # This should match what we set, even if we don't directly
>> diff --git a/tests/generic/270 b/tests/generic/270
>> index c3d5127a0b51..9ac829a7379f 100755
>> --- a/tests/generic/270
>> +++ b/tests/generic/270
>> @@ -62,10 +62,8 @@ _require_command "$SETCAP_PROG" setcap
>>  _require_attrs security
>>
>>  _scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full 
>>  2>&1
>> -_scratch_mount "-o usrquota,grpquota"
>> -chmod 777 $SCRATCH_MNT
>> -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> -quotaon -u -g $SCRATCH_MNT 2>/dev/null
>> +_qmount_option "usrquota,grpquota"
>> +_qmount
>>
>>  if ! _workout; then
>>  	_scratch_unmount 2>/dev/null
>> diff --git a/tests/generic/280 b/tests/generic/280
>> index 3108fd23fb70..fae0a02145cf 100755
>> --- a/tests/generic/280
>> +++ b/tests/generic/280
>> @@ -34,9 +34,8 @@ _require_freeze
>>
>>  _scratch_unmount 2>/dev/null
>>  _scratch_mkfs >> $seqres.full 2>&1
>> -_scratch_mount "-o usrquota,grpquota"
>> -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
>> -quotaon $SCRATCH_MNT 2>/dev/null
>> +_qmount_option "usrquota,grpquota"
>> +_qmount
>>  xfs_freeze -f $SCRATCH_MNT
>>  setquota -u root 1 2 3 4 $SCRATCH_MNT &
>>  pid=$!
>> diff --git a/tests/generic/400 b/tests/generic/400
>> index 77970da69a41..ef27c254167c 100755
>> --- a/tests/generic/400
>> +++ b/tests/generic/400
>> @@ -22,7 +22,7 @@ _require_scratch
>>
>>  _scratch_mkfs >> $seqres.full 2>&1
>>
>> -MOUNT_OPTIONS="-o usrquota,grpquota"
>> +_qmount_option "usrquota,grpquota"
>>  _qmount
>>  _require_getnextquota
>>
>> --
>> 2.48.1
>>
>>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] generic: use _qmount_option and _qmount
  2025-12-03  3:12     ` Su Yue
@ 2025-12-03  5:46       ` Darrick J. Wong
  0 siblings, 0 replies; 6+ messages in thread
From: Darrick J. Wong @ 2025-12-03  5:46 UTC (permalink / raw)
  To: Su Yue; +Cc: Zorro Lang, Su Yue, fstests, linux-ext4, linux-xfs

On Wed, Dec 03, 2025 at 11:12:09AM +0800, Su Yue wrote:
> On Tue 02 Dec 2025 at 12:17, Zorro Lang <zlang@redhat.com> wrote:
> 
> > On Mon, Dec 01, 2025 at 02:59:24PM -0800, Darrick J. Wong wrote:
> > > On Mon, Nov 24, 2025 at 09:20:04PM +0800, Su Yue wrote:
> > > > Many generic tests call `_scratch_mount -o usrquota` then
> > > > chmod 777, quotacheck and quotaon.
> > > 
> > > What does the chmod 777 do, in relation to the quota{check,on}
> > > programs?
> > > Is it necessary for the root dir to be world writable (and
> > > executable!)
> > > for quota tools to work?
> > 
> > Hi Darrick,
> > 
> > The _qmount always does "chmod ugo+rwx $SCRATCH_MNT", I think it's for
> > regular
> > users (e.g. fsgqa) can write into $SCRATCH_MNT. If a test case doesn't
> > use
> > regular user, the "chmod 777" isn't necessary. The author of _qmount
> > might
> > think "chmod 777 $SCRATCH_MN" doesn't hurt anything quota test, so
> > always
> > does that no matter if it's needed.
> > 
> 
> I guess so. The code cames from 2001.
> 
> > If you think it hurts something, we can
> > only do that for the cases who really need that :)
> > 
> Yeah. We can remove the "chmod 777 $SCRATCH_MNT" from _qmount and adjust
> caeses influenced.
> 
> > I think this patch trys to help quota test cases to use unified common
> > helpers,
> > most of them don't need the "chmod 777" actually, right Su?
> > 
> 
> Correct. To be more accurate, 4 cases need "chmod 777".

Ok, yeah, let's only call chmod 0777 for the tests that need it.

--D

> --
> Su
> 
> > 
> > Thanks,
> > Zorro
> > 
> > > 
> > > > It can be simpilfied to _qmount_option and _qmount. The later
> > > > function already calls quotacheck, quota and chmod.
> > > >
> > > > Convertaions can save a few lines. tests/generic/380 is an >
> > > exception
> > > 
> > > "Conversions" ?
> > > 
> > > --D
> > > 
> > > > because it tests chown.
> > > >
> > > > Signed-off-by: Su Yue <glass.su@suse.com>
> > > > ---
> > > >  tests/generic/082 |  9 ++-------
> > > >  tests/generic/219 | 11 ++++-------
> > > >  tests/generic/230 | 11 ++++++-----
> > > >  tests/generic/231 |  6 ++----
> > > >  tests/generic/232 |  6 ++----
> > > >  tests/generic/233 |  6 ++----
> > > >  tests/generic/234 |  5 ++---
> > > >  tests/generic/235 |  5 ++---
> > > >  tests/generic/244 |  1 -
> > > >  tests/generic/270 |  6 ++----
> > > >  tests/generic/280 |  5 ++---
> > > >  tests/generic/400 |  2 +-
> > > >  12 files changed, 27 insertions(+), 46 deletions(-)
> > > >
> > > > diff --git a/tests/generic/082 b/tests/generic/082
> > > > index f078ef2ffff9..6bb9cf2a22ae 100755
> > > > --- a/tests/generic/082
> > > > +++ b/tests/generic/082
> > > > @@ -23,13 +23,8 @@ _require_scratch
> > > >  _require_quota
> > > >
> > > >  _scratch_mkfs >>$seqres.full 2>&1
> > > > -_scratch_mount "-o usrquota,grpquota"
> > > > -
> > > > -# xfs doesn't need these setups and quotacheck even fails on >
> > > xfs, so just
> > > > -# redirect the output to $seqres.full for debug purpose and >
> > > ignore the results,
> > > > -# as we check the quota status later anyway.
> > > > -quotacheck -ug $SCRATCH_MNT >>$seqres.full 2>&1
> > > > -quotaon $SCRATCH_MNT >>$seqres.full 2>&1
> > > > +_qmount_option 'usrquota,grpquota'
> > > > +_qmount "usrquota,grpquota"
> > > >
> > > >  # first remount ro with a bad option, a failed remount ro >
> > > should not disable
> > > >  # quota, but currently xfs doesn't fail in this case, the >
> > > unknown option is
> > > > diff --git a/tests/generic/219 b/tests/generic/219
> > > > index 642823859886..a2eb0b20f408 100755
> > > > --- a/tests/generic/219
> > > > +++ b/tests/generic/219
> > > > @@ -91,25 +91,22 @@ test_accounting()
> > > >
> > > >  _scratch_unmount 2>/dev/null
> > > >  _scratch_mkfs >> $seqres.full 2>&1
> > > > -_scratch_mount "-o usrquota,grpquota"
> > > > +_qmount_option "usrquota,grpquota"
> > > > +_qmount
> > > >  _force_vfs_quota_testing $SCRATCH_MNT
> > > > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > > > -quotaon $SCRATCH_MNT 2>/dev/null
> > > >  _scratch_unmount
> > > >
> > > >  echo; echo "### test user accounting"
> > > > -export MOUNT_OPTIONS="-o usrquota"
> > > > +_qmount_option "usrquota"
> > > >  _qmount
> > > > -quotaon $SCRATCH_MNT 2>/dev/null
> > > >  type=u
> > > >  test_files
> > > >  test_accounting
> > > >  _scratch_unmount 2>/dev/null
> > > >
> > > >  echo; echo "### test group accounting"
> > > > -export MOUNT_OPTIONS="-o grpquota"
> > > > +_qmount_option "grpquota"
> > > >  _qmount
> > > > -quotaon $SCRATCH_MNT 2>/dev/null
> > > >  type=g
> > > >  test_files
> > > >  test_accounting
> > > > diff --git a/tests/generic/230 b/tests/generic/230
> > > > index a8caf5a808c3..0a680dbc874b 100755
> > > > --- a/tests/generic/230
> > > > +++ b/tests/generic/230
> > > > @@ -99,7 +99,8 @@ grace=2
> > > >  _qmount_option 'defaults'
> > > >
> > > >  _scratch_mkfs >> $seqres.full 2>&1
> > > > -_scratch_mount "-o usrquota,grpquota"
> > > > +_qmount_option "usrquota,grpquota"
> > > > +_qmount
> > > >  _force_vfs_quota_testing $SCRATCH_MNT
> > > >  BLOCK_SIZE=$(_get_file_block_size $SCRATCH_MNT)
> > > >  quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > > > @@ -113,8 +114,8 @@ setquota -g -t $grace $grace $SCRATCH_MNT
> > > >  _scratch_unmount
> > > >
> > > >  echo; echo "### test user limit enforcement"
> > > > -_scratch_mount "-o usrquota"
> > > > -quotaon $SCRATCH_MNT 2>/dev/null
> > > > +_qmount_option "usrquota"
> > > > +_qmount
> > > >  type=u
> > > >  test_files
> > > >  test_enforcement
> > > > @@ -122,8 +123,8 @@ cleanup_files
> > > >  _scratch_unmount 2>/dev/null
> > > >
> > > >  echo; echo "### test group limit enforcement"
> > > > -_scratch_mount "-o grpquota"
> > > > -quotaon $SCRATCH_MNT 2>/dev/null
> > > > +_qmount_option "grpquota"
> > > > +_qmount
> > > >  type=g
> > > >  test_files
> > > >  test_enforcement
> > > > diff --git a/tests/generic/231 b/tests/generic/231
> > > > index ce7e62ea1886..02910523d0b5 100755
> > > > --- a/tests/generic/231
> > > > +++ b/tests/generic/231
> > > > @@ -47,10 +47,8 @@ _require_quota
> > > >  _require_user
> > > >
> > > >  _scratch_mkfs >> $seqres.full 2>&1
> > > > -_scratch_mount "-o usrquota,grpquota"
> > > > -chmod 777 $SCRATCH_MNT
> > > > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > > > -quotaon -u -g $SCRATCH_MNT 2>/dev/null
> > > > +_qmount_option "usrquota,grpquota"
> > > > +_qmount
> > > >
> > > >  if ! _fsx 1; then
> > > >  	_scratch_unmount 2>/dev/null
> > > > diff --git a/tests/generic/232 b/tests/generic/232
> > > > index c903a5619045..21375809d299 100755
> > > > --- a/tests/generic/232
> > > > +++ b/tests/generic/232
> > > > @@ -44,10 +44,8 @@ _require_scratch
> > > >  _require_quota
> > > >
> > > >  _scratch_mkfs > $seqres.full 2>&1
> > > > -_scratch_mount "-o usrquota,grpquota"
> > > > -chmod 777 $SCRATCH_MNT
> > > > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > > > -quotaon -u -g $SCRATCH_MNT 2>/dev/null
> > > > +_qmount_option "usrquota,grpquota"
> > > > +_qmount
> > > >
> > > >  _fsstress
> > > >  _check_quota_usage
> > > > diff --git a/tests/generic/233 b/tests/generic/233
> > > > index 3fc1b63abb24..4606f3bde2ab 100755
> > > > --- a/tests/generic/233
> > > > +++ b/tests/generic/233
> > > > @@ -59,10 +59,8 @@ _require_quota
> > > >  _require_user
> > > >
> > > >  _scratch_mkfs > $seqres.full 2>&1
> > > > -_scratch_mount "-o usrquota,grpquota"
> > > > -chmod 777 $SCRATCH_MNT
> > > > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > > > -quotaon -u -g $SCRATCH_MNT 2>/dev/null
> > > > +_qmount_option "usrquota,grpquota"
> > > > +_qmount
> > > >  setquota -u $qa_user 32000 32000 1000 1000 $SCRATCH_MNT >
> > > 2>/dev/null
> > > >
> > > >  _fsstress
> > > > diff --git a/tests/generic/234 b/tests/generic/234
> > > > index 4b25fc6507cc..2c596492a3e0 100755
> > > > --- a/tests/generic/234
> > > > +++ b/tests/generic/234
> > > > @@ -66,9 +66,8 @@ _require_quota
> > > >
> > > >
> > > >  _scratch_mkfs >> $seqres.full 2>&1
> > > > -_scratch_mount "-o usrquota,grpquota"
> > > > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > > > -quotaon -u -g $SCRATCH_MNT 2>/dev/null
> > > > +_qmount_option "usrquota,grpquota"
> > > > +_qmount
> > > >  test_setting
> > > >  _scratch_unmount
> > > >
> > > > diff --git a/tests/generic/235 b/tests/generic/235
> > > > index 037c29e806db..7a616650fc8f 100755
> > > > --- a/tests/generic/235
> > > > +++ b/tests/generic/235
> > > > @@ -25,9 +25,8 @@ do_repquota()
> > > >
> > > >
> > > >  _scratch_mkfs >> $seqres.full 2>&1
> > > > -_scratch_mount "-o usrquota,grpquota"
> > > > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > > > -quotaon $SCRATCH_MNT 2>/dev/null
> > > > +_qmount_option "usrquota,grpquota"
> > > > +_qmount
> > > >
> > > >  touch $SCRATCH_MNT/testfile
> > > >  chown $qa_user:$qa_user $SCRATCH_MNT/testfile
> > > > diff --git a/tests/generic/244 b/tests/generic/244
> > > > index b68035129c82..989bb4f5385e 100755
> > > > --- a/tests/generic/244
> > > > +++ b/tests/generic/244
> > > > @@ -66,7 +66,6 @@ done
> > > >  # remount just for kicks, make sure we get it off disk
> > > >  _scratch_unmount
> > > >  _qmount
> > > > -quotaon $SCRATCH_MNT 2>/dev/null
> > > >
> > > >  # Read them back by iterating based on quotas returned.
> > > >  # This should match what we set, even if we don't directly
> > > > diff --git a/tests/generic/270 b/tests/generic/270
> > > > index c3d5127a0b51..9ac829a7379f 100755
> > > > --- a/tests/generic/270
> > > > +++ b/tests/generic/270
> > > > @@ -62,10 +62,8 @@ _require_command "$SETCAP_PROG" setcap
> > > >  _require_attrs security
> > > >
> > > >  _scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full >
> > > 2>&1
> > > > -_scratch_mount "-o usrquota,grpquota"
> > > > -chmod 777 $SCRATCH_MNT
> > > > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > > > -quotaon -u -g $SCRATCH_MNT 2>/dev/null
> > > > +_qmount_option "usrquota,grpquota"
> > > > +_qmount
> > > >
> > > >  if ! _workout; then
> > > >  	_scratch_unmount 2>/dev/null
> > > > diff --git a/tests/generic/280 b/tests/generic/280
> > > > index 3108fd23fb70..fae0a02145cf 100755
> > > > --- a/tests/generic/280
> > > > +++ b/tests/generic/280
> > > > @@ -34,9 +34,8 @@ _require_freeze
> > > >
> > > >  _scratch_unmount 2>/dev/null
> > > >  _scratch_mkfs >> $seqres.full 2>&1
> > > > -_scratch_mount "-o usrquota,grpquota"
> > > > -quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> > > > -quotaon $SCRATCH_MNT 2>/dev/null
> > > > +_qmount_option "usrquota,grpquota"
> > > > +_qmount
> > > >  xfs_freeze -f $SCRATCH_MNT
> > > >  setquota -u root 1 2 3 4 $SCRATCH_MNT &
> > > >  pid=$!
> > > > diff --git a/tests/generic/400 b/tests/generic/400
> > > > index 77970da69a41..ef27c254167c 100755
> > > > --- a/tests/generic/400
> > > > +++ b/tests/generic/400
> > > > @@ -22,7 +22,7 @@ _require_scratch
> > > >
> > > >  _scratch_mkfs >> $seqres.full 2>&1
> > > >
> > > > -MOUNT_OPTIONS="-o usrquota,grpquota"
> > > > +_qmount_option "usrquota,grpquota"
> > > >  _qmount
> > > >  _require_getnextquota
> > > >
> > > > --
> > > > 2.48.1
> > > >
> > > >
> > > 
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-12-03  5:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-24 13:20 [PATCH] generic: use _qmount_option and _qmount Su Yue
2025-12-01 22:59 ` Darrick J. Wong
2025-12-02  4:17   ` Zorro Lang
2025-12-03  3:12     ` Su Yue
2025-12-03  5:46       ` Darrick J. Wong
2025-12-03  3:26   ` Su Yue

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox