Fix fallocate erroneously returning ENOSYS on Linux systems

Currently, the helpers.c file provides a function defintion for Linux
fallocate that sets errno to ENOSYS and returns failure; this is useful
for a non-Linux OS. However, this definition will override the Linux
implementation of fallocate when 'fallocate=keep' is set. Adding a
preprocessor macro to check if Linux fallocate is defined fixes this
issue.

Signed-off-by: Wade Cline <wcline@us.ibm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/helpers.c b/helpers.c
index 9562567..5be45cc 100644
--- a/helpers.c
+++ b/helpers.c
@@ -9,11 +9,13 @@
 #include "arch/arch.h"
 #include "os/os.h"
 
+#ifndef FIO_HAVE_LINUX_FALLOCATE 
 int _weak fallocate(int fd, int mode, off_t offset, off_t len)
 {
 	errno = ENOSYS;
 	return -1;
 }
+#endif
 
 #ifndef __NR_fallocate
 int _weak posix_fallocate(int fd, off_t offset, off_t len)