On XFS, the only reliable way to clean out speculative post-eof
preallocations, delayed allocations, and speculative cow preallocations
is to cycle the filesystem mount. Since we're comparing the post-test
quota counts against a freshly quotacheck to look for leaks, it's fine
to cycle the mount. This eliminates sporadic quota count failures when
running xfstests with quotas enabled.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
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
+ # Only way to make this reliable with cow/delalloc/speculative
+ # preallocations is to unmount and remount the whole mess...
+ _scratch_unmount
+ _scratch_mount "-o usrquota,grpquota"
;;
*)
;;