diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2006-10-11 05:44:55 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2006-10-11 05:44:55 +0000 |
commit | 856e5cb2e11d39e5051d1bcf0bd872aadfb777ae (patch) | |
tree | 0209d745e81a6e938d6f8557cec60eb96ef0ff7b | |
parent | 53eec2a0d51ac5b126777fc61fa12bbc35a1a441 (diff) | |
download | fuse-856e5cb2e11d39e5051d1bcf0bd872aadfb777ae.tar.gz |
Check for signature of super_operations->umount_begin()
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | kernel/configure.ac | 8 | ||||
-rw-r--r-- | kernel/inode.c | 2 |
3 files changed, 15 insertions, 1 deletions
@@ -1,3 +1,9 @@ +2006-10-10 Miklos Szeredi <miklos@szeredi.hu> + + * kernel: Check for signature of super_operations->umount_begin(). + Ubuntu kernel 2.6.17 seems to use the new signature found in + 2.6.18. Thanks to Florent Mertens for the report + 2006-10-08 Miklos Szeredi <miklos@szeredi.hu> * Make sure inode numers wrap around at 2^32. This is needed on diff --git a/kernel/configure.ac b/kernel/configure.ac index d0ebcc8..29e6ee3 100644 --- a/kernel/configure.ac +++ b/kernel/configure.ac @@ -149,6 +149,14 @@ if test "$ENABLE_FUSE_MODULE" = y; then AC_MSG_RESULT([no]) fi + AC_MSG_CHECKING([if umount_begin is passed a vfsmount]) + if egrep -q "\(\*umount_begin\) *\(struct vfsmount \*" $kernelsrc/include/linux/fs.h; then + AC_DEFINE(UMOUNT_BEGIN_VFSMOUNT, 1, [umount_begin is passed a vfsmount]) + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + AC_MSG_CHECKING([whether lookup_instantiate_filp is defined]) if test -f $kernelsrc/include/linux/namei.h && egrep -q "lookup_instantiate_filp" $kernelsrc/include/linux/namei.h; then AC_DEFINE(HAVE_LOOKUP_INSTANTIATE_FILP, 1, [lookup_instantiate_filp() is defined]) diff --git a/kernel/inode.c b/kernel/inode.c index be72f80..aada038 100644 --- a/kernel/inode.c +++ b/kernel/inode.c @@ -213,7 +213,7 @@ struct inode *fuse_iget(struct super_block *sb, unsigned long nodeid, return inode; } -#ifdef KERNEL_2_6_18_PLUS +#ifdef UMOUNT_BEGIN_VFSMOUNT static void fuse_umount_begin(struct vfsmount *vfsmnt, int flags) { if (flags & MNT_FORCE) |