mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
_choose_id function has changed slightly, run setquota once user is inited.
This commit is contained in:
@@ -85,16 +85,16 @@ _qmount
|
||||
# setup exactly what it is we'll be testing
|
||||
if src/feature -u $SCRATCH_DEV
|
||||
then
|
||||
type=u ; id=`_choose_uid`; ln $seq.usrquota $seq.out
|
||||
type=u ; eval `_choose_uid`; ln $seq.usrquota $seq.out
|
||||
elif src/feature -g $SCRATCH_DEV
|
||||
then
|
||||
type=g ; id=`_choose_gid`; ln $seq.grpquota $seq.out
|
||||
type=g ; eval `_choose_gid`; ln $seq.grpquota $seq.out
|
||||
elif src/feature -U $SCRATCH_DEV
|
||||
then
|
||||
type=u ; id=`_choose_uid`; ln $seq.uqnoenforce $seq.out
|
||||
type=u ; eval `_choose_uid`; ln $seq.uqnoenforce $seq.out
|
||||
elif src/feature -G $SCRATCH_DEV
|
||||
then
|
||||
type=g ; id=`_choose_gid`; ln $seq.gqnoenforce $seq.out
|
||||
type=g ; eval `_choose_gid`; ln $seq.gqnoenforce $seq.out
|
||||
else
|
||||
_notrun "No quota support at mount time"
|
||||
fi
|
||||
@@ -108,8 +108,8 @@ repquota -$type $SCRATCH_DEV | _filter_repquota
|
||||
|
||||
echo
|
||||
echo "*** report initial settings" | tee -a $seq.full
|
||||
setquota -$type $id 100 500 4 10 $SCRATCH_DEV
|
||||
_file_as_id $SCRATCH_MNT/initme $id $type 1024 0
|
||||
setquota -$type $id 100 500 4 10 $SCRATCH_DEV
|
||||
repquota -$type $SCRATCH_DEV | _filter_repquota
|
||||
|
||||
echo
|
||||
|
||||
+36
-18
@@ -7,50 +7,68 @@ log =LDEV bsize=XXX blocks=XXX
|
||||
realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
|
||||
|
||||
*** report no quota settings
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
*** Report for group quotas on device [DEVICE]
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
|
||||
|
||||
|
||||
*** report initial settings
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
*** Report for group quotas on device [DEVICE]
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
[NAME] -- 0 100 500 1 4 10
|
||||
|
||||
|
||||
|
||||
*** push past the soft inode limit
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
*** Report for group quotas on device [DEVICE]
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
[NAME] -- 0 100 500 3 4 10
|
||||
|
||||
|
||||
|
||||
*** push past the soft block limit
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
*** Report for group quotas on device [DEVICE]
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
[NAME] +- 140 100 500 4 4 10
|
||||
|
||||
|
||||
|
||||
*** push past the hard inode limit (expect EDQUOT)
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
*** Report for group quotas on device [DEVICE]
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 4 0 0 3 0 0
|
||||
[NAME] ++ 140 100 500 16 4 10
|
||||
|
||||
|
||||
|
||||
*** push past the hard block limit (expect EDQUOT)
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
*** Report for group quotas on device [DEVICE]
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 4 0 0 3 0 0
|
||||
[NAME] ++ 540 100 500 16 4 10
|
||||
|
||||
|
||||
|
||||
*** unmount
|
||||
|
||||
+36
-18
@@ -7,50 +7,68 @@ log =LDEV bsize=XXX blocks=XXX
|
||||
realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
|
||||
|
||||
*** report no quota settings
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
*** Report for group quotas on device [DEVICE]
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
|
||||
|
||||
|
||||
*** report initial settings
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
*** Report for group quotas on device [DEVICE]
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
[NAME] -- 0 100 500 1 4 10
|
||||
|
||||
|
||||
|
||||
*** push past the soft inode limit
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
*** Report for group quotas on device [DEVICE]
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
[NAME] -- 0 100 500 3 4 10
|
||||
|
||||
|
||||
|
||||
*** push past the soft block limit
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
*** Report for group quotas on device [DEVICE]
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
[NAME] +- 140 100 500 7days 4 4 10 7days
|
||||
|
||||
|
||||
|
||||
*** push past the hard inode limit (expect EDQUOT)
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
*** Report for group quotas on device [DEVICE]
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
[NAME] ++ 140 100 500 7days 10 4 10 7days
|
||||
|
||||
|
||||
|
||||
*** push past the hard block limit (expect EDQUOT)
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
*** Report for group quotas on device [DEVICE]
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
[NAME] ++ 448 100 500 7days 10 4 10 7days
|
||||
|
||||
|
||||
|
||||
*** unmount
|
||||
|
||||
+30
-12
@@ -8,49 +8,67 @@ realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
|
||||
|
||||
*** report no quota settings
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
|
||||
|
||||
|
||||
*** report initial settings
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
[NAME] -- 0 100 500 1 4 10
|
||||
|
||||
|
||||
|
||||
*** push past the soft inode limit
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
[NAME] -- 0 100 500 3 4 10
|
||||
|
||||
|
||||
|
||||
*** push past the soft block limit
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
[NAME] +- 140 100 500 4 4 10
|
||||
|
||||
|
||||
|
||||
*** push past the hard inode limit (expect EDQUOT)
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 4 0 0 3 0 0
|
||||
[NAME] ++ 140 100 500 16 4 10
|
||||
|
||||
|
||||
|
||||
*** push past the hard block limit (expect EDQUOT)
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 4 0 0 3 0 0
|
||||
[NAME] ++ 540 100 500 16 4 10
|
||||
|
||||
|
||||
|
||||
*** unmount
|
||||
|
||||
+30
-12
@@ -8,49 +8,67 @@ realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
|
||||
|
||||
*** report no quota settings
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
|
||||
|
||||
|
||||
*** report initial settings
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
[NAME] -- 0 100 500 1 4 10
|
||||
|
||||
|
||||
|
||||
*** push past the soft inode limit
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
[NAME] -- 0 100 500 3 4 10
|
||||
|
||||
|
||||
|
||||
*** push past the soft block limit
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
[NAME] +- 140 100 500 7days 4 4 10 7days
|
||||
|
||||
|
||||
|
||||
*** push past the hard inode limit (expect EDQUOT)
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
[NAME] ++ 140 100 500 7days 10 4 10 7days
|
||||
|
||||
|
||||
|
||||
*** push past the hard block limit (expect EDQUOT)
|
||||
*** Report for user quotas on device [DEVICE]
|
||||
Block grace time: 7days Inode grace time: 7days
|
||||
Block limits File limits
|
||||
Block grace time: 7days; Inode grace time: 7days
|
||||
Block limits File limits
|
||||
User used soft hard grace used soft hard grace
|
||||
----------------------------------------------------------------------
|
||||
[NAME] -- 0 0 0 3 0 0
|
||||
[NAME] ++ 448 100 500 7days 10 4 10 7days
|
||||
|
||||
|
||||
|
||||
*** unmount
|
||||
|
||||
@@ -60,7 +60,7 @@ _cleanup()
|
||||
rm -f $tmp.*
|
||||
}
|
||||
trap "_cleanup; exit \$status" 0 1 2 3 15
|
||||
rm -f $seq.full $seq.out
|
||||
rm -f $seq.full
|
||||
|
||||
_require_scratch
|
||||
_require_quota
|
||||
@@ -82,9 +82,9 @@ _qmount
|
||||
|
||||
# setup user/group to test
|
||||
if src/feature -U $SCRATCH_DEV ; then
|
||||
type=u ; id=`_choose_uid`
|
||||
type=u ; eval `_choose_uid`
|
||||
elif src/feature -G $SCRATCH_DEV ; then
|
||||
type=g ; id=`_choose_gid`
|
||||
type=g ; eval `_choose_gid`
|
||||
else
|
||||
_notrun "No quota support at mount time"
|
||||
fi
|
||||
@@ -94,14 +94,19 @@ _file_as_id $SCRATCH_MNT/foo $id $type $dbsize 220
|
||||
sync
|
||||
|
||||
# set limit at 1001 (1k) blocks
|
||||
setquota -n -$type $id $SCRATCH_DEV 1001 1001 10 10
|
||||
setquota -$type $id 1001 1001 10 10 $SCRATCH_DEV
|
||||
|
||||
# cross check blks, softblks, hardblks <-> quota, xfs_db
|
||||
quota $type -n $id | tee -a $seq.full | perl -ne '
|
||||
if (m,^\s*'$SCRATCH_DEV'\s+(\d+)\s+(\d+)\s+(\d+),) {
|
||||
quota -$type $id | tee -a $seq.full | perl -ne '
|
||||
if (m,^\s*'$SCRATCH_DEV'\s+(\d+)\s+(\d+)\s+(\d+), ||
|
||||
($next == 1 && m,^\s+(\d+)\s+(\d+)\s+(\d+),)) {
|
||||
print "used_blocks=", $1, "\n";
|
||||
print "soft_blocks=", $2, "\n";
|
||||
print "hard_blocks=", $3, "\n";
|
||||
$next = 0;
|
||||
}
|
||||
elsif (m,^\s*'$SCRATCH_DEV',) { # devfs (long) names
|
||||
$next = 1;
|
||||
}' | LC_COLLATE=POSIX sort >$tmp.quota
|
||||
|
||||
echo ===quota output >> $seq.full
|
||||
|
||||
+4
-2
@@ -74,12 +74,14 @@ EOF
|
||||
|
||||
_choose_uid()
|
||||
{
|
||||
perl -ne '@a = split(/:/); END { print $a[2]; }' /etc/passwd
|
||||
perl -ne '@a = split(/:/); END { printf "id=%d name=%s\n", $a[2],$a[0] }' \
|
||||
/etc/passwd
|
||||
}
|
||||
|
||||
_choose_gid()
|
||||
{
|
||||
perl -ne '@a = split(/:/); END { print $a[2]; }' /etc/group
|
||||
perl -ne '@a = split(/:/); END { printf "id=%d name=%s\n", $a[2],$a[0] }' \
|
||||
/etc/group
|
||||
}
|
||||
|
||||
_filter_repquota()
|
||||
|
||||
Reference in New Issue
Block a user