On Fri, Mar 05, 2021 at 08:23:00AM +0000, Christoph Hellwig wrote: > On Tue, Mar 02, 2021 at 02:28:42PM -0800, Darrick J. Wong wrote: > > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > > > If we can't read the AGF header, we never actually set a value for > > freelen and usedlen. These two variables are used to make the worst > > case estimate of btree size, so it's safe to set them to the AG size as > > a fallback. > > Do we actually want to continue with the rest of the funtion at all > in this case? We do, because this function computes the amount of block reservation to feed to xfs_trans_alloc when userspace said it wants us to try to repair something AG-related. Although... I suppose we don't really need a block reservation to repair superblocks and AG headers, so we could special-case those four scrub types to return 0. (OTOH this is all mostly academic because repair requires rmapbt, which means that the fs won't even mount with a busted AGF...) --D