From bcb01f840c244851f760e5ea3bb0fe9aa1c03188 Mon Sep 17 00:00:00 2001 From: Wade Cline Date: Wed, 1 Aug 2012 08:45:48 +0200 Subject: [PATCH] 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 Signed-off-by: Jens Axboe --- helpers.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/helpers.c b/helpers.c index 95625672..5be45ccf 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) -- 2.25.1