From: Nathan Scott Date: Wed, 11 Apr 2001 06:10:08 +0000 (+0000) Subject: _choose_id function has changed slightly, run setquota once user is inited. X-Git-Tag: v1.1.0~1274 X-Git-Url: http://git.apps.os.sepia.ceph.com/?p=xfstests-dev.git;a=commitdiff_plain;h=ae9a37dbb5b8a6fa2827604154a794b8d4b8fc2d _choose_id function has changed slightly, run setquota once user is inited. --- diff --git a/050 b/050 index fd946802..28b35033 100755 --- a/050 +++ b/050 @@ -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 diff --git a/050.gqnoenforce b/050.gqnoenforce index 112b87b0..86bd2f29 100644 --- a/050.gqnoenforce +++ b/050.gqnoenforce @@ -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 diff --git a/050.grpquota b/050.grpquota index 8603f31a..ca68ed24 100644 --- a/050.grpquota +++ b/050.grpquota @@ -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 diff --git a/050.uqnoenforce b/050.uqnoenforce index 112b87b0..0febbbca 100644 --- a/050.uqnoenforce +++ b/050.uqnoenforce @@ -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 diff --git a/050.usrquota b/050.usrquota index 8603f31a..4c17f4fd 100644 --- a/050.usrquota +++ b/050.usrquota @@ -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 diff --git a/052 b/052 index 2603e4f4..b1f74b74 100755 --- a/052 +++ b/052 @@ -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 diff --git a/common.quota b/common.quota index ccedfc62..ba5d0afe 100644 --- a/common.quota +++ b/common.quota @@ -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()