Hello
I am currently testing Gluster with an InfiniBand setup. So far it's
going really well.
I want to investigate performance using the Gluster patched kernel module.
I am trying to compile and install the Gluster patched fuse here:
http://ftp.zresearch.com/pub/gluster/glusterfs/fuse/fuse-2.7.4glfs11.tar.gz
The libraries and utilities compile fine. The Gluster filesystem
mounts and works OK with these compiled libs and utils.
However, the kernel module won't compile.
I'm using Ubuntu 9.04. Kernel is 2.6.28.
FUSE support is built directly into the kernel. So when I run
./configure I get this:
NOTE: Detected that FUSE is already present in the kernel, so
NOTE: building of kernel module is disabled. To force building
NOTE: of kernel module use the '--enable-kernel-module' option.
That is what I expect. I've configured with "./configure
--enable-kernel-module" to force the building of the kernel module,
but it fails to compile.
I've also tried with a custom built kernel. I have set FUSE in kernel
menu config to:
[m]
I've also tried with another custom built kernel where I've removed it
completely in menu config:
[ ]
However, the kernel module will still not build (yes I've rebooted
into those 2 new kernels I've built).
Trying to compile fuse kernel module gives me these errors when I run make:
make -C /usr/src/linux-source-2.6.28 SUBDIRS=`pwd` modules
make[1]: Entering directory `/usr/src/linux-source-2.6.28'
CC [M] /usr/src/fuse-2.7.4glfs11/kernel/dev.o
CC [M] /usr/src/fuse-2.7.4glfs11/kernel/dir.o
/usr/src/fuse-2.7.4glfs11/kernel/dir.c: In function ?fuse_permission?:
/usr/src/fuse-2.7.4glfs11/kernel/dir.c:860: error: ?LOOKUP_ACCESS?
undeclared (first use in this function)
/usr/src/fuse-2.7.4glfs11/kernel/dir.c:860: error: (Each undeclared
identifier is reported only once
/usr/src/fuse-2.7.4glfs11/kernel/dir.c:860: error: for each function
it appears in.)
/usr/src/fuse-2.7.4glfs11/kernel/dir.c: At top level:
/usr/src/fuse-2.7.4glfs11/kernel/dir.c:1331: warning: initialization
from incompatible pointer type
/usr/src/fuse-2.7.4glfs11/kernel/dir.c:1350: warning: initialization
from incompatible pointer type
make[2]: *** [/usr/src/fuse-2.7.4glfs11/kernel/dir.o] Error 1
make[1]: *** [_module_/usr/src/fuse-2.7.4glfs11/kernel] Error 2
make[1]: Leaving directory `/usr/src/linux-source-2.6.28'
make: *** [all-spec] Error 2
I have also copied over the Gluster patched source code into fs/fuse
directory of the Linux kernel sources:
control.c
dev.c
dir.c
file.c
fuse_i.h
inode.c
The compiled a new kernel. The kernel itself compiles OK. but a lot
of modules won't compile. In fact, it's missing over 2000 modules.
Has anyone got the patched FUSE kernel module to compile on an Ubuntu
or Debian system!
Thank you