From 856e5cb2e11d39e5051d1bcf0bd872aadfb777ae Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Wed, 11 Oct 2006 05:44:55 +0000 Subject: [PATCH] Check for signature of super_operations->umount_begin() --- ChangeLog | 6 ++++++ kernel/configure.ac | 8 ++++++++ kernel/inode.c | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 053fd0a..fd82cfd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-10-10 Miklos Szeredi + + * 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 * 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) -- 2.30.2