diff options
author | Christoph Hellwig <hch@lst.de> | 2011-07-08 08:34:34 -0400 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2011-07-08 08:34:34 -0400 |
commit | 8f04c47aa9712874af2c8816c2ca2a332cba80e4 (patch) | |
tree | 56f76e7d1443759ed68c6720e7f242950e220f8c /fs/xfs/xfs_inode.h | |
parent | 857b9778d86ccba7d7b42c9d8aeecde794ec8a6b (diff) |
xfs: split xfs_itruncate_finish
Split the guts of xfs_itruncate_finish that loop over the existing extents
and calls xfs_bunmapi on them into a new helper, xfs_itruncate_externs.
Make xfs_attr_inactive call it directly instead of xfs_itruncate_finish,
which allows to simplify the latter a lot, by only letting it deal with
the data fork. As a result xfs_itruncate_finish is renamed to
xfs_itruncate_data to make its use case more obvious.
Also remove the sync parameter from xfs_itruncate_data, which has been
unessecary since the introduction of the busy extent list in 2002, and
completely dead code since 2003 when the XFS_BMAPI_ASYNC parameter was
made a no-op.
I can't actually see why the xfs_attr_inactive needs to set the transaction
sync, but let's keep this patch simple and without changes in behaviour.
Also avoid passing a useless argument to xfs_isize_check, and make it
private to xfs_inode.c.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Alex Elder <aelder@sgi.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Diffstat (limited to 'fs/xfs/xfs_inode.h')
-rw-r--r-- | fs/xfs/xfs_inode.h | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h index 6efd471c8724..6495578efe05 100644 --- a/fs/xfs/xfs_inode.h +++ b/fs/xfs/xfs_inode.h | |||
@@ -491,8 +491,10 @@ uint xfs_ip2xflags(struct xfs_inode *); | |||
491 | uint xfs_dic2xflags(struct xfs_dinode *); | 491 | uint xfs_dic2xflags(struct xfs_dinode *); |
492 | int xfs_ifree(struct xfs_trans *, xfs_inode_t *, | 492 | int xfs_ifree(struct xfs_trans *, xfs_inode_t *, |
493 | struct xfs_bmap_free *); | 493 | struct xfs_bmap_free *); |
494 | int xfs_itruncate_finish(struct xfs_trans **, xfs_inode_t *, | 494 | int xfs_itruncate_extents(struct xfs_trans **, struct xfs_inode *, |
495 | xfs_fsize_t, int, int); | 495 | int, xfs_fsize_t); |
496 | int xfs_itruncate_data(struct xfs_trans **, struct xfs_inode *, | ||
497 | xfs_fsize_t); | ||
496 | int xfs_iunlink(struct xfs_trans *, xfs_inode_t *); | 498 | int xfs_iunlink(struct xfs_trans *, xfs_inode_t *); |
497 | 499 | ||
498 | void xfs_iext_realloc(xfs_inode_t *, int, int); | 500 | void xfs_iext_realloc(xfs_inode_t *, int, int); |
@@ -568,13 +570,6 @@ void xfs_iext_irec_update_extoffs(xfs_ifork_t *, int, int); | |||
568 | 570 | ||
569 | #define xfs_ipincount(ip) ((unsigned int) atomic_read(&ip->i_pincount)) | 571 | #define xfs_ipincount(ip) ((unsigned int) atomic_read(&ip->i_pincount)) |
570 | 572 | ||
571 | #ifdef DEBUG | ||
572 | void xfs_isize_check(struct xfs_mount *, struct xfs_inode *, | ||
573 | xfs_fsize_t); | ||
574 | #else /* DEBUG */ | ||
575 | #define xfs_isize_check(mp, ip, isize) | ||
576 | #endif /* DEBUG */ | ||
577 | |||
578 | #if defined(DEBUG) | 573 | #if defined(DEBUG) |
579 | void xfs_inobp_check(struct xfs_mount *, struct xfs_buf *); | 574 | void xfs_inobp_check(struct xfs_mount *, struct xfs_buf *); |
580 | #else | 575 | #else |