diff options
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_export.c')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_export.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/fs/xfs/linux-2.6/xfs_export.c b/fs/xfs/linux-2.6/xfs_export.c index 21f0e8257590..66a9a9e76cbe 100644 --- a/fs/xfs/linux-2.6/xfs_export.c +++ b/fs/xfs/linux-2.6/xfs_export.c | |||
@@ -213,17 +213,16 @@ xfs_fs_get_parent( | |||
213 | struct dentry *child) | 213 | struct dentry *child) |
214 | { | 214 | { |
215 | int error; | 215 | int error; |
216 | bhv_vnode_t *cvp; | 216 | struct xfs_inode *cip; |
217 | struct dentry *parent; | 217 | struct dentry *parent; |
218 | 218 | ||
219 | cvp = NULL; | 219 | error = xfs_lookup(XFS_I(child->d_inode), &dotdot, &cip); |
220 | error = xfs_lookup(XFS_I(child->d_inode), &dotdot, &cvp); | ||
221 | if (unlikely(error)) | 220 | if (unlikely(error)) |
222 | return ERR_PTR(-error); | 221 | return ERR_PTR(-error); |
223 | 222 | ||
224 | parent = d_alloc_anon(vn_to_inode(cvp)); | 223 | parent = d_alloc_anon(cip->i_vnode); |
225 | if (unlikely(!parent)) { | 224 | if (unlikely(!parent)) { |
226 | VN_RELE(cvp); | 225 | iput(cip->i_vnode); |
227 | return ERR_PTR(-ENOMEM); | 226 | return ERR_PTR(-ENOMEM); |
228 | } | 227 | } |
229 | return parent; | 228 | return parent; |