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
|