diff options
author | Christoph Hellwig <hch@infradead.org> | 2007-10-11 03:44:08 -0400 |
---|---|---|
committer | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2008-02-07 00:48:58 -0500 |
commit | 613d70436c1aeda6843ca8b70c7fab6d0484a591 (patch) | |
tree | e8cc8d1f2cf3720285f0439c9d057555ab293b0c /fs/xfs/xfs_iget.c | |
parent | 007c61c68640ea17c036785b698d05da67b4365e (diff) |
[XFS] kill xfs_iocore_t
xfs_iocore_t is a structure embedded in xfs_inode. Except for one field it
just duplicates fields already in xfs_inode, and there is nothing this
abstraction buys us on XFS/Linux. This patch removes it and shrinks source
and binary size of xfs aswell as shrinking the size of xfs_inode by 60/44
bytes in debug/non-debug builds.
SGI-PV: 970852
SGI-Modid: xfs-linux-melb:xfs-kern:29754a
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Signed-off-by: Tim Shimmin <tes@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_iget.c')
-rw-r--r-- | fs/xfs/xfs_iget.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/fs/xfs/xfs_iget.c b/fs/xfs/xfs_iget.c index f77bda1473b7..15dba2ef847f 100644 --- a/fs/xfs/xfs_iget.c +++ b/fs/xfs/xfs_iget.c | |||
@@ -199,12 +199,9 @@ again: | |||
199 | XFS_STATS_INC(xs_ig_found); | 199 | XFS_STATS_INC(xs_ig_found); |
200 | 200 | ||
201 | finish_inode: | 201 | finish_inode: |
202 | if (ip->i_d.di_mode == 0) { | 202 | if (ip->i_d.di_mode == 0 && !(flags & XFS_IGET_CREATE)) { |
203 | if (!(flags & XFS_IGET_CREATE)) { | 203 | xfs_put_perag(mp, pag); |
204 | xfs_put_perag(mp, pag); | 204 | return ENOENT; |
205 | return ENOENT; | ||
206 | } | ||
207 | xfs_iocore_inode_reinit(ip); | ||
208 | } | 205 | } |
209 | 206 | ||
210 | if (lock_flags != 0) | 207 | if (lock_flags != 0) |
@@ -235,7 +232,6 @@ finish_inode: | |||
235 | xfs_itrace_exit_tag(ip, "xfs_iget.alloc"); | 232 | xfs_itrace_exit_tag(ip, "xfs_iget.alloc"); |
236 | 233 | ||
237 | xfs_inode_lock_init(ip, vp); | 234 | xfs_inode_lock_init(ip, vp); |
238 | xfs_iocore_inode_init(ip); | ||
239 | if (lock_flags) | 235 | if (lock_flags) |
240 | xfs_ilock(ip, lock_flags); | 236 | xfs_ilock(ip, lock_flags); |
241 | 237 | ||
@@ -331,9 +327,6 @@ finish_inode: | |||
331 | ASSERT(ip->i_df.if_ext_max == | 327 | ASSERT(ip->i_df.if_ext_max == |
332 | XFS_IFORK_DSIZE(ip) / sizeof(xfs_bmbt_rec_t)); | 328 | XFS_IFORK_DSIZE(ip) / sizeof(xfs_bmbt_rec_t)); |
333 | 329 | ||
334 | ASSERT(((ip->i_d.di_flags & XFS_DIFLAG_REALTIME) != 0) == | ||
335 | ((ip->i_iocore.io_flags & XFS_IOCORE_RT) != 0)); | ||
336 | |||
337 | xfs_iflags_set(ip, XFS_IMODIFIED); | 330 | xfs_iflags_set(ip, XFS_IMODIFIED); |
338 | *ipp = ip; | 331 | *ipp = ip; |
339 | 332 | ||