[PATCH] switch all filesystems over to d_obtain_alias
Switch all users of d_alloc_anon to d_obtain_alias. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:

committed by
Al Viro

parent
4ea3ada295
commit
440037287c
@@ -1522,7 +1522,6 @@ static struct dentry *reiserfs_get_dentry(struct super_block *sb,
|
||||
|
||||
{
|
||||
struct cpu_key key;
|
||||
struct dentry *result;
|
||||
struct inode *inode;
|
||||
|
||||
key.on_disk_key.k_objectid = objectid;
|
||||
@@ -1535,16 +1534,8 @@ static struct dentry *reiserfs_get_dentry(struct super_block *sb,
|
||||
inode = NULL;
|
||||
}
|
||||
reiserfs_write_unlock(sb);
|
||||
if (!inode)
|
||||
inode = ERR_PTR(-ESTALE);
|
||||
if (IS_ERR(inode))
|
||||
return ERR_CAST(inode);
|
||||
result = d_alloc_anon(inode);
|
||||
if (!result) {
|
||||
iput(inode);
|
||||
return ERR_PTR(-ENOMEM);
|
||||
}
|
||||
return result;
|
||||
|
||||
return d_obtain_alias(inode);
|
||||
}
|
||||
|
||||
struct dentry *reiserfs_fh_to_dentry(struct super_block *sb, struct fid *fid,
|
||||
|
@@ -383,7 +383,6 @@ struct dentry *reiserfs_get_parent(struct dentry *child)
|
||||
struct inode *inode = NULL;
|
||||
struct reiserfs_dir_entry de;
|
||||
INITIALIZE_PATH(path_to_entry);
|
||||
struct dentry *parent;
|
||||
struct inode *dir = child->d_inode;
|
||||
|
||||
if (dir->i_nlink == 0) {
|
||||
@@ -401,15 +400,7 @@ struct dentry *reiserfs_get_parent(struct dentry *child)
|
||||
inode = reiserfs_iget(dir->i_sb, (struct cpu_key *)&(de.de_dir_id));
|
||||
reiserfs_write_unlock(dir->i_sb);
|
||||
|
||||
if (!inode || IS_ERR(inode)) {
|
||||
return ERR_PTR(-EACCES);
|
||||
}
|
||||
parent = d_alloc_anon(inode);
|
||||
if (!parent) {
|
||||
iput(inode);
|
||||
parent = ERR_PTR(-ENOMEM);
|
||||
}
|
||||
return parent;
|
||||
return d_obtain_alias(inode);
|
||||
}
|
||||
|
||||
/* add entry to the directory (entry can be hidden).
|
||||
|
Reference in New Issue
Block a user