diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | configure.in | 8 | ||||
-rw-r--r-- | kernel/fuse_i.h | 10 |
3 files changed, 18 insertions, 5 deletions
@@ -1,3 +1,8 @@ +2004-02-10 Miklos Szeredi <mszeredi@inf.bme.hu> + + * Added check for i_size_read/write functions to configure.in + (patch by Valient Gough) + 2004-02-06 Miklos Szeredi <mszeredi@inf.bme.hu> * Fixed writing >= 2G files diff --git a/configure.in b/configure.in index a5abe85..7aa7ad9 100644 --- a/configure.in +++ b/configure.in @@ -60,6 +60,14 @@ if test "$enable_kernel_module" != "no"; then AC_SUBST(majver) AC_SUBST(kmoduledir) subdirs="$subdirs kernel" + + old_cflags="$CFLAGS" + CFLAGS="-I${kernelsrc}/include -Wall -O2 -D__KERNEL__" + AC_CHECK_DECL(i_size_read, + AC_DEFINE(HAVE_I_SIZE_FUNC, 1, + [Kernel has i_size_read() and i_size_write() functions]),, + [#include <linux/fs.h>]) + CFLAGS="$old_cflags" fi if test "$enable_lib" != "no"; then diff --git a/kernel/fuse_i.h b/kernel/fuse_i.h index 803a11c..d4a677e 100644 --- a/kernel/fuse_i.h +++ b/kernel/fuse_i.h @@ -24,6 +24,11 @@ #define MODVERSIONS #include <linux/modversions.h> #endif +#include <config.h> +#ifndef HAVE_I_SIZE_FUNC +#define i_size_read(inode) ((inode)->i_size) +#define i_size_write(inode, size) do { (inode)->i_size = size; } while(0) +#endif #endif #include <linux/kernel.h> #include <linux/module.h> @@ -31,11 +36,6 @@ #include <linux/list.h> #include <linux/spinlock.h> -#ifndef KERNEL_2_6 -#define i_size_read(inode) ((inode)->i_size) -#define i_size_write(inode, size) do { (inode)->i_size = size; } while(0) -#endif - /** Read combining parameters */ #define FUSE_BLOCK_SHIFT 16 #define FUSE_BLOCK_SIZE 65536 |