aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/linux-2.6/xfs_export.c
diff options
context:
space:
mode:
authorDavid Chinner <david@fromorbit.com>2008-08-13 15:45:15 +1000
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2008-08-13 15:45:15 +1000
commit016516462575d28fab3354f762cad16c86c09116 (patch)
treeef644fe09f5eb963df28ad7e7bda3d547cae46d1 /fs/xfs/linux-2.6/xfs_export.c
parent[XFS] Do not access buffers after dropping reference count (diff)
downloadlinux-dev-016516462575d28fab3354f762cad16c86c09116.tar.xz
linux-dev-016516462575d28fab3354f762cad16c86c09116.zip
[XFS] Avoid directly referencing the VFS inode.
In several places we directly convert from the XFS inode to the linux (VFS) inode by a simple deference of ip->i_vnode. We should not do this - a helper function should be used to extract the VFS inode from the XFS inode. Introduce the function VFS_I() to extract the VFS inode from the XFS inode. The name was chosen to match XFS_I() which is used to extract the XFS inode from the VFS inode. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31720a Signed-off-by: David Chinner <david@fromorbit.com> Signed-off-by: Niv Sardi <xaiki@sgi.com> Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Diffstat (limited to '')
-rw-r--r--fs/xfs/linux-2.6/xfs_export.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/xfs/linux-2.6/xfs_export.c b/fs/xfs/linux-2.6/xfs_export.c
index 987fe84f7b13..d3880b7c147d 100644
--- a/fs/xfs/linux-2.6/xfs_export.c
+++ b/fs/xfs/linux-2.6/xfs_export.c
@@ -139,7 +139,7 @@ xfs_nfs_get_inode(
}
xfs_iunlock(ip, XFS_ILOCK_SHARED);
- return ip->i_vnode;
+ return VFS_I(ip);
}
STATIC struct dentry *
@@ -219,9 +219,9 @@ xfs_fs_get_parent(
if (unlikely(error))
return ERR_PTR(-error);
- parent = d_alloc_anon(cip->i_vnode);
+ parent = d_alloc_anon(VFS_I(cip));
if (unlikely(!parent)) {
- iput(cip->i_vnode);
+ iput(VFS_I(cip));
return ERR_PTR(-ENOMEM);
}
return parent;