From: Dave Chinner <dchinner@xxxxxxxxxx>
Remount won't run a quota check - it's only done during mount. Hence
all quota tests using this check function are not actually
validating XFS filesystems right now.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
---
common.quota | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/common.quota b/common.quota
index 9736306..2fa784b 100644
--- a/common.quota
+++ b/common.quota
@@ -236,6 +236,11 @@ _check_quota_usage()
{
# Sync to get delalloc to disk
sync
+
+ # kill caches to guarantee removal speculative delalloc
+ # XXX: really need an ioctl instead of this big hammer
+ echo 3 > /proc/sys/vm/drop_caches
+
VFS_QUOTA=0
case $FSTYP in
ext2|ext3|ext4|ext4dev|reiserfs)
@@ -253,8 +258,9 @@ _check_quota_usage()
quotacheck -u -g $SCRATCH_MNT 2>/dev/null
else
# use XFS method to force quotacheck
- mount -o remount,noquota $SCRATCH_DEV
- mount -o remount,usrquota,grpquota $SCRATCH_DEV
+ xfs_quota -x -c "off -ug" $SCRATCH_MNT
+ _scratch_unmount
+ _scratch_mount "-o usrquota,grpquota"
fi
repquota -u -n $SCRATCH_MNT | grep -v "^#0" | _filter_scratch |
sort >$tmp.user.checked
--
1.7.10
|