diff -pur fuse-1.4.orig/kernel/dir.c fuse-1.4/kernel/dir.c --- fuse-1.4.orig/kernel/dir.c 2005-01-02 21:09:09.908015392 +0100 +++ fuse-1.4/kernel/dir.c 2005-01-02 21:10:21.430142376 +0100 @@ -417,7 +417,12 @@ static int _fuse_permission(struct inode if(!(fc->flags & FUSE_ALLOW_OTHER) && current->fsuid != fc->uid) return -EACCES; else if(fc->flags & FUSE_DEFAULT_PERMISSIONS) { - int err = vfs_permission(inode, mask); + int err; +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10) + err = vfs_permission(inode, mask); +#else + err = generic_permission(inode, mask, NULL); +#endif /* If permission is denied, try to refresh file attributes. This is also needed, because the root @@ -426,7 +431,11 @@ static int _fuse_permission(struct inode if(err == -EACCES) { err = fuse_do_getattr(inode); if(!err) +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10) err = vfs_permission(inode, mask); +#else + err = generic_permission(inode, mask, NULL); +#endif } /* FIXME: Need some mechanism to revoke permissions: