LINUX_D_ALIAS_IS_HLIST
LINUX_IOP_I_CREATE_TAKES_BOOL
LINUX_DOP_D_REVALIDATE_TAKES_UNSIGNED
+ LINUX_IOP_LOOKUP_TAKES_UNSIGNED
dnl If we are guaranteed that keyrings will work - that is
dnl a) The kernel has keyrings enabled
/* afs_linux_lookup */
static struct dentry *
-#ifdef IOP_LOOKUP_TAKES_NAMEIDATA
+#if defined(IOP_LOOKUP_TAKES_UNSIGNED)
+afs_linux_lookup(struct inode *dip, struct dentry *dp,
+ unsigned flags)
+#elif defined(IOP_LOOKUP_TAKES_NAMEIDATA)
afs_linux_lookup(struct inode *dip, struct dentry *dp,
struct nameidata *nd)
#else
[define if your dops.d_revalidate takes an unsigned int argument],
[-Werror])
])
+
+
+AC_DEFUN([LINUX_IOP_LOOKUP_TAKES_UNSIGNED], [
+ AC_CHECK_LINUX_BUILD([whether inode operation lookup takes an unsigned int],
+ [ac_cv_linux_func_lookup_takes_unsigned],
+ [#include <linux/fs.h>
+ #include <linux/namei.h>],
+ [struct inode_operations iops;
+ struct dentry *look(struct inode *i, struct dentry *d, unsigned int j) { return NULL; };
+ iops.lookup = look;],
+ [IOP_LOOKUP_TAKES_UNSIGNED],
+ [define if your iops.lookup takes an unsigned int argument],
+ [-Werror])
+])