summaryrefslogtreecommitdiff
path: root/helpers.c
diff options
context:
space:
mode:
authorWade Cline <wcline@us.ibm.com>2012-08-01 08:45:48 +0200
committerJens Axboe <axboe@kernel.dk>2012-08-01 08:45:48 +0200
commitbcb01f840c244851f760e5ea3bb0fe9aa1c03188 (patch)
treeeb740e3f0eddf7101999afd19761b655c1dee76b /helpers.c
parentfb9f08c6b9da943efd334187ac74200e551596f2 (diff)
downloadfio-bcb01f840c244851f760e5ea3bb0fe9aa1c03188.tar.gz
fio-bcb01f840c244851f760e5ea3bb0fe9aa1c03188.tar.bz2
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>
Diffstat (limited to 'helpers.c')
-rw-r--r--helpers.c2
1 files changed, 2 insertions, 0 deletions
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)