On 07/31/2012 09:49 PM, clinew@xxxxxxxxxxxxx wrote: > 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 Hmm, the purpose of the _weak would be to NOT override a fallocate() if we have one. Why isn't this working? -- Jens Axboe -- 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