On Thu, Jul 19, 2018 at 09:49:06AM -0400, Brian Foster wrote: > xfs_itruncate_extents[_flags]() uses a local dfops with a > transaction provided by the caller. It uses hacky ->t_dfops > replacement logic to avoid stomping over an already populated > ->t_dfops. > > The latter never occurs for current callers and the logic itself is > not really appropriate. Clean this up by updating all callers to > initialize a dfops and to use that down in xfs_itruncate_extents(). > This more closely resembles the upcoming logic where dfops will be > embedded within the transaction. We can also replace the > xfs_defer_init() in the xfs_itruncate_extents_flags() loop with an > assert. Both dfops and firstblock should be in a valid state > after xfs_defer_finish() and the inode joined to the dfops is fixed > throughout the loop. Yes, this looks pretty sensible: Reviewed-by: Christoph Hellwig <hch@xxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html