On Mon, Feb 29, 2016 at 09:29:29AM -0500, Brian Foster wrote: > xfs_bunmapi() currently updates the icsb fdblocks counter, unreserves > quota, etc. before the extent is deleted by xfs_bmap_del_extent(). The > function has problems dividing up the indirect reserved blocks for > scenarios where a single delalloc extent is split in two. Particularly, > there aren't always enough blocks reserved for multiple extents in a > single extent reservation. > > The solution to this problem is to allow the extent removal code to > steal from the deleted extent to meet indirect reservation requirements. > Move the block of code in xfs_bmapi() that updates the icsb fdblocks > counter to after the call to xfs_bmap_del_extent() to allow the codepath > to update the extent record before the free blocks are accounted. Also, > reshuffle the code slightly so the delalloc accounting occurs near the > xfs_bmap_del_extent() call to provide context for the comments. > > Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Looks fine, Reviewed-by: Christoph Hellwig <hch@xxxxxx> _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs