Re: [PATCH 1/6] generic/290: Add test for fallocate zero range

Dave Chinner
2014-02-25T20:01:22Z

On Tue, Feb 25, 2014 at 08:15:23PM +0100, Lukas Czerner wrote:
> Signed-off-by: Lukas Czerner <lczerner@redhat.com>

You need a commit message that describes the test....

> ---
> common/rc | 14 +++++++
> tests/generic/290 | 92 ++++++++++++++++++++++++++++++++++++++++++
> tests/generic/290.out | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++
> tests/generic/group | 1 +
> 4 files changed, 216 insertions(+)
> create mode 100755 tests/generic/290
> create mode 100644 tests/generic/290.out
>
> diff --git a/common/rc b/common/rc
> index f2c3c3a..d3ec4db 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -1359,6 +1359,20 @@ _require_xfs_io_fiemap()
> _notrun "xfs_io fiemap command failed (no fs support?)"
> }
>
> +# check that xfs_io, kernel and filesystem all support fallocate with zero
> +# range
> +_require_xfs_io_falloc_zero()
> +{
> + testfile=$TEST_DIR/$$.falloc
> + testio=`$XFS_IO_PROG -F -f -c "pwrite 0 20k" -c "fsync" \
> + -c "fzero 4k 8k" $testfile 2>&1`
> + rm -f $testfile 2>&1 > /dev/null
> + echo $testio | grep -q "not found" && \
> + _notrun "xfs_io fallocate zero range support is missing"
> + echo $testio | grep -q "Operation not supported" && \
> + _notrun "xfs_io fallocate fzero command failed (no fs support?)"
> +}
> +

Ok, we've now got 4 or 5 copies of this same set of tests for
different fallocate commands. Please factor.

> # Check that a fs has enough free space (in 1024b blocks)
> #
> _require_fs_space()
> diff --git a/tests/generic/290 b/tests/generic/290
> new file mode 100755
> index 0000000..90f560a
> --- /dev/null
> +++ b/tests/generic/290
> @@ -0,0 +1,92 @@
> +#! /bin/bash
> +# FS QA Test No. 290
> +#
> +# Makes calls to fallocate zero range and checks tossed ranges
> +#
> +# Nothing should be tossed unless the range includes a page boundry
> +#
> +# Primarily tests page boundries and boundries that are
> +# off-by-one to ensure we're only tossing what's expected
> +#
> +#-----------------------------------------------------------------------
> +# Copyright (c) 2012 SGI. All Rights Reserved.

Really?

Oh, it's a direct copy-n-paste of the XFS_IOC_ZERO_RANGE test with
s/zero/fzero/.

Please factor along the same lines as _generic_test_punch so we
don't have duplicated code in the tests.

Also, I haven't seen patches 3, 4 or 6 on the list, and they haven't
made it to the archive, either. Can you please resend them?

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com