diff options
Diffstat (limited to 'fs/xfs/xfs_inode.h')
-rw-r--r-- | fs/xfs/xfs_inode.h | 9 |
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 */ |
299 | static inline struct xfs_inode *XFS_I(struct inode *inode) | 302 | static 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 */ |
305 | static inline struct inode *VFS_I(struct xfs_inode *ip) | 308 | static 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 | /* |