aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2004-02-10 09:36:07 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2004-02-10 09:36:07 +0000
commit9a2b08d42f91d283bb318d2927c5e8873eb6e625 (patch)
tree848c8cacc8a4b8cb3619e0a99a85eb36fdf6c112
parent836963c34064edebc5b923f0c79647e44edd7cb1 (diff)
downloadlibfuse-9a2b08d42f91d283bb318d2927c5e8873eb6e625.tar.gz
added i_size_read() check to configure.in
-rw-r--r--ChangeLog5
-rw-r--r--configure.in8
-rw-r--r--kernel/fuse_i.h10
3 files changed, 18 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 97c281e..6c09d16 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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