Thread (19 messages) 19 messages, 3 authors, 2021-04-09

Re: [PATCH v3 1/2] xfs: set a mount flag when perag reservation is active

From: "Darrick J. Wong" <djwong@kernel.org>
Date: 2021-03-19 01:49:11

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:
quoted
On Thu, Mar 18, 2021 at 03:19:01PM -0700, Darrick J. Wong wrote:
quoted
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@fromorbit.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help