LINUX_KERNEL_PATH="/usr/src/linux"
fi
fi
+ if test -f "$LINUX_KERNEL_PATH/include/linux/utsrelease.h"; then
+ linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/utsrelease.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
+ LINUX_VERSION="$linux_kvers"
+ else
if test -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
if test "x$linux_kvers" = "x"; then
else
enable_kernel_module="no"
fi
+ fi
if test ! -f "$LINUX_KERNEL_PATH/include/linux/autoconf.h"; then
enable_kernel_module="no"
fi
static int afs_root(struct super_block *afsp);
struct super_block *afs_read_super(struct super_block *sb, void *data, int silent);
int afs_fill_super(struct super_block *sb, void *data, int silent);
-static struct super_block *afs_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, void *data);
/* afs_file_system
* VFS entry for Linux - installed in init_module
.state = 0,
};
+
+/* afs_read_super
+ * read the "super block" for AFS - roughly eguivalent to struct vfs.
+ * dev, covered, s_rd_only, s_dirt, and s_type will be set by read_super.
+ */
+#if defined(AFS_LINUX26_ENV)
+static struct super_block *
+#ifdef GET_SB_HAS_STRUCT_VFSMOUNT
+afs_get_sb(struct file_system_type *fs_type, int flags,
+ const char *dev_name, void *data, struct vfsmount *mnt)
+#else
+afs_get_sb(struct file_system_type *fs_type, int flags,
+ const char *dev_name, void *data)
+#endif
+{
+#ifdef GET_SB_HAS_STRUCT_VFSMOUNT
+ return get_sb_nodev(fs_type, flags, data, afs_fill_super, mnt);
+#else
+ return get_sb_nodev(fs_type, flags, data, afs_fill_super);
+#endif
+}
+
+
struct file_system_type afs_fs_type = {
.owner = THIS_MODULE,
.name = "afs",
};
#endif
-/* afs_read_super
- * read the "super block" for AFS - roughly eguivalent to struct vfs.
- * dev, covered, s_rd_only, s_dirt, and s_type will be set by read_super.
- */
-#if defined(AFS_LINUX26_ENV)
-static struct super_block *
-afs_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, void *data)
-{
- return get_sb_nodev(fs_type, flags, data, afs_fill_super);
-}
int
afs_fill_super(struct super_block *sb, void *data, int silent)
ac_cv_linux_func_d_revalidate_takes_nameidata=yes,
ac_cv_linux_func_d_revalidate_takes_nameidata=no)])
AC_MSG_RESULT($ac_cv_linux_func_d_revalidate_takes_nameidata)])
+
+AC_DEFUN([LINUX_GET_SB_HAS_STRUCT_VFSMOUNT], [
+ AC_MSG_CHECKING([for struct vfsmount * in get_sb_nodev()])
+ AC_CACHE_VAL([ac_cv_linux_get_sb_has_struct_vfsmount], [
+ AC_TRY_KBUILD(
+[#include <linux/fs.h>],
+[get_sb_nodev(0,0,0,0,0);],
+ ac_cv_linux_get_sb_has_struct_vfsmount=yes,
+ ac_cv_linux_get_sb_has_struct_vfsmount=no)])
+ AC_MSG_RESULT($ac_cv_linux_get_sb_has_struct_vfsmount)])