aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_inode.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/xfs_inode.h')
-rw-r--r--fs/xfs/xfs_inode.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h
index 6fd20fc179a4..345b43a90eb5 100644
--- a/fs/xfs/xfs_inode.h
+++ b/fs/xfs/xfs_inode.h
@@ -236,7 +236,6 @@ typedef struct xfs_inode {
236 /* Inode linking and identification information. */ 236 /* Inode linking and identification information. */
237 struct xfs_mount *i_mount; /* fs mount struct ptr */ 237 struct xfs_mount *i_mount; /* fs mount struct ptr */
238 struct list_head i_reclaim; /* reclaim list */ 238 struct list_head i_reclaim; /* reclaim list */
239 struct inode *i_vnode; /* vnode backpointer */
240 struct xfs_dquot *i_udquot; /* user dquot */ 239 struct xfs_dquot *i_udquot; /* user dquot */
241 struct xfs_dquot *i_gdquot; /* group dquot */ 240 struct xfs_dquot *i_gdquot; /* group dquot */
242 241
@@ -271,6 +270,10 @@ typedef struct xfs_inode {
271 xfs_fsize_t i_size; /* in-memory size */ 270 xfs_fsize_t i_size; /* in-memory size */
272 xfs_fsize_t i_new_size; /* size when write completes */ 271 xfs_fsize_t i_new_size; /* size when write completes */
273 atomic_t i_iocount; /* outstanding I/O count */ 272 atomic_t i_iocount; /* outstanding I/O count */
273
274 /* VFS inode */
275 struct inode i_vnode; /* embedded VFS inode */
276
274 /* Trace buffers per inode. */ 277 /* Trace buffers per inode. */
275#ifdef XFS_INODE_TRACE 278#ifdef XFS_INODE_TRACE
276 struct ktrace *i_trace; /* general inode trace */ 279 struct ktrace *i_trace; /* general inode trace */
@@ -298,13 +301,13 @@ typedef struct xfs_inode {
298/* Convert from vfs inode to xfs inode */ 301/* Convert from vfs inode to xfs inode */
299static inline struct xfs_inode *XFS_I(struct inode *inode) 302static inline struct xfs_inode *XFS_I(struct inode *inode)
300{ 303{
301 return (struct xfs_inode *)inode->i_private; 304 return container_of(inode, struct xfs_inode, i_vnode);
302} 305}
303 306
304/* convert from xfs inode to vfs inode */ 307/* convert from xfs inode to vfs inode */
305static inline struct inode *VFS_I(struct xfs_inode *ip) 308static inline struct inode *VFS_I(struct xfs_inode *ip)
306{ 309{
307 return (struct inode *)ip->i_vnode; 310 return &ip->i_vnode;
308} 311}
309 312
310/* 313/*