On 3/18/13 12:09 PM, Theodore Ts'o wrote: > On Mon, Mar 18, 2013 at 11:10:51AM -0500, Eric Sandeen wrote: <previous discussion thread about test 285 SEEK_HOLE test breaking on ext4 due to change in opportunistic hole-filling behavior and how to make it work again on ext4, and mention of sysctl which makes it pass> >> The test could do this too, right? >> >> _need_to_be_root >> >> and: >> >> if [ "$FSTYP" == "ext4" ]; then >> ORIG_ZEROOUT_KB=`cat /sys/fs/ext4/$TEST_DEV/extent_max_zeroout_kb` >> echo 0 > /sys/fs/ext4/$TEST_DEV/extent_max_zeroout_kb >> fi >> >> and put it back to default in _cleanup: >> >> echo $ORIG_ZEROOUT_KB > /sys/fs/ext4/$TEST_DEV/extent_max_zeroout_kb >> >> That way we'd be testing seek hole correctness w/o being subject to >> the vagaries in allocator behavior. > > Yeah, the question is whether it would be more acceptable to put > ext4-specific hacks like this into the test, or to modify > src/seek_sanity_test.c so that it writes the test block-size block > using pwrite at offset blocksize*42 instead of offset blocksize*10. That seems like more of an obtuse hack, since it depends on current default behavior, right? Explicitly setting the zeroout to 0, with a comment as to why, should make it clear to the reader of the test I think. I'll have to look, xfs speculative preallocation fills in holes in some cases as well, I'm not certain how it behaves on this test. But we could put in a specific tuning for xfs as well if needed. If it becomes clear that every fs requires tuning to not opportunistically fill in holes, then maybe we should make it non-generic, and only support filesystems we've tested or tuned to work with the testcase. > I had assumed putting hacks which tweaked sysfs tunables into the > xfstest script itself would be frowned upon, but if that's considered > OK, that would be great. I don't see any real problem with it, myself. cc: xfs list to see if there are any objections... -Eric > > - Ted > -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html