On Sun, Sep 03, 2017 at 08:40:50AM -0700, Darrick J. Wong wrote: > On Sun, Sep 03, 2017 at 12:43:58AM -0700, Christoph Hellwig wrote: > > On Sat, Sep 02, 2017 at 10:06:26AM -0700, Darrick J. Wong wrote: > > > In commit fd26a88093ba we added a worst case estimate for rmapbt blocks > > > needed to satisfy the block mapping request. Since then, we added the > > > ability to reserve enough space in each AG such that we should never run > > > out of blocks to grow the rmapbt, which makes this calculation > > > unnecessary. Revert the commit because it makes the extra delalloc > > > indlen accounting unnecessary and incorrect. > > > > Do you remember any details of why we added it and what is supposed > > to fix it? I have memories of various issues in this area, but I > > can't remember the details. > > We'd fill the fs up with delalloc reservations until there wasn't any > space, and once the fs fragmented badly then we suddenly needed more > than just the indlen to satisfy bmbt + rmapbt expansion. This indlen > patch was a hack to try to ENOSPC out of write_begin/page_mkwrite before > we ran the fs totally out of blocks back when we were still trying to > cram the bmbt and rmap updates into a single huge transaction. Deferred > ops broke that, and perag reservations made it unnecesary, so now we can > rip it out. > It's not totally clear to me what the original patch would have done, since we technically could return all of the indlen on delay -> real extent conversion before the rmap operation would have even run. Perhaps it could hide a problem by reserving blocks only to release them just before we'd actually need to allocate rmapbt blocks..? Anyways, the patch seems fine to me: Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> > --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 -- 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