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.
Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx>
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
@@ -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
eval "rm -f $BASE_TEST_FILE.*"