]> err.no Git - linux-2.6/blobdiff - fs/reiserfs/namei.c
[PATCH] exportfs: add find_acceptable_alias helper
[linux-2.6] / fs / reiserfs / namei.c
index a20bbc1642dcdac2f4cfa608db569eb46e2ea66d..8f8d8d01107c880975c4d2d2de465be7a3041018 100644 (file)
@@ -375,11 +375,7 @@ static struct dentry *reiserfs_lookup(struct inode *dir, struct dentry *dentry,
                return ERR_PTR(-EIO);
        }
 
-       if (inode)
-               return d_splice_alias(inode, dentry);
-
-       d_add(dentry, inode);
-       return NULL;
+       return d_splice_alias(inode, dentry);
 }
 
 /* 
@@ -593,6 +589,9 @@ static int new_inode_init(struct inode *inode, struct inode *dir, int mode)
         */
        inode->i_uid = current->fsuid;
        inode->i_mode = mode;
+       /* Make inode invalid - just in case we are going to drop it before
+        * the initialization happens */
+       INODE_PKEY(inode)->k_objectid = 0;
 
        if (dir->i_mode & S_ISGID) {
                inode->i_gid = dir->i_gid;