Re: [PATCH 4.4 48/76] libceph: force GFP_NOIO for socket allocations

From: Ilya Dryomov
Date: Tue Mar 28 2017 - 09:24:27 EST


On Tue, Mar 28, 2017 at 2:43 PM, Michal Hocko <mhocko@xxxxxxxxxx> wrote:
> On Tue 28-03-17 14:30:45, Greg KH wrote:
>> 4.4-stable review patch. If anyone has any objections, please let me know.
>
> I haven't seen the original patch but the changelog makes me worried.
> How exactly this is a problem? Where do we lockup? Does rbd/libceph take
> any xfs locks?

No, it doesn't. This is just another instance of "using GFP_KERNEL on
the writeback path may lead to a deadlock" with nothing extra to it.

XFS is writing out data, libceph messenger worker tries to open
a socket and recurses back into XFS because the sockfs inode is
allocated with GFP_KERNEL. The message with some of the data never
goes out and eventually we get a deadlock.

I've only included the offending stack trace. I guess I should have
stressed that ceph-msgr workqueue is used for reclaim.

Thanks,

Ilya