Wang Shilong
2014-Jan-06 09:17 UTC
[PATCH v2] xfstests: fix failed 022 case with qgroup limit test
To have noexceed test, we should clear data before and then retry.
However, when we are near to quota limit, we may fail to truncate/remove
data before, so we restart everthing here.
Signed-off-by: Wang Shilong <wangsl.fnst@cn.fujitsu.com>
---
changelog v1->v2:
on the right way to fix failed case(Thanks to Tsutomu Itoh)
---
tests/btrfs/022 | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/tests/btrfs/022 b/tests/btrfs/022
index 5b18643..41d8588 100644
--- a/tests/btrfs/022
+++ b/tests/btrfs/022
@@ -94,8 +94,8 @@ _rescan_test()
_fail "exclusive values don't match after rescan"
}
-#basic limit testing
-_limit_test()
+#basic exceed limit testing
+_limit_test_exceed()
{
run_check $BTRFS_UTIL_PROG subvol create $SCRATCH_MNT/a
run_check $BTRFS_UTIL_PROG quota enable $SCRATCH_MNT
@@ -104,6 +104,15 @@ _limit_test()
dd if=/dev/urandom of=$SCRATCH_MNT/a/file bs=10M count=1 >> \
$seqres.full 2>&1
[ $? -ne 0 ] || _fail "quota should have limited us"
+}
+
+#basic noexceed limit testing
+_limit_test_noexceed()
+{
+ run_check $BTRFS_UTIL_PROG subvol create $SCRATCH_MNT/a
+ run_check $BTRFS_UTIL_PROG quota enable $SCRATCH_MNT
+ subvolid=$(_btrfs_get_subvolid $SCRATCH_MNT a)
+ run_check $BTRFS_UTIL_PROG qgroup limit 5M 0/$subvolid $SCRATCH_MNT
dd if=/dev/urandom of=$SCRATCH_MNT/a/file bs=4M count=1 >> \
$seqres.full 2>&1
[ $? -eq 0 ] || _fail "should have been allowed to write"
@@ -121,7 +130,12 @@ _scratch_unmount
_scratch_mkfs > /dev/null 2>&1
_scratch_mount
-_limit_test
+_limit_test_exceed
+_scratch_unmount
+
+_scratch_mkfs > /dev/null 2>&1
+_scratch_mount
+_limit_test_noexceed
# success, all done
echo "Silence is golden"
--
1.8.3.1
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs"
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html