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

Michael L. Semon
2015-02-18T15:32:38Z

On 02/17/15 19:48, Dave Chinner wrote:
> 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.

Thanks. I'll try again tonight.

Last night's attempt was a combination of fio, fsstress, and a shell loop
of xfs_io's fcollapse command, all at once on an SSD. At the end of the
night, XFS was laughing at me. Therefore, I added the same test on the
3-partition RAID-0 side. This morning, XFS is still laughing at me, but
the RAID-0 test is still running.

Thanks!

Michael