mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
xfs/299: work with 64k block size
This commit changes the test to calculate quota limits based on the block size of the underlying filesystem. Also, the sizes of the test files are now made to be a multiple of the filesystem block size. Signed-off-by: Chandan Rajendra <chandan@linux.vnet.ibm.com> Tested-by: Zorro Lang <zlang@redhat.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
committed by
Eryu Guan
parent
8758c0065f
commit
dac07d0816
+16
-11
@@ -41,11 +41,6 @@ _require_xfs_quota
|
||||
_require_xfs_mkfs_crc
|
||||
_require_xfs_crc
|
||||
|
||||
bsoft=100
|
||||
bhard=500
|
||||
isoft=4
|
||||
ihard=10
|
||||
|
||||
_filter_report()
|
||||
{
|
||||
tr -s '[:space:]' | \
|
||||
@@ -58,7 +53,9 @@ _filter_report()
|
||||
if ($ENV{'LARGE_SCRATCH_DEV'}) {
|
||||
$val = $ENV{'NUM_SPACE_FILES'};
|
||||
}
|
||||
s/(^\[ROOT\] \S+ \S+ \S+ \S+ \[--------\] )(\S+)/$1@{[$2 - $val]}/g'
|
||||
s/(^\[ROOT\] \S+ \S+ \S+ \S+ \[--------\] )(\S+)/$1@{[$2 - $val]}/g' |
|
||||
perl -npe '
|
||||
s|^(.*?) (\d+) (\d+) (\d+)|$1 @{[$2 * 1024 /'$bsize']} @{[$3 * 1024 /'$bsize']} @{[$4 * 1024 /'$bsize']}|'
|
||||
}
|
||||
|
||||
# The actual point at which limit enforcement takes place for the
|
||||
@@ -73,9 +70,10 @@ _filter_and_check_blks()
|
||||
if (/^\#'$id'\s+(\d+)/ && '$enforce') {
|
||||
$maximum = '$bhard';
|
||||
$minimum = '$bhard' * 85/100;
|
||||
if (($1 < $minimum || $1 > $maximum) && '$noextsz') {
|
||||
$used = $1 * 1024;
|
||||
if (($used < $minimum || $used > $maximum) && '$noextsz') {
|
||||
printf(" URK %d: %d is out of range! [%d,%d]\n",
|
||||
'$id', $1, $minimum, $maximum);
|
||||
'$id', $used, $minimum, $maximum);
|
||||
}
|
||||
s/^(\#'$id'\s+)(\d+)/\1 =OK=/g;
|
||||
}
|
||||
@@ -128,7 +126,7 @@ _exercise()
|
||||
echo "ls -l $SCRATCH_MNT" >>$seqres.full
|
||||
ls -l $SCRATCH_MNT >>$seqres.full
|
||||
xfs_quota -D $tmp.projects -P $tmp.projid -x \
|
||||
-c "limit -$type bsoft=${bsoft}k bhard=${bhard}k $id" \
|
||||
-c "limit -$type bsoft=${bsoft} bhard=${bhard} $id" \
|
||||
-c "limit -$type isoft=$isoft ihard=$ihard $id" \
|
||||
$SCRATCH_DEV
|
||||
xfs_quota -D $tmp.projects -P $tmp.projid -x \
|
||||
@@ -148,7 +146,7 @@ _exercise()
|
||||
|
||||
echo
|
||||
echo "*** push past the soft block limit" | tee -a $seqres.full
|
||||
_file_as_id $SCRATCH_MNT/softie $id $type 1024 140
|
||||
_file_as_id $SCRATCH_MNT/softie $id $type $bsize 200
|
||||
_qmount
|
||||
xfs_quota -D $tmp.projects -P $tmp.projid -x \
|
||||
-c "repquota -birnN -$type" $SCRATCH_DEV |
|
||||
@@ -169,7 +167,7 @@ _exercise()
|
||||
echo
|
||||
# Note: for quota accounting (not enforcement), EDQUOT is not expected
|
||||
echo "*** push past the hard block limit (expect EDQUOT)" | tee -a $seqres.full
|
||||
_file_as_id $SCRATCH_MNT/softie $id $type 1024 540
|
||||
_file_as_id $SCRATCH_MNT/softie $id $type $bsize 600
|
||||
echo "ls -l $SCRATCH_MNT" >>$seqres.full
|
||||
ls -l $SCRATCH_MNT >>$seqres.full
|
||||
_qmount
|
||||
@@ -204,6 +202,13 @@ echo "*** user, group, and project"
|
||||
_qmount_option "uquota,gquota,pquota"
|
||||
_qmount
|
||||
|
||||
bsize=$(_get_file_block_size $SCRATCH_MNT)
|
||||
|
||||
bsoft=$(( 100 * $bsize ))
|
||||
bhard=$(( 500 * $bsize ))
|
||||
isoft=4
|
||||
ihard=10
|
||||
|
||||
# non-root users need to be able to write to this filesystem
|
||||
chmod 777 $SCRATCH_MNT
|
||||
|
||||
|
||||
+18
-18
@@ -20,15 +20,15 @@ realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
|
||||
|
||||
*** push past the soft block limit
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 140 100 500 00 [7 days] 6 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
[NAME] 200 100 500 00 [7 days] 6 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
|
||||
*** push past the hard inode limit (expect EDQUOT)
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 140 100 500 00 [7 days] 9 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
[NAME] 200 100 500 00 [7 days] 9 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
|
||||
*** push past the hard block limit (expect EDQUOT)
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] =OK= 100 500 00 [7 days] 9 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
[NAME] =OK= 100 500 0 [7 days] 9 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
|
||||
|
||||
*** report no quota settings
|
||||
@@ -44,15 +44,15 @@ realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
|
||||
|
||||
*** push past the soft block limit
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 140 100 500 00 [7 days] 6 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
[NAME] 200 100 500 00 [7 days] 6 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
|
||||
*** push past the hard inode limit (expect EDQUOT)
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 140 100 500 00 [7 days] 10 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
[NAME] 200 100 500 00 [7 days] 10 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
|
||||
*** push past the hard block limit (expect EDQUOT)
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] =OK= 100 500 00 [7 days] 10 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
[NAME] =OK= 100 500 0 [7 days] 10 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
|
||||
|
||||
*** report no quota settings
|
||||
@@ -68,15 +68,15 @@ realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
|
||||
|
||||
*** push past the soft block limit
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 140 100 500 00 [7 days] 6 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
[NAME] 200 100 500 00 [7 days] 6 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
|
||||
*** push past the hard inode limit (expect EDQUOT)
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 140 100 500 00 [7 days] 10 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
[NAME] 200 100 500 00 [7 days] 10 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
|
||||
*** push past the hard block limit (expect EDQUOT)
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] =OK= 100 500 00 [7 days] 10 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
[NAME] =OK= 100 500 0 [7 days] 10 4 10 00 [7 days] 0 0 0 00 [--------]
|
||||
|
||||
*** unmount
|
||||
meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks
|
||||
@@ -100,15 +100,15 @@ realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
|
||||
|
||||
*** push past the soft block limit
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 140 100 500 00 [--------] 6 4 10 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 200 100 500 00 [--------] 6 4 10 00 [--------] 0 0 0 00 [--------]
|
||||
|
||||
*** push past the hard inode limit (expect EDQUOT)
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 140 100 500 00 [--------] 18 4 10 00 [--none--] 0 0 0 00 [--------]
|
||||
[NAME] 200 100 500 00 [--------] 18 4 10 00 [--none--] 0 0 0 00 [--------]
|
||||
|
||||
*** push past the hard block limit (expect EDQUOT)
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 540 100 500 00 [--none--] 18 4 10 00 [--none--] 0 0 0 00 [--------]
|
||||
[NAME] 600 100 500 00 [--none--] 18 4 10 00 [--none--] 0 0 0 00 [--------]
|
||||
|
||||
|
||||
*** report no quota settings
|
||||
@@ -124,15 +124,15 @@ realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
|
||||
|
||||
*** push past the soft block limit
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 140 100 500 00 [--------] 6 4 10 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 200 100 500 00 [--------] 6 4 10 00 [--------] 0 0 0 00 [--------]
|
||||
|
||||
*** push past the hard inode limit (expect EDQUOT)
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 140 100 500 00 [--------] 18 4 10 00 [--none--] 0 0 0 00 [--------]
|
||||
[NAME] 200 100 500 00 [--------] 18 4 10 00 [--none--] 0 0 0 00 [--------]
|
||||
|
||||
*** push past the hard block limit (expect EDQUOT)
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 540 100 500 00 [--none--] 18 4 10 00 [--none--] 0 0 0 00 [--------]
|
||||
[NAME] 600 100 500 00 [--none--] 18 4 10 00 [--none--] 0 0 0 00 [--------]
|
||||
|
||||
|
||||
*** report no quota settings
|
||||
@@ -148,14 +148,14 @@ realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
|
||||
|
||||
*** push past the soft block limit
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 140 100 500 00 [--------] 6 4 10 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 200 100 500 00 [--------] 6 4 10 00 [--------] 0 0 0 00 [--------]
|
||||
|
||||
*** push past the hard inode limit (expect EDQUOT)
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 140 100 500 00 [--------] 18 4 10 00 [--none--] 0 0 0 00 [--------]
|
||||
[NAME] 200 100 500 00 [--------] 18 4 10 00 [--none--] 0 0 0 00 [--------]
|
||||
|
||||
*** push past the hard block limit (expect EDQUOT)
|
||||
[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------]
|
||||
[NAME] 540 100 500 00 [--none--] 18 4 10 00 [--none--] 0 0 0 00 [--------]
|
||||
[NAME] 600 100 500 00 [--none--] 18 4 10 00 [--none--] 0 0 0 00 [--------]
|
||||
|
||||
*** unmount
|
||||
|
||||
Reference in New Issue
Block a user