_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
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"
_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"