xfs
[Top] [All Lists]

[PATCH] xfstests: Improve test 219 to work with different filesystems

To: xfs@xxxxxxxxxxx
Subject: [PATCH] xfstests: Improve test 219 to work with different filesystems
From: Jan Kara <jack@xxxxxxx>
Date: Thu, 19 May 2011 13:47:55 +0200
Cc: Dave Chinner <david@xxxxxxxxxxxxx>, Jan Kara <jack@xxxxxxx>
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 +++++++++++++++++++++++--
 1 files changed, 23 insertions(+), 2 deletions(-)

 Dave, does this look better?

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
-- 
1.7.1

<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH] xfstests: Improve test 219 to work with different filesystems, Jan Kara <=