On Fri, Mar 19, 2021 at 12:43:03PM +1100, Dave Chinner wrote: > On Fri, Mar 19, 2021 at 12:05:06PM +1100, Dave Chinner wrote: > > On Thu, Mar 18, 2021 at 03:19:01PM -0700, Darrick J. Wong wrote: > > > TBH I think the COW recovery and the AG block reservation pieces are > > > prime candidates for throwing at an xfs_pwork workqueue so we can > > > perform those scans in parallel. > > > > As I mentioned on #xfs, I think we only need to do the AG read if we > > are near enospc. i.e. we can take the entire reservation at mount > > time (which is fixed per-ag) and only take away the used from the > > reservation (i.e. return to the free space pool) when we actually > > access the AGF/AGI the first time. Or when we get a ENOSPC > > event, which might occur when we try to take the fixed reservation > > at mount time... > > Which leaves the question about when we need to actually do the > accounting needed to fix the bug Brian is trying to fix. Can that be > delayed until we read the AGFs or have an ENOSPC event occur? Or > maybe some other "we are near ENOSPC and haven't read all AGFs yet" > threshold/trigger? Or just load them in the background and let mount() return to userspace? > If that's the case, then I'm happy to have this patchset proceed as > it stands under the understanding that there will be follow up to > make the clean, lots of space free mount case avoid reading the the > AG headers. > > If it can't be made constrained, then I think we probably need to > come up with a different approach that doesn't require reading every > AG header on every mount... > > Cheers, > > Dave. > -- > Dave Chinner > david@xxxxxxxxxxxxx