Re: [PATCH] generic/027: enlarge fs size for btrfs in bigger page-size machine

Dave Chinner
2015-09-21T00:19:23Z

On Fri, Sep 11, 2015 at 07:41:31PM +0800, xuw2015@gmail.com wrote:
> From: George Wang <xuw2015@gmail.com>
>
> btrfs on bigger page-size machine(such as ppc64/ppc64le), the min fs
> size shoule be more than 480MB. Otherwise, the mount will fail.
> So we shoud adjust the fs size to 512MB for btrfs to run this test
> correctly. And we also provide a double check: if mount fails, we should
> never run this test.
>
> Signed-off-by: George Wang <xuw2015@gmail.com>
> ---
> tests/generic/027 | 19 +++++++++++--------
> 1 file changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/tests/generic/027 b/tests/generic/027
> index d2e59d6..c42b9a6 100755
> --- a/tests/generic/027
> +++ b/tests/generic/027
> @@ -65,8 +65,17 @@ _require_scratch
> rm -f $seqres.full
> echo "Silence is golden"
>
> -_scratch_mkfs_sized $((256 * 1024 * 1024)) >>$seqres.full 2>&1
> -_scratch_mount
> +loop=100
> +fs_size=$((256 * 1024 * 1024))
> +# btrfs takes much longer time, reduce the loop count
> +# btrfs takes much more space when first mount on bigger page-size machine
> +if [ "$FSTYP" == "btrfs" ]; then
> + loop=10
> + fs_size=$((512 * 1024 * 1024))
> +fi

No. Please don't sprinkle fs magic numbers like this through tests.
This is the second "btrfs breaks with small filesystems on 64k page
size machines so change the test" patch in recent times.

If btrfs has some special behaviour that it needs to support here
(e.g. minimum fs size because of machine page size) then please
modify the minimum size inside _scratch_mkfs_sized() via a callout
to a new _mkfs_btrfs_sized() function.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com