Check for signature of super_operations->umount_begin()
authorMiklos Szeredi <miklos@szeredi.hu>
Wed, 11 Oct 2006 05:44:55 +0000 (05:44 +0000)
committerMiklos Szeredi <miklos@szeredi.hu>
Wed, 11 Oct 2006 05:44:55 +0000 (05:44 +0000)
ChangeLog
kernel/configure.ac
kernel/inode.c

index 053fd0a70763b2edd3b0cd925eff7b08c2876728..fd82cfd5051a3980816a8a55fa683314dab2ee20 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
index d0ebcc8b32be767358e73f805c46c7740ca17589..29e6ee30fb9c950e04ef379f30f2417ad523f69c 100644 (file)
@@ -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])
index be72f809a4ef19df9cbb08aea2ac54826c87f850..aada038cac3794ecbf2bd541cd4e36e5753be70b 100644 (file)
@@ -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)