mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
quota: clear speculative delalloc when checking quota usage
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@oracle.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
committed by
Eryu Guan
parent
23e7ba4e10
commit
148090c1c4
@@ -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`"
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user