diff options
| author | Christoph Hellwig <hch@lst.de> | 2008-08-11 09:49:04 -0400 |
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2008-10-23 05:13:01 -0400 |
| commit | 440037287c5ebb07033ab927ca16bb68c291d309 (patch) | |
| tree | c4be3843ea87a777c2647f471895917005d8068f /fs/ntfs | |
| parent | 4ea3ada2955e4519befa98ff55dd62d6dfbd1705 (diff) | |
[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>
Diffstat (limited to 'fs/ntfs')
| -rw-r--r-- | fs/ntfs/namei.c | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/fs/ntfs/namei.c b/fs/ntfs/namei.c index 9e8a95be7a1e..2ca00153b6ec 100644 --- a/fs/ntfs/namei.c +++ b/fs/ntfs/namei.c | |||
| @@ -304,8 +304,6 @@ static struct dentry *ntfs_get_parent(struct dentry *child_dent) | |||
| 304 | ntfs_attr_search_ctx *ctx; | 304 | ntfs_attr_search_ctx *ctx; |
| 305 | ATTR_RECORD *attr; | 305 | ATTR_RECORD *attr; |
| 306 | FILE_NAME_ATTR *fn; | 306 | FILE_NAME_ATTR *fn; |
| 307 | struct inode *parent_vi; | ||
| 308 | struct dentry *parent_dent; | ||
| 309 | unsigned long parent_ino; | 307 | unsigned long parent_ino; |
| 310 | int err; | 308 | int err; |
| 311 | 309 | ||
| @@ -345,24 +343,8 @@ try_next: | |||
| 345 | /* Release the search context and the mft record of the child. */ | 343 | /* Release the search context and the mft record of the child. */ |
| 346 | ntfs_attr_put_search_ctx(ctx); | 344 | ntfs_attr_put_search_ctx(ctx); |
| 347 | unmap_mft_record(ni); | 345 | unmap_mft_record(ni); |
| 348 | /* Get the inode of the parent directory. */ | 346 | |
| 349 | parent_vi = ntfs_iget(vi->i_sb, parent_ino); | 347 | return d_obtain_alias(ntfs_iget(vi->i_sb, parent_ino)); |
| 350 | if (IS_ERR(parent_vi) || unlikely(is_bad_inode(parent_vi))) { | ||
| 351 | if (!IS_ERR(parent_vi)) | ||
| 352 | iput(parent_vi); | ||
| 353 | ntfs_error(vi->i_sb, "Failed to get parent directory inode " | ||
| 354 | "0x%lx of child inode 0x%lx.", parent_ino, | ||
| 355 | vi->i_ino); | ||
| 356 | return ERR_PTR(-EACCES); | ||
| 357 | } | ||
| 358 | /* Finally get a dentry for the parent directory and return it. */ | ||
| 359 | parent_dent = d_alloc_anon(parent_vi); | ||
| 360 | if (unlikely(!parent_dent)) { | ||
| 361 | iput(parent_vi); | ||
| 362 | return ERR_PTR(-ENOMEM); | ||
| 363 | } | ||
| 364 | ntfs_debug("Done for inode 0x%lx.", vi->i_ino); | ||
| 365 | return parent_dent; | ||
| 366 | } | 348 | } |
| 367 | 349 | ||
| 368 | static struct inode *ntfs_nfs_get_inode(struct super_block *sb, | 350 | static struct inode *ntfs_nfs_get_inode(struct super_block *sb, |
