On Thu, Dec 08, 2011 at 10:57:56AM -0500, Christoph Hellwig wrote:
> 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.
>
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
I can't see anything wrong with this, and it hasn't produced any
failures in my testing, so it looks OK.
Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
--
Dave Chinner
david@xxxxxxxxxxxxx
|