diff options
author | Christoph Hellwig <hch@infradead.org> | 2009-11-14 11:17:21 -0500 |
---|---|---|
committer | Alex Elder <aelder@sgi.com> | 2009-12-11 16:11:22 -0500 |
commit | 5683f53e36235234f7861909fdff878ff1f1bb20 (patch) | |
tree | 3d1315b115319403df9ac59d6a01c5ddf4719058 /fs | |
parent | e82fa0c7ca29b805388aa51d3cad2cb7a4df3084 (diff) |
xfs: uninline xfs_get_extsz_hint
This function is too large to efficiently be inlined.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Alex Elder <aelder@sgi.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/xfs/xfs_rw.c | 22 | ||||
-rw-r--r-- | fs/xfs/xfs_rw.h | 22 |
2 files changed, 23 insertions, 21 deletions
diff --git a/fs/xfs/xfs_rw.c b/fs/xfs/xfs_rw.c index 6fa10897d417..4c199d18f850 100644 --- a/fs/xfs/xfs_rw.c +++ b/fs/xfs/xfs_rw.c | |||
@@ -336,3 +336,25 @@ xfs_bwrite( | |||
336 | } | 336 | } |
337 | return (error); | 337 | return (error); |
338 | } | 338 | } |
339 | |||
340 | /* | ||
341 | * helper function to extract extent size hint from inode | ||
342 | */ | ||
343 | xfs_extlen_t | ||
344 | xfs_get_extsz_hint( | ||
345 | struct xfs_inode *ip) | ||
346 | { | ||
347 | xfs_extlen_t extsz; | ||
348 | |||
349 | if (unlikely(XFS_IS_REALTIME_INODE(ip))) { | ||
350 | extsz = (ip->i_d.di_flags & XFS_DIFLAG_EXTSIZE) | ||
351 | ? ip->i_d.di_extsize | ||
352 | : ip->i_mount->m_sb.sb_rextsize; | ||
353 | ASSERT(extsz); | ||
354 | } else { | ||
355 | extsz = (ip->i_d.di_flags & XFS_DIFLAG_EXTSIZE) | ||
356 | ? ip->i_d.di_extsize : 0; | ||
357 | } | ||
358 | |||
359 | return extsz; | ||
360 | } | ||
diff --git a/fs/xfs/xfs_rw.h b/fs/xfs/xfs_rw.h index 726014d1c925..571f2174435c 100644 --- a/fs/xfs/xfs_rw.h +++ b/fs/xfs/xfs_rw.h | |||
@@ -37,27 +37,6 @@ xfs_fsb_to_db(struct xfs_inode *ip, xfs_fsblock_t fsb) | |||
37 | } | 37 | } |
38 | 38 | ||
39 | /* | 39 | /* |
40 | * helper function to extract extent size hint from inode | ||
41 | */ | ||
42 | STATIC_INLINE xfs_extlen_t | ||
43 | xfs_get_extsz_hint( | ||
44 | xfs_inode_t *ip) | ||
45 | { | ||
46 | xfs_extlen_t extsz; | ||
47 | |||
48 | if (unlikely(XFS_IS_REALTIME_INODE(ip))) { | ||
49 | extsz = (ip->i_d.di_flags & XFS_DIFLAG_EXTSIZE) | ||
50 | ? ip->i_d.di_extsize | ||
51 | : ip->i_mount->m_sb.sb_rextsize; | ||
52 | ASSERT(extsz); | ||
53 | } else { | ||
54 | extsz = (ip->i_d.di_flags & XFS_DIFLAG_EXTSIZE) | ||
55 | ? ip->i_d.di_extsize : 0; | ||
56 | } | ||
57 | return extsz; | ||
58 | } | ||
59 | |||
60 | /* | ||
61 | * Prototypes for functions in xfs_rw.c. | 40 | * Prototypes for functions in xfs_rw.c. |
62 | */ | 41 | */ |
63 | extern int xfs_write_clear_setuid(struct xfs_inode *ip); | 42 | extern int xfs_write_clear_setuid(struct xfs_inode *ip); |
@@ -69,5 +48,6 @@ extern int xfs_read_buf(struct xfs_mount *mp, xfs_buftarg_t *btp, | |||
69 | struct xfs_buf **bpp); | 48 | struct xfs_buf **bpp); |
70 | extern void xfs_ioerror_alert(char *func, struct xfs_mount *mp, | 49 | extern void xfs_ioerror_alert(char *func, struct xfs_mount *mp, |
71 | xfs_buf_t *bp, xfs_daddr_t blkno); | 50 | xfs_buf_t *bp, xfs_daddr_t blkno); |
51 | extern xfs_extlen_t xfs_get_extsz_hint(struct xfs_inode *ip); | ||
72 | 52 | ||
73 | #endif /* __XFS_RW_H__ */ | 53 | #endif /* __XFS_RW_H__ */ |