Linux 3.6 compat, iops->lookup()

As of Linux commit 00cd8dd3bf95f2cc8435b4cac01d9995635c6d0b the
struct nameidata is no longer passed to iops->lookup.  Instead
only the inamedata->flags are passed.

ZFS like almost all Linux fileystems never made use of this so
only the prototype needs to be wrapped for compatibility.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #873
This commit is contained in:
Yuxuan Shui
2012-10-12 22:41:06 +08:00
committed by Brian Behlendorf
parent 3c20361075
commit 8f195a908f
4 changed files with 41 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
dnl #
dnl # 3.6 API change
dnl #
AC_DEFUN([ZFS_AC_KERNEL_LOOKUP_NAMEIDATA], [
AC_MSG_CHECKING([whether iops->lookup() takes struct nameidata])
ZFS_LINUX_TRY_COMPILE([
#include <linux/fs.h>
],[
struct dentry * (*inode_lookup) (struct inode *,struct dentry *,
struct nameidata *) = NULL;
struct inode_operations iops __attribute__ ((unused)) = {
.lookup = inode_lookup,
};
],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_LOOKUP_NAMEIDATA, 1,
[iops->lookup() operation takes nameidata])
],[
AC_MSG_RESULT(no)
])
])
+1
View File
@@ -49,6 +49,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
ZFS_AC_KERNEL_NR_CACHED_OBJECTS
ZFS_AC_KERNEL_FREE_CACHED_OBJECTS
ZFS_AC_KERNEL_FALLOCATE
ZFS_AC_KERNEL_LOOKUP_NAMEIDATA
ZFS_AC_KERNEL_TRUNCATE_RANGE
ZFS_AC_KERNEL_CREATE_UMODE_T
ZFS_AC_KERNEL_AUTOMOUNT