X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Freiserfs%2Fnamei.c;h=8f8d8d01107c880975c4d2d2de465be7a3041018;hb=e2f99018eb7b29954747a2dd78e9fc0c36a60f0f;hp=a20bbc1642dcdac2f4cfa608db569eb46e2ea66d;hpb=6cd59f7a4119fef124677827a9b30684c2c8e674;p=linux-2.6 diff --git a/fs/reiserfs/namei.c b/fs/reiserfs/namei.c index a20bbc1642..8f8d8d0110 100644 --- a/fs/reiserfs/namei.c +++ b/fs/reiserfs/namei.c @@ -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;