This test was designed to validate the quota warning limit, which in theory was supposed to migrate from a soft quota to hard enforcement after a certain number of warnings. However, the xfs kernel commit which incremented the warning counter was reverted; see: xfs: revert "xfs: actually bump warning counts when we send warnings" in the kernel tree for an explanation of why. Due to that revert, which removed this functionality, remove this test. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> --- tests/xfs/144 | 128 --------------------------------------------- tests/xfs/144.out | 151 ------------------------------------------------------ 2 files changed, 279 deletions(-) delete mode 100755 tests/xfs/144 delete mode 100644 tests/xfs/144.out diff --git a/tests/xfs/144 b/tests/xfs/144 deleted file mode 100755 index 5abec9a..0000000 --- a/tests/xfs/144 +++ /dev/null @@ -1,128 +0,0 @@ -#! /bin/bash -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (c) 2021 Oracle. All Rights Reserved. -# -# FS QA Test No. 144 -# -# Check that quota softlimit warnings work the way they should. This means -# that we can disobey the softlimit up to warnlimit times before it turns into -# hard(er) enforcement. This is a functional test for quota warnings, but -# since the functionality has been broken for decades, this is also a -# regression test for commit 4b8628d57b72 ("xfs: actually bump warning counts -# when we send warnings"). - -. ./common/preamble -_begin_fstest auto quick quota - -# Import common functions. -. ./common/filter -. ./common/quota - -# real QA test starts here -_supported_fs xfs -_require_xfs_quota -_require_scratch - -exercise() { - _scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs - cat $tmp.mkfs >>$seqres.full - - # keep the blocksize and data size for dd later - . $tmp.mkfs - - _qmount - - _qsetup $1 - - echo "Using type=$type id=$id" >>$seqres.full - - echo - echo "*** report initial settings" | tee -a $seqres.full - $XFS_QUOTA_PROG -x \ - -c "limit -$type isoft=3 ihard=500000 $id" \ - -c "warn -$type -i -d 13" \ - $SCRATCH_DEV - $XFS_QUOTA_PROG -x \ - -c "state -$type" >> $seqres.full - $XFS_QUOTA_PROG -x \ - -c "repquota -birnN -$type" $SCRATCH_DEV | - _filter_quota_report | LC_COLLATE=POSIX sort -ru - - echo - echo "*** push past the soft inode limit" | tee -a $seqres.full - _file_as_id $SCRATCH_MNT/softok1 $id $type $bsize 0 - _file_as_id $SCRATCH_MNT/softok2 $id $type $bsize 0 - _file_as_id $SCRATCH_MNT/softok3 $id $type $bsize 0 - _file_as_id $SCRATCH_MNT/softwarn1 $id $type $bsize 0 - $XFS_QUOTA_PROG -D $tmp.projects -P $tmp.projid -x \ - -c "repquota -birnN -$type" $SCRATCH_DEV | - _filter_quota_report | LC_COLLATE=POSIX sort -ru - - echo - echo "*** push further past the soft inode limit" | tee -a $seqres.full - for warn_nr in $(seq 2 5); do - _file_as_id $SCRATCH_MNT/softwarn$warn_nr $id $type $bsize 0 - done - $XFS_QUOTA_PROG -D $tmp.projects -P $tmp.projid -x \ - -c "repquota -birnN -$type" $SCRATCH_DEV | - _filter_quota_report | LC_COLLATE=POSIX sort -ru - - echo - echo "*** push past the soft inode warning limit" | tee -a $seqres.full - for warn_nr in $(seq 6 15); do - _file_as_id $SCRATCH_MNT/softwarn$warn_nr $id $type $bsize 0 - done - $XFS_QUOTA_PROG -D $tmp.projects -P $tmp.projid -x \ - -c "repquota -birnN -$type" $SCRATCH_DEV | - _filter_quota_report | LC_COLLATE=POSIX sort -ru - - echo - echo "*** unmount" - _scratch_unmount -} - -_scratch_mkfs > $seqres.full -_scratch_mount >> $seqres.full - -chmod a+rwx $SCRATCH_MNT $seqres.full # arbitrary users will write here -bsize=$(_get_file_block_size $SCRATCH_MNT) -_scratch_unmount - -cat >$tmp.projects <<EOF -1:$SCRATCH_MNT -EOF - -cat >$tmp.projid <<EOF -root:0 -scratch:1 -EOF - -projid_file="$tmp.projid" - -echo "*** user" -_qmount_option "uquota" -exercise u - -echo "*** group" -_qmount_option "gquota" -exercise g - -echo "*** uqnoenforce" -_qmount_option "uqnoenforce" -exercise uno - -echo "*** gqnoenforce" -_qmount_option "gqnoenforce" -exercise gno - -echo "*** pquota" -_qmount_option "pquota" -exercise p - -echo "*** pqnoenforce" -_qmount_option "pqnoenforce" -exercise pno - -# success, all done -status=0 -exit diff --git a/tests/xfs/144.out b/tests/xfs/144.out deleted file mode 100644 index 963eb80..0000000 --- a/tests/xfs/144.out +++ /dev/null @@ -1,151 +0,0 @@ -QA output created by 144 -*** user -meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks -data = bsize=XXX blocks=XXX, imaxpct=PCT - = sunit=XXX swidth=XXX, unwritten=X -naming =VERN bsize=XXX -log =LDEV bsize=XXX blocks=XXX -realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX - -*** report initial settings -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 0 3 500000 00 [--------] 0 0 0 00 [--------] - -*** push past the soft inode limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 4 3 500000 01 [7 days] 0 0 0 00 [--------] - -*** push further past the soft inode limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 8 3 500000 05 [7 days] 0 0 0 00 [--------] - -*** push past the soft inode warning limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 16 3 500000 13 [7 days] 0 0 0 00 [--------] - -*** unmount -*** group -meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks -data = bsize=XXX blocks=XXX, imaxpct=PCT - = sunit=XXX swidth=XXX, unwritten=X -naming =VERN bsize=XXX -log =LDEV bsize=XXX blocks=XXX -realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX - -*** report initial settings -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 0 3 500000 00 [--------] 0 0 0 00 [--------] - -*** push past the soft inode limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 4 3 500000 01 [7 days] 0 0 0 00 [--------] - -*** push further past the soft inode limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 8 3 500000 05 [7 days] 0 0 0 00 [--------] - -*** push past the soft inode warning limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 16 3 500000 13 [7 days] 0 0 0 00 [--------] - -*** unmount -*** uqnoenforce -meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks -data = bsize=XXX blocks=XXX, imaxpct=PCT - = sunit=XXX swidth=XXX, unwritten=X -naming =VERN bsize=XXX -log =LDEV bsize=XXX blocks=XXX -realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX - -*** report initial settings -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 0 3 500000 00 [--------] 0 0 0 00 [--------] - -*** push past the soft inode limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 4 3 500000 00 [--------] 0 0 0 00 [--------] - -*** push further past the soft inode limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 8 3 500000 00 [--------] 0 0 0 00 [--------] - -*** push past the soft inode warning limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 18 3 500000 00 [--------] 0 0 0 00 [--------] - -*** unmount -*** gqnoenforce -meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks -data = bsize=XXX blocks=XXX, imaxpct=PCT - = sunit=XXX swidth=XXX, unwritten=X -naming =VERN bsize=XXX -log =LDEV bsize=XXX blocks=XXX -realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX - -*** report initial settings -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 0 3 500000 00 [--------] 0 0 0 00 [--------] - -*** push past the soft inode limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 4 3 500000 00 [--------] 0 0 0 00 [--------] - -*** push further past the soft inode limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 8 3 500000 00 [--------] 0 0 0 00 [--------] - -*** push past the soft inode warning limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 18 3 500000 00 [--------] 0 0 0 00 [--------] - -*** unmount -*** pquota -meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks -data = bsize=XXX blocks=XXX, imaxpct=PCT - = sunit=XXX swidth=XXX, unwritten=X -naming =VERN bsize=XXX -log =LDEV bsize=XXX blocks=XXX -realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX - -*** report initial settings -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 0 3 500000 00 [--------] 0 0 0 00 [--------] - -*** push past the soft inode limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 4 3 500000 02 [7 days] 0 0 0 00 [--------] - -*** push further past the soft inode limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 8 3 500000 06 [7 days] 0 0 0 00 [--------] - -*** push past the soft inode warning limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 15 3 500000 13 [7 days] 0 0 0 00 [--------] - -*** unmount -*** pqnoenforce -meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks -data = bsize=XXX blocks=XXX, imaxpct=PCT - = sunit=XXX swidth=XXX, unwritten=X -naming =VERN bsize=XXX -log =LDEV bsize=XXX blocks=XXX -realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX - -*** report initial settings -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 0 3 500000 00 [--------] 0 0 0 00 [--------] - -*** push past the soft inode limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 4 3 500000 00 [--------] 0 0 0 00 [--------] - -*** push further past the soft inode limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 8 3 500000 00 [--------] 0 0 0 00 [--------] - -*** push past the soft inode warning limit -[ROOT] 0 0 0 00 [--------] 3 0 0 13 [--------] 0 0 0 00 [--------] -[NAME] 0 0 0 00 [--------] 18 3 500000 00 [--------] 0 0 0 00 [--------] - -*** unmount -- 1.8.3.1