}
run_test 78 "Check fallocate increase quota usage"
+test_78a()
+{
+ (( $CLIENT_VERSION >= $(version_code 2.15.0) )) ||
+ skip "need client at least 2.15.0"
+ (( $OST1_VERSION >= $(version_code 2.15.0) )) ||
+ skip "need OST at least 2.15.0"
+ check_set_fallocate_or_skip
+
+ setup_quota_test || error "setup quota failed with $?"
+
+ # enable ost quota
+ set_ost_qtype $QTYPE || error "enable ost quota failed"
+
+ mkdir -p $DIR/$tdir || error "failed to create $tdir"
+
+ local projectid=5200 # Random project id to test
+
+ change_project -sp $projectid $DIR/$tdir
+
+ # setup quota limit
+ $LFS setquota -p $projectid -b25M -B25M $DIR/$tdir ||
+ error "lfs setquota project failed"
+
+ # call fallocate
+ fallocate -l 204800 $DIR/$tdir/$tfile
+
+ # Get curspace (kbytes) for $projectid
+ local kbytes=$(getquota -p $projectid global curspace)
+
+ echo "kbytes returned:$kbytes"
+
+ # For file size of 204800. We should be having roughly 200 kbytes
+ # returned. Anything alarmingly low (50 taken as arbitrary value)
+ # would bail out this TC. Also this also avoids $kbytes of 0
+ # to be used in calculation below.
+ (( $kbytes > 50 )) ||
+ error "fallocate did not use projectid. kbytes returned:$kbytes"
+
+ local expect_lo=$(($kbytes * 95 / 100)) # 5% below
+ local expect_hi=$(($kbytes * 105 / 100)) # 5% above
+
+ # Verify kbytes is 200 (204800/1024). With a permited 5% drift
+ (( $kbytes >= $expect_lo && $kbytes <= $expect_hi )) ||
+ error "fallocate did not use quota projectid correctly"
+}
+run_test 78a "Check fallocate increase projectid usage"
+
test_79()
{
local qpool="qpool1"