ctest: add preflight check that TEST_TMPDIR supports hole punching
ctest: add preflight check that TEST_TMPDIR supports hole punching

Now that the log block manager is the default, we've effectively asserted
that Kudu requires hole punching support in order to work. Over the weekend
we learned that some of our Jenkins jobs still run with a TEST_TMPDIR on
ext3, where there's no fallocate() support at all. These jobs created a ton
of false positive flakies.

We can avoid this situation in the future with a ctest preflight check that
ensures that fallocate() is supported on the filesystem under test. The
'fallocate' binary appears to be in util-linux on Ubuntu as well as el6.
Unfortunately, hole punching was only added after el6, but even ensuring
basic fallocate() support would have caught the problem on ext3.

Change-Id: I0def65c2ad7cec9db3c191e223920e124678e4d2
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/6609
Reviewed-by: Todd Lipcon <2c763d726a8c2f6afda9be7e0e56a2caa6bb5e6b@cloudera.com>
Tested-by: jenkins

EvilMcJerkface/kudu,EvilMcJerkface/kudu,InspurUSA/kudu,andrwng/kudu,helifu/kudu,cloudera/kudu,EvilMcJerkface/kudu,InspurUSA/kudu,cloudera/kudu,InspurUSA/kudu,andrwng/kudu,EvilMcJerkface/kudu,andrwng/kudu,helifu/kudu,helifu/kudu,cloudera/kudu,cloudera/kudu,cloudera/kudu,EvilMcJerkface/kudu,InspurUSA/kudu,InspurUSA/kudu,andrwng/kudu,andrwng/kudu,cloudera/kudu,andrwng/kudu,InspurUSA/kudu,EvilMcJerkface/kudu,EvilMcJerkface/kudu,helifu/kudu,helifu/kudu,cloudera/kudu,helifu/kudu,EvilMcJerkface/kudu,cloudera/kudu,InspurUSA/kudu,andrwng/kudu,InspurUSA/kudu,cloudera/kudu,andrwng/kudu,InspurUSA/kudu,helifu/kudu,helifu/kudu,andrwng/kudu,EvilMcJerkface/kudu,helifu/kudu