From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Occasionally speculative preallocation kicks in when writing files to a filesystem under test. These preallocations consume quota and /usually/ aren't around after we drop_caches, but there's nothing to guarantee that they actually have, so the quota reports will be different before and after the fs remount, causing sporadic test failures in generic/{23[123],270}. We now have xfs_spaceman which can instruct XFS to forcibly remove the speculative preallocations. This fixes the sporadic failures, at least for XFS. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --- common/config | 1 + common/quota | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/common/config b/common/config index 8844173..96503c6 100644 --- a/common/config +++ b/common/config @@ -149,6 +149,7 @@ export XFS_LOGPRINT_PROG="`set_prog_path xfs_logprint`" export XFS_REPAIR_PROG="`set_prog_path xfs_repair`" export XFS_DB_PROG="`set_prog_path xfs_db`" export XFS_GROWFS_PROG=`set_prog_path xfs_growfs` +export XFS_SPACEMAN_PROG="`set_prog_path xfs_spaceman`" export XFS_SCRUB_PROG="`set_prog_path xfs_scrub`" export XFS_PARALLEL_REPAIR_PROG="`set_prog_path xfs_prepair`" export XFS_PARALLEL_REPAIR64_PROG="`set_prog_path xfs_prepair64`" diff --git a/common/quota b/common/quota index d027a8c..2611c48 100644 --- a/common/quota +++ b/common/quota @@ -267,6 +267,12 @@ _check_quota_usage() VFS_QUOTA=1 quotaon -f -u -g $SCRATCH_MNT 2>/dev/null ;; + xfs) + # Clear out speculative preallocations to eliminate them + # as a source of intermittent orig/checked differences. + test -x "$XFS_SPACEMAN_PROG" && \ + "$XFS_SPACEMAN_PROG" -c 'prealloc -s' $SCRATCH_MNT + ;; *) ;; esac -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html