On Tue, Dec 06, 2016 at 06:45:59AM -0800, Christoph Hellwig wrote: > I think the problem is that the extents -> btree conversion does not > use the per-AG reservations, but it should probably use it (even if it > predates if of course). > > In the reproduce the fs still has enough blocks to allocate the > one block for the first bmap btree leave. But all free space sits > in AGs with a lower agno then what we used for allocating the actual > extent, and thus xfs_alloc_vextent never manages to allocate it. Wellll... I cobbled together a crappy patch that flips on XFS_AG_RESV_AGFL if xfs_bmap_extents_to_btree really can't get a block. It seems to have survived ~175 iterations of xfs/109 so I'll try to clean it up tomorrow. Not sure that helps Christoph's situation though... if you're not running rmap or reflink then the AG reservation is always zero. --D > -- > 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 -- 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