Different filesystems account different amount of metadata in quota. Thus it is impractical to check for a particular amount of space occupied by a file because there is no right value. Change the test to verify whether the amount of space is between the expected amount of space and the expected amount +5%. The number of files is checked exactly as previously. Signed-off-by: Jan Kara <jack@xxxxxxx> --- 219 | 25 +++++++++++++++++++++++-- 219.out | 18 ++---------------- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/219 b/219 index 836d703..ad4e64d 100755 --- a/219 +++ b/219 @@ -58,6 +58,23 @@ test_files() done } +check_usage() +{ + wroteblocks=$1 + wrotefiles=$2 + read id exceed blocks bsoft bhard inodes isoft ihard + if [ "$blocks" -lt "$wroteblocks" ]; then + echo "Too few blocks used (type=$type)" + # Save 5% for overhead of metadata or different block size + elif [ "$blocks" -gt $((wroteblocks+wroteblocks/20)) ]; then + echo "Too many blocks used (type=$type)" + elif [ "$inodes" != "$wrotefiles" ]; then + echo "Bad number of inodes used (type=$type)" + else + echo "Usage OK (type=$type)" + fi +} + test_accounting() { echo "### some controlled buffered, direct and mmapd IO (type=$type)" @@ -77,8 +94,12 @@ test_accounting() $here/src/lstat64 $file | head -3 | _filter_scratch done - repquota -$type -n $SCRATCH_MNT | grep -v "^#0" | _filter_scratch | - awk '/^#/ { if (seen[$1]) next; seen[$1]++; } { print; }' + if [ $type == 'u' ]; then + id=$uid + else + id=$gid + fi + repquota -$type -n $SCRATCH_MNT | grep "^#$id" | check_usage 144 3 } # real QA test starts here diff --git a/219.out b/219.out index fadfafc..23ec57c 100644 --- a/219.out +++ b/219.out @@ -22,14 +22,7 @@ QA output created by 219 File: "SCRATCH_MNT/mmap" Size: 49152 Filetype: Regular File Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) -*** Report for user quotas on device SCRATCH_DEV -Block grace time: 7days; Inode grace time: 7days - Block limits File limits -User used soft hard grace used soft hard grace ----------------------------------------------------------------------- -#1 -- 144 0 0 3 0 0 - - +Usage OK (type=u) ### test group accounting @@ -53,11 +46,4 @@ User used soft hard grace used soft hard grace File: "SCRATCH_MNT/mmap" Size: 49152 Filetype: Regular File Mode: (0644/-rw-r--r--) Uid: (1) Gid: (2) -*** Report for group quotas on device SCRATCH_DEV -Block grace time: 7days; Inode grace time: 7days - Block limits File limits -Group used soft hard grace used soft hard grace ----------------------------------------------------------------------- -#2 -- 144 0 0 3 0 0 - - +Usage OK (type=g) -- 1.7.1 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs