On Tue, Nov 22, 2016 at 08:00:59AM -0500, Brian Foster wrote: > Hi all, > > These are a few patches that resulted from the following discussion with > regard to how to tag reflink inodes correctly for COW fork > preallocation: > > http://www.spinics.net/lists/linux-xfs/msg02155.html > > The problem with the current code is that xfs_reflink_reserve_cow() > doesn't consider preallocation due to start offset alignment. The > problem with the first pass patch above is that the same function > doesn't distinguish between extent preallocation and extent merge. > > The solution in this series pushes down the incorporation of > preallocation to the bmapi call, where it already has the additional > context to identify whether an extent allocation was widened due to > cowextszhint alignment. The callers are still responsible for defining > how much to preallocate, to throttle, retry if necessary, etc. > > Note that this series is based on top of Christoph's recent extent > lookup cleanup patches. This survives xfstests for me on a reflink=1 fs. > Thoughts, reviews, flames appreciated. All in all looks like a nice little cleanup. Tests out just fine here, too, so consider it: Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx -- 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