Re: [PATCH] xfs: xfs_alloc_fix_minleft can underflow near ENOSPC

Dave Chinner
2015-02-18T00:48:47Z

On Tue, Feb 17, 2015 at 10:36:54AM -0500, Michael L. Semon wrote:
> On 02/16/15 18:17, Dave Chinner wrote:
> > On Mon, Feb 16, 2015 at 11:35:50AM -0600, Mark Tinguely wrote:
> >> Thanks Michael, you don't need to hold your test box for me. I do
> >> have a way to recreate these ABBA AGF buffer allocation deadlocks
> >> and understand the whys and hows very well. I don't have a community
> >> way to make a xfstest for it but I think your test is getting close.
> >
> > If you know what is causing them, then please explain how it occurs
> > and how you think it needs to be fixed. Just telling us that you know
> > something that we don't doesn't help us solve the problem. :(
> >
> > In general, the use of the args->firstblock is supposed to avoid the
> > ABBA locking order issues with multiple allocations in the one
> > transaction by preventing AG selection loops from looping back into
> > AGs with a lower index than the first allocation that was made.
> >
> > So if you are seeing deadlocks, then it may be that we aren't
> > following this constraint correctly in all locations....
>
> Will this be a classic deadlock that will cause problems when trying to
> kill processes and unmount filesystems? If so, then I was unable to use
> generic/224 to trigger a deadlock. If not, then I'll need a better way
> of looking at the problem.

Yes, it will hang the filesystem.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com