From: Luka R. <luk...@he...> - 2005-09-14 11:34:30
|
> > I will now download FUSE 2.3.0 and try to reproduce this with it. > > Got it. It's a bug in 1.4, probably only triggered in recent kernels. > > Fix is to replace S_IFSOCK with S_IFREG in kernel/dev.c. But > upgrading to 2.3 is the more proper solution. That solved it - thanks! We plan to switch to 2.4 (with inode interface) soon. > > I'm wondering how you are able to run 1.4 on such a new > kernel? It needs tweeking to compile. It is only vfs_permission() change of interface which we workaround with simple: --- fuse-1.4/kernel/fuse_i.h:1.1 Wed Oct 27 11:42:31 2004 +++ fuse-1.4/kernel/fuse_i.h Thu Jul 7 14:32:55 2005 @@ -36,6 +36,11 @@ #include <linux/list.h> #include <linux/spinlock.h> +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10) +/* work around vfs_permission changes */ +#define vfs_permission(INODE, MASK) generic_permission(INODE, MASK, NULL) +#endif + /** Read combining parameters */ #define FUSE_BLOCK_SHIFT 16 #define FUSE_BLOCK_SIZE 65536 Regards, Luka |