aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_iget.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2007-10-11 03:44:08 -0400
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2008-02-07 00:48:58 -0500
commit613d70436c1aeda6843ca8b70c7fab6d0484a591 (patch)
treee8cc8d1f2cf3720285f0439c9d057555ab293b0c /fs/xfs/xfs_iget.c
parent007c61c68640ea17c036785b698d05da67b4365e (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.c13
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
201finish_inode: 201finish_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