[PATCH 4/8] xfstests: use preallocation for ag-wiper

Mark Tinguely tinguely at sgi.com
Mon Jan 16 10:50:49 CST 2012


On 01/-10/63 13:59, Dave Chinner wrote:
> From: Dave Chinner<dchinner at redhat.com>
>
> To enable sane testing of large scale filesystems, the --large-fs
> test option uses xfs_db magic to mark AGs full without doing any IO.
> This leaves only a small amount of free space left in the filesystem
> to stress the high AGs of the filesystem rather than the low AGs.
>
> This method requires us to have special filesystem check options to
> avoid free space checking in xfs_check, and we cannot current run
> xfs_repair on such a filesystem at all. As it is, free space
> checking on xfs_check does not scale, so we still need to avoid this
> checking regardless of how we fill the filesystem.
>
> We can acheive exactly the same fill behaviour by preallocating a
> single large file in the filesystem immediately after creating it.
> This is a filesystem independent manner of filling the filesystem,
> and allows us to do large filesystem testing on more than just XFS.
>
> Further, this preallocation method effectively adds a new "very
> large file" test. It also enables us to run an unmodified xfs_repair
> or filesystem specific fsck program to check the filesystem for
> sanity, so we can now do full sanity checking of such large
> filesystems.
>
...
> +_setup_large_xfs_fs()
> +{
> +	fs_size=$1
> +	local tmp_dir=/tmp/
> +
> +	[ "$LARGE_SCRATCH_DEV" != yes ]&&  return 0
> +	[ -z "$SCRATCH_DEV_EMPTY_SPACE" ]&&  SCRATCH_DEV_EMPTY_SPACE=0
> +	[ $SCRATCH_DEV_EMPTY_SPACE -ge $fs_size ]&&  return 0
> +
> +	# calculate the size of the file we need to allocate.
> +	# Default free space in the FS is 50GB, but you can specify more via
> +	# SCRATCH_DEV_EMPTY_SPACE
> +	file_size=$(($fs_size - 50*1024*1024*1024))
> +	file_size=$(($file_size - $SCRATCH_DEV_EMPTY_SPACE))

Should SCRATCH_DEV_EMPTY_SPACE variable be documented in the usage output?

Looks good.

Reviewed-by: Mark Tinguely <tinguely at sgi.com>




More information about the xfs mailing list