aboutsummaryrefslogtreecommitdiffstats
path: root/module/zfs/zpl_ctldir.c
diff options
context:
space:
mode:
authorYuxuan Shui <[email protected]>2012-10-12 22:41:06 +0800
committerBrian Behlendorf <[email protected]>2012-10-14 13:06:54 -0700
commit8f195a908ffaa8faf8f4c8a0e701e44ae3859e33 (patch)
tree48ade7ec19cb9689b2d7c5e508626cd29df09272 /module/zfs/zpl_ctldir.c
parent3c203610756f98f275c7c9f731d67a38b1111509 (diff)
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 <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Issue #873
Diffstat (limited to 'module/zfs/zpl_ctldir.c')
-rw-r--r--module/zfs/zpl_ctldir.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/module/zfs/zpl_ctldir.c b/module/zfs/zpl_ctldir.c
index c680e5443..7dfaf6ebc 100644
--- a/module/zfs/zpl_ctldir.c
+++ b/module/zfs/zpl_ctldir.c
@@ -143,7 +143,11 @@ zpl_root_getattr(struct vfsmount *mnt, struct dentry *dentry,
}
static struct dentry *
+#ifdef HAVE_LOOKUP_NAMEIDATA
zpl_root_lookup(struct inode *dip, struct dentry *dentry, struct nameidata *nd)
+#else
+zpl_root_lookup(struct inode *dip, struct dentry *dentry, unsigned int flags)
+#endif
{
cred_t *cr = CRED();
struct inode *ip;
@@ -180,8 +184,14 @@ const struct inode_operations zpl_ops_root = {
};
static struct dentry *
+#ifdef HAVE_LOOKUP_NAMEIDATA
zpl_snapdir_lookup(struct inode *dip, struct dentry *dentry,
struct nameidata *nd)
+#else
+zpl_snapdir_lookup(struct inode *dip, struct dentry *dentry,
+ unsigned int flags)
+#endif
+
{
cred_t *cr = CRED();
struct inode *ip;
@@ -410,8 +420,13 @@ const struct dentry_operations zpl_dops_snapdirs = {
#endif /* HAVE_AUTOMOUNT */
static struct dentry *
+#ifdef HAVE_LOOKUP_NAMEIDATA
zpl_shares_lookup(struct inode *dip, struct dentry *dentry,
struct nameidata *nd)
+#else
+zpl_shares_lookup(struct inode *dip, struct dentry *dentry,
+ unsigned int flags)
+#endif
{
cred_t *cr = CRED();
struct inode *ip = NULL;