Add d_clear_d_op() compatibility
[zfs.git] / module / zfs / zpl_ctldir.c
index 2e5209f..0897017 100644 (file)
@@ -267,6 +267,7 @@ zpl_snapdir_lookup(struct inode *dip, struct dentry *dentry,
                return ERR_PTR(error);
 
        ASSERT(error == 0 || ip == NULL);
+       d_clear_d_op(dentry);
        d_set_d_op(dentry, &zpl_dops_snapdirs);
 
        return d_splice_alias(ip, dentry);
@@ -366,10 +367,11 @@ zpl_snapdir_mkdir(struct inode *dip, struct dentry *dentry, zpl_umode_t mode)
 
        crhold(cr);
        vap = kmem_zalloc(sizeof(vattr_t), KM_SLEEP);
-       zpl_vap_init(vap, dip, dentry, mode | S_IFDIR, cr);
+       zpl_vap_init(vap, dip, mode | S_IFDIR, cr);
 
        error = -zfsctl_snapdir_mkdir(dip, dname(dentry), vap, &ip, cr, 0);
        if (error == 0) {
+               d_clear_d_op(dentry);
                d_set_d_op(dentry, &zpl_dops_snapdirs);
                d_instantiate(dentry, ip);
        }