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@xxxxxxxxxx>
---
helpers.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/helpers.c b/helpers.c
index 9562567..714842e 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)
--
1.7.8.6
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html