From: Nathan Scott Date: Wed, 14 Dec 2005 05:04:52 +0000 (+0000) Subject: Update quota tests to work with project quota (and xfs_quota). X-Git-Tag: v1.1.0~670 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=9013897f9f5fee3eddb5ed0ecf13eb446e791e10;p=xfstests-dev.git Update quota tests to work with project quota (and xfs_quota). Merge of master-melb:xfs-cmds:24813a by kenmcd. --- diff --git a/050 b/050 index 4466279b..0fe466a4 100755 --- a/050 +++ b/050 @@ -48,10 +48,15 @@ _require_quota # setup a default run [ -z "$MOUNT_OPTIONS" ] && export MOUNT_OPTIONS="-o uquota" -blksoft=100 -blkhard=500 -inosoft=4 -inohard=10 +bsoft=100 +bhard=500 +isoft=4 +ihard=10 + +_filter_report() +{ + tr -s '[:space:]' | sed -e "s/^\#$id /[NAME] /g" -e "s/^#0 /[ROOT] /g" +} # The actual point at which limit enforcement takes place for the # hard block limit is variable depending on filesystem blocksize, @@ -59,19 +64,19 @@ inohard=10 # (ie. blksize less than limit but not unduly less - ~85% is kind) # nowadays we actually get much closer to the limit before EDQUOT. # -_filter_and_check_blocks() +_filter_and_check_blks() { perl -npe ' - if (/^'$name'\s+([-|+]){2}\s+(\d+)/ && '$enforce') { - $maximum = '$blkhard'; - $minimum = '$blkhard' * 85/100; - if (($2 < $minimum || $2 > $maximum) && '$noextsz') { - printf(" URK - %d is out of range! [%d,%d] \n", - $2, $minimum, $maximum); + if (/^\#'$id'\s+(\d+)/ && '$enforce') { + $maximum = '$bhard'; + $minimum = '$bhard' * 85/100; + if (($1 < $minimum || $1 > $maximum) && '$noextsz') { + printf(" URK %d: %d is out of range! [%d,%d]\n", + '$id', $1, $minimum, $maximum); } - s/^('$name'\s+[-|+][-|+]\s+)(\d+)/\1 OK/g; + s/^(\#'$id'\s+)(\d+)/\1 =OK=/g; } - ' | _filter_repquota + ' | _filter_report } _scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs @@ -82,13 +87,6 @@ cat $tmp.mkfs >>$seq.full _qmount -# Irix uses filesystem name and Linux uses device of filesystem -if [ $HOSTOS = "Linux" ]; then - QUOTA_FS=$SCRATCH_DEV -else - QUOTA_FS=$SCRATCH_MNT -fi - # Figure out whether we're doing large allocations # (bail out if they're so large they stuff the test up) _test_inode_flag extsz-inherit $SCRATCH_MNT @@ -104,28 +102,31 @@ echo "and using type=$type id=$id" >>$seq.full echo echo "*** report no quota settings" | tee -a $seq.full -_repquota -$type $QUOTA_FS | _filter_repquota +xfs_quota -x -c "repquota -birnN -$type" $SCRATCH_DEV | _filter_report echo echo "*** report initial settings" | tee -a $seq.full _file_as_id $SCRATCH_MNT/initme $id $type 1024 0 echo "ls -l $SCRATCH_MNT" >>$seq.full ls -l $SCRATCH_MNT >>$seq.full -_setquota -$type $id $blksoft $blkhard $inosoft $inohard $QUOTA_FS -_repquota -$type $QUOTA_FS | _filter_repquota +xfs_quota -x \ + -c "limit -$type bsoft=${bsoft}k bhard=${bhard}k $id" \ + -c "limit -$type isoft=$isoft ihard=$ihard $id" \ + $SCRATCH_DEV +xfs_quota -x -c "repquota -birnN -$type" $SCRATCH_DEV | _filter_report echo echo "*** push past the soft inode limit" | tee -a $seq.full _file_as_id $SCRATCH_MNT/softie1 $id $type 1024 0 _file_as_id $SCRATCH_MNT/softie2 $id $type 1024 0 _qmount -_repquota -$type $QUOTA_FS | _filter_repquota +xfs_quota -x -c "repquota -birnN -$type" $SCRATCH_DEV | _filter_report echo echo "*** push past the soft block limit" | tee -a $seq.full _file_as_id $SCRATCH_MNT/softie $id $type 1024 140 _qmount -_repquota -$type $QUOTA_FS | _filter_repquota +xfs_quota -x -c "repquota -birnN -$type" $SCRATCH_DEV | _filter_report echo # Note: for quota accounting (not enforcement), EDQUOT is not expected @@ -135,7 +136,7 @@ do _file_as_id $SCRATCH_MNT/hard$i $id $type 1024 0 done _qmount -_repquota -$type $QUOTA_FS | _filter_repquota +xfs_quota -x -c "repquota -birnN -$type" $SCRATCH_DEV | _filter_report echo # Note: for quota accounting (not enforcement), EDQUOT is not expected @@ -144,7 +145,7 @@ _file_as_id $SCRATCH_MNT/softie $id $type 1024 540 echo "ls -l $SCRATCH_MNT" >>$seq.full ls -l $SCRATCH_MNT >>$seq.full _qmount -_repquota -$type $QUOTA_FS | _filter_and_check_blocks +xfs_quota -x -c "repquota -birnN -$type" $SCRATCH_DEV | _filter_and_check_blks # success, all done status=0 diff --git a/050.gqnoenforce b/050.gqnoenforce index b2b083f2..c9b3ae7d 100644 --- a/050.gqnoenforce +++ b/050.gqnoenforce @@ -7,38 +7,26 @@ log =LDEV bsize=XXX blocks=XXX realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX *** report no quota settings - Block limits File limits -Group used soft hard grace used soft hard grace -name -* 0 0 0 3 0 0 +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] *** report initial settings - Block limits File limits -Group used soft hard grace used soft hard grace -name -* 0 0 0 3 0 0 -name -* 0 100 500 1 4 10 +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 0 100 500 00 [--------] 1 4 10 00 [--------] 0 0 0 00 [--------] *** push past the soft inode limit - Block limits File limits -Group used soft hard grace used soft hard grace -name -* 0 0 0 3 0 0 -name -* 0 100 500 3 4 10 +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 0 100 500 00 [--------] 3 4 10 00 [--------] 0 0 0 00 [--------] *** push past the soft block limit - Block limits File limits -Group used soft hard grace used soft hard grace -name -* 0 0 0 3 0 0 -name +* 140 100 500 4 4 10 +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 140 100 500 00 [--------] 4 4 10 00 [--------] 0 0 0 00 [--------] *** push past the hard inode limit (expect EDQUOT) - Block limits File limits -Group used soft hard grace used soft hard grace -name -* 4 0 0 3 0 0 -name +* 140 100 500 16 4 10 +[ROOT] 4 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 140 100 500 00 [--------] 16 4 10 00 [--none--] 0 0 0 00 [--------] *** push past the hard block limit (expect EDQUOT) - Block limits File limits -Group used soft hard grace used soft hard grace -name -* 4 0 0 3 0 0 -name +* 540 100 500 16 4 10 +[ROOT] 4 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 540 100 500 00 [--none--] 16 4 10 00 [--none--] 0 0 0 00 [--------] *** unmount diff --git a/050.grpquota b/050.grpquota index a2759433..3e105aa5 100644 --- a/050.grpquota +++ b/050.grpquota @@ -7,38 +7,26 @@ log =LDEV bsize=XXX blocks=XXX realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX *** report no quota settings - Block limits File limits -Group used soft hard grace used soft hard grace -name -* 0 0 0 3 0 0 +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] *** report initial settings - Block limits File limits -Group used soft hard grace used soft hard grace -name -* 0 0 0 3 0 0 -name -* 0 100 500 1 4 10 +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 0 100 500 00 [--------] 1 4 10 00 [--------] 0 0 0 00 [--------] *** push past the soft inode limit - Block limits File limits -Group used soft hard grace used soft hard grace -name -* 0 0 0 3 0 0 -name -* 0 100 500 3 4 10 +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 0 100 500 00 [--------] 3 4 10 00 [--------] 0 0 0 00 [--------] *** push past the soft block limit - Block limits File limits -Group used soft hard grace used soft hard grace -name -* 0 0 0 3 0 0 -name +* 140 100 500 7days 4 4 10 7days +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 140 100 500 00 [7 days] 4 4 10 00 [7 days] 0 0 0 00 [--------] *** push past the hard inode limit (expect EDQUOT) - Block limits File limits -Group used soft hard grace used soft hard grace -name -* 0 0 0 3 0 0 -name +* 140 100 500 7days 10 4 10 7days +[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 [--------] *** push past the hard block limit (expect EDQUOT) - Block limits File limits -Group used soft hard grace used soft hard grace -name -* 0 0 0 3 0 0 -name +* OK 100 500 7days 10 4 10 7days +[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 [--------] *** unmount diff --git a/050.pqnoenforce b/050.pqnoenforce new file mode 100644 index 00000000..c9b3ae7d --- /dev/null +++ b/050.pqnoenforce @@ -0,0 +1,32 @@ +QA output created by 050 +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 no quota settings +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] + +*** report initial settings +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 0 100 500 00 [--------] 1 4 10 00 [--------] 0 0 0 00 [--------] + +*** push past the soft inode limit +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 0 100 500 00 [--------] 3 4 10 00 [--------] 0 0 0 00 [--------] + +*** push past the soft block limit +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 140 100 500 00 [--------] 4 4 10 00 [--------] 0 0 0 00 [--------] + +*** push past the hard inode limit (expect EDQUOT) +[ROOT] 4 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 140 100 500 00 [--------] 16 4 10 00 [--none--] 0 0 0 00 [--------] + +*** push past the hard block limit (expect EDQUOT) +[ROOT] 4 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 540 100 500 00 [--none--] 16 4 10 00 [--none--] 0 0 0 00 [--------] + +*** unmount diff --git a/050.prjquota b/050.prjquota new file mode 100644 index 00000000..3e105aa5 --- /dev/null +++ b/050.prjquota @@ -0,0 +1,32 @@ +QA output created by 050 +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 no quota settings +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] + +*** report initial settings +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 0 100 500 00 [--------] 1 4 10 00 [--------] 0 0 0 00 [--------] + +*** push past the soft inode limit +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 0 100 500 00 [--------] 3 4 10 00 [--------] 0 0 0 00 [--------] + +*** 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] 4 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 [--------] + +*** 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 [--------] + +*** unmount diff --git a/050.uqnoenforce b/050.uqnoenforce index 1bc3d2e8..c9b3ae7d 100644 --- a/050.uqnoenforce +++ b/050.uqnoenforce @@ -7,38 +7,26 @@ log =LDEV bsize=XXX blocks=XXX realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX *** report no quota settings - Block limits File limits -User used soft hard grace used soft hard grace -name -* 0 0 0 3 0 0 +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] *** report initial settings - 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 +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 0 100 500 00 [--------] 1 4 10 00 [--------] 0 0 0 00 [--------] *** push past the soft inode limit - 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 +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 0 100 500 00 [--------] 3 4 10 00 [--------] 0 0 0 00 [--------] *** push past the soft block limit - 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 +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 140 100 500 00 [--------] 4 4 10 00 [--------] 0 0 0 00 [--------] *** push past the hard inode limit (expect EDQUOT) - 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 +[ROOT] 4 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 140 100 500 00 [--------] 16 4 10 00 [--none--] 0 0 0 00 [--------] *** push past the hard block limit (expect EDQUOT) - 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 +[ROOT] 4 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 540 100 500 00 [--none--] 16 4 10 00 [--none--] 0 0 0 00 [--------] *** unmount diff --git a/050.usrquota b/050.usrquota index 4915d3a6..3e105aa5 100644 --- a/050.usrquota +++ b/050.usrquota @@ -7,38 +7,26 @@ log =LDEV bsize=XXX blocks=XXX realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX *** report no quota settings - Block limits File limits -User used soft hard grace used soft hard grace -name -* 0 0 0 3 0 0 +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] *** report initial settings - 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 +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 0 100 500 00 [--------] 1 4 10 00 [--------] 0 0 0 00 [--------] *** push past the soft inode limit - 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 +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 0 100 500 00 [--------] 3 4 10 00 [--------] 0 0 0 00 [--------] *** push past the soft block limit - 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 +[ROOT] 0 0 0 00 [--------] 3 0 0 00 [--------] 0 0 0 00 [--------] +[NAME] 140 100 500 00 [7 days] 4 4 10 00 [7 days] 0 0 0 00 [--------] *** push past the hard inode limit (expect EDQUOT) - 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 +[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 [--------] *** push past the hard block limit (expect EDQUOT) - Block limits File limits -User used soft hard grace used soft hard grace -name -* 0 0 0 3 0 0 -name +* OK 100 500 7days 10 4 10 7days +[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 [--------] *** unmount diff --git a/052 b/052 index dd96ac55..ee96a1f4 100755 --- a/052 +++ b/052 @@ -62,6 +62,8 @@ if src/feature -U $SCRATCH_DEV ; then type=u; eval `_choose_uid` elif src/feature -G $SCRATCH_DEV ; then type=g; eval `_choose_gid` +elif src/feature -P $SCRATCH_DEV ; then + type=p; eval `_choose_prid` else _notrun "No quota support at mount time" fi @@ -70,37 +72,25 @@ fi _file_as_id $SCRATCH_MNT/foo $id $type $dbsize 220 sync -# Irix uses filesystem name and Linux uses device of filesystem -if [ $HOSTOS = "Linux" ]; then - QUOTA_FS=$SCRATCH_DEV -else - QUOTA_FS=$SCRATCH_MNT -fi - # set limit at 1001 (1k) blocks bsoft=1001 bhard=1001 isoft=10 ihard=10 -_setquota -$type $id $bsoft $bhard $isoft $ihard $QUOTA_FS +xfs_quota -x \ + -c "limit -$type bsoft=${bsoft}k bhard=${bhard}k $id" \ + -c "limit -$type isoft=$isoft ihard=$ihard $id" \ + $SCRATCH_DEV -_filter_quota() -{ - perl -ne ' - if (m[^\s*'$QUOTA_FS'\s+(\d+)\s+(\d+)\s+(\d+)] || - ($next == 1 && m,^\s+(\d+)\s+(\d+)\s+(\d+),)) { +# cross check blks, softblks, hardblks <-> quota, xfs_db +xfs_quota -c "quota -$type -birnN $id" $SCRATCH_DEV | + tr -s '[:space:]' | tee -a $seq.full | perl -ne ' + if (m[^\s*'$SCRATCH_DEV'\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*'$QUOTA_FS']) { # devfs (long) names - $next = 1; - }' | LC_COLLATE=POSIX sort -} - -# cross check blks, softblks, hardblks <-> quota, xfs_db -_quota -$type $id | tee -a $seq.full | _filter_quota >$tmp.quota + }' | LC_COLLATE=POSIX sort >$tmp.quota echo ===quota output >> $seq.full cat $tmp.quota >> $seq.full @@ -124,8 +114,8 @@ echo ===xfs_db output >> $seq.full cat $tmp.xfs_db >> $seq.full [ ! -s $tmp.xfs_db ] && echo "warning: xfs_db output file is empty" -echo Comparing out of quota and xfs_db -diff $tmp.quota $tmp.xfs_db +echo Comparing out of xfs_quota and xfs_db +diff $tmp.quota $tmp.xfs_db [ $? -eq 0 ] && echo OK. # success, all done diff --git a/052.out b/052.out index c61a0135..b02858ce 100644 --- a/052.out +++ b/052.out @@ -5,5 +5,5 @@ data = bsize=XXX blocks=XXX, imaxpct=PCT naming =VERN bsize=XXX log =LDEV bsize=XXX blocks=XXX realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX -Comparing out of quota and xfs_db +Comparing out of xfs_quota and xfs_db OK. diff --git a/common.quota b/common.quota index 4ec54ce1..b15be86f 100644 --- a/common.quota +++ b/common.quota @@ -1,14 +1,15 @@ ##/bin/sh # -# Copyright (c) 2000-2001 Silicon Graphics, Inc. All Rights Reserved. +# Copyright (c) 2000-2001,2005 Silicon Graphics, Inc. +# All Rights Reserved. # # Functions useful for quota tests # -# +# # checks that the XFS quota support in the kernel is enabled # and that we have valid quota user tools installed. -# +# _require_quota() { src/feature -q $TEST_DEV @@ -18,11 +19,11 @@ _require_quota() # # checks that the XFS project quota support in the kernel is enabled. -# +# _require_prjquota() { src/feature -p $TEST_DEV - [ $? -ne 0 ] && _notrun "Installed kernel does not support XFS project quotas" + [ $? -ne 0 ] && _notrun "Installed kernel does not support project quotas" } # @@ -39,16 +40,20 @@ _require_nobody() # create a file as a specific user (uid) # takes filename, id, type (u/g), blocksize, blockcount -# +# _file_as_id() { [ $# != 5 ] && _notrun "broken call to _file_as_id in test $seq" - if [ $3 = u ] - then + if [ $3 = p ]; then + size=`expr $4 \* $5`; + echo xfs_io -f -c "chproj $2" -c "pwrite -b $4 0 $size" $1 >>$seq.full + $XFS_IO_PROG -f -c "chproj $2" -c "pwrite -b $4 0 $size" $1 \ + >>$seq.full 2>&1 + return + elif [ $3 = u ]; then magik='$>' # perlspeak for effective uid - elif [ $3 = g ] - then + elif [ $3 = g ]; then magik='$)' # perlspeak for effective gid else _notrun "broken type in call to _file_as_id in test $seq" @@ -89,34 +94,6 @@ _choose_prid() /etc/projid } -# -# filter to get the guts out -# and make linux and irix similar -# -_filter_repquota() -{ - tee -a $seq.full | $AWK_PROG ' - /File limits/ { - gotit = 1 - } - gotit==1 { - sub(/Disk/, "Block") - gsub(/timeleft/, "grace") - gsub(/[.]0 /,"") - sub(/- /, "* ") - sub(/[+] /, "* ") - gsub(/1week/,"7days") - gsub(/NOT STARTED/,"") - gsub(/[ \t]+/, " ") - if ($0 ~ / [-+]/) - $1 = "name" - if ($0 !~ /^$/) - print - next - } - ' | sed -e '/-----------------/d' -} - _qmount() { umount $SCRATCH_DEV >/dev/null 2>&1 @@ -157,64 +134,5 @@ _qsetup() echo "and using type=$type id=$id" >>$seq.full } - -#----------------------------------------------------------------------------------- -# -# wrappers for Linux/IRIX differences -# -_setquota() -{ - _opt_type=$1 - _id=$2 - _bsoft=$3 - _bhard=$4 - _isoft=$5 - _ihard=$6 - _fs=$7 - - [ $# -eq 7 ] || _fail "_setquota failed with wrong # args: $*" - - if [ $HOSTOS = "Linux" ]; then - echo "setquota $_opt_type $_id $_bsoft $_bhard $_isoft $_ihard $_fs" >>$seq.full - setquota $_opt_type $_id $_bsoft $_bhard $_isoft $_ihard $_fs - else - # IRIX - if [ $_opt_type = "-u" ]; then - _opt_type="" - id_param="uid" - else - id_param="gid" - fi - echo "/usr/etc/edquota $_opt_type -f $_fs -l $id_param=$_id,bsoft=$_bsoft,bhard=$_bhard,isoft=$_isoft,ihard=$_ihard" >>$seq.full - /usr/etc/edquota $_opt_type -f $_fs -l $id_param=$_id,bsoft=$_bsoft,bhard=$_bhard,isoft=$_isoft,ihard=$_ihard - fi -} - -_quota() -{ - echo "quota $*" >>$seq.full - if [ $HOSTOS = "Linux" ]; then - quota $* - else - # clear -u - args=`echo $*|sed -e 's/-u//'` - quota -v $args - fi -} - -_repquota() -{ - echo "repquota $*" >>$seq.full - if [ $HOSTOS = "Linux" ]; then - repquota $* - else - # clear -u - args=`echo $*|sed -e 's/-u//'` - repquota -v $args - fi -} - -#----------------------------------------------------------------------------------- - # make sure this script returns success /bin/true