On Thu, Feb 14, 2019 at 12:17:00AM -0800, Christoph Hellwig wrote: > On Wed, Feb 13, 2019 at 12:50:59PM -0800, Darrick J. Wong wrote: > > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > > > Log recovery frees all the inodes stored in the unlinked list, which can > > cause expansion of the free inode btree. The ifree code skips block > > reservations if it thinks there's a per-AG space reservation, but we > > don't set up the reservation until after log recovery, which means that > > a finobt expansion blows up in xfs_trans_mod_sb when we exceed the > > transaction's block reservation. > > > > To fix this, we set the "no finobt reservation" flag to true when we > > create the xfs_mount and only set it to false if we confirm that every > > AG had enough free space to put aside for the finobt. > > > > While we're at it we change the flag name to be clearer about what it > > actually does. > > Looks good: > > Reviewed-by: Christoph Hellwig <hch@xxxxxx> > > But throwing in the field rename makes the patch way bigger and > not as obvious to understand. Any reason it can't be split into > a separate patch? Ok, I'll separate the two. --D