On Mon, Feb 4, 2019 at 6:49 PM Christoph Hellwig <hch@xxxxxx> wrote: > > On Mon, Feb 04, 2019 at 09:45:55AM -0800, Bart Van Assche wrote: > > Since kioctx.ctx_lock may be acquired from IRQ context, all code that > > acquires that lock from thread context must disable interrupts. This > > patch fixes the following lockdep complaint: > > But breaks the real life users of this interface :( > > aio_poll_wake is assigned as the wake function to a waitqueue, > and the waitqueue interface requires that function to be called > with irqs disabled. It looks like the fuse code is breaking that > contract, so we need to fix that instead of disable irqs. Not all variants of the waitqueue interface require irqs to be disabled, and fuse has nothing whatsoever to do with irqs, so there's no sane reason to disable them. Also, AFAICS, the fuse device does not support asynchronous IO. I just don't get what this is about... Thanks, Miklos