On Thu, May 30, 2013 at 02:45:37PM +0200, Jan Kara wrote:
> In some configurations (e.g. 1 KB block size), ext4 can decide it is
> better to zero out several blocks rather than splitting unwritten
> extent. This changes results SEEK_HOLE / SEEK_DATA returns and thus the
> test fails. Fix the problem by disabling the feature for this test.
> Signed-off-by: Jan Kara <jack@xxxxxxx>
> tests/generic/285 | 6 ++++++
> 1 file changed, 6 insertions(+)
> diff --git a/tests/generic/285 b/tests/generic/285
> index b700a15..8078b1c 100755
> --- a/tests/generic/285
> +++ b/tests/generic/285
> @@ -46,6 +46,12 @@ BASE_TEST_FILE=$TEST_DIR/seek_sanity_testfile
> [ -x $here/src/seek_sanity_test ] || _notrun "seek_sanitfy_tester not built"
> +# Disable extent zeroing for ext4 as that change where holes are created
> +if [ "$FSTYP" = "ext4" ]; then
> + DEV=`basename $TEST_DEV`
> + echo 0 >/sys/fs/ext4/$DEV/extent_max_zeroout_kb
would that be better going into _require_seek_data_hole so that 286
also picks up this behaviour for ext4?