xfs: remove xfs_itruncate_data
This wrapper isn't overly useful, not to say rather confusing. Around the call to xfs_itruncate_extents it does: - add tracing - add a few asserts in debug builds - conditionally update the inode size in two places - log the inode Both the tracing and the inode logging can be moved to xfs_itruncate_extents as they are useful for the attribute fork as well - in fact the attr code already does an equivalent xfs_trans_log_inode call just after calling xfs_itruncate_extents. The conditional size updates are a mess, and there was no reason to do them in two places anyway, as the first one was conditional on the inode having extents - but without extents we xfs_itruncate_extents would be a no-op and the placement wouldn't matter anyway. Instead move the size assignments and the asserts that make sense to the callers that want it. As a side effect of this clean up xfs_setattr_size by introducing variables for the old and new inode size, and moving the size updates into a common place. Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Ben Myers <bpm@sgi.com>
This commit is contained in:

committed by
Ben Myers

parent
099469502f
commit
673e8e597c
@@ -1090,8 +1090,8 @@ DECLARE_EVENT_CLASS(xfs_itrunc_class,
|
||||
DEFINE_EVENT(xfs_itrunc_class, name, \
|
||||
TP_PROTO(struct xfs_inode *ip, xfs_fsize_t new_size), \
|
||||
TP_ARGS(ip, new_size))
|
||||
DEFINE_ITRUNC_EVENT(xfs_itruncate_data_start);
|
||||
DEFINE_ITRUNC_EVENT(xfs_itruncate_data_end);
|
||||
DEFINE_ITRUNC_EVENT(xfs_itruncate_extents_start);
|
||||
DEFINE_ITRUNC_EVENT(xfs_itruncate_extents_end);
|
||||
|
||||
TRACE_EVENT(xfs_pagecache_inval,
|
||||
TP_PROTO(struct xfs_inode *ip, xfs_off_t start, xfs_off_t finish),
|
||||
|
Reference in New Issue
Block a user