[PATCH 3/4] xfstests: _check_quota_usage needs to unmount to get XFS quotacheck

Dave Chinner david at fromorbit.com
Thu Jul 26 03:35:05 CDT 2012


From: Dave Chinner <dchinner at redhat.com>

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 at redhat.com>
---
 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



More information about the xfs mailing list