On Mon, Mar 19, 2018 at 08:29:38PM -0700, Darrick J. Wong wrote: > On Mon, Mar 05, 2018 at 01:27:20PM -0800, Christoph Hellwig wrote: > > ->get_poll_head returns the waitqueue that the poll operation is going > > to sleep on. Note that this means we can only use a single waitqueue > > for the poll, unlike some current drivers that use two waitqueues for > > different events. But now that we have keyed wakeups and heavily use > > those for poll there aren't that many good reason left to keep the > > multiple waitqueues, and if there are any ->poll is still around, the > > driver just won't support aio poll. > > > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > > I've been wondering, how does a regular filesystem connect with this? In general, it doesn't. In Unix regular files aren't pollable. > Also, does anything implement get_poll_head? It looks to me like an aio > poll provider has to provide both... Yes. Everyone who implements ->poll_mask also needs to implement get_poll_head. For sockets we just happen to be able to use a generic implementation in net/socket.c for most of them.