[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180802090052.GB13473@lst.de>
Date: Thu, 2 Aug 2018 11:00:52 +0200
From: Christoph Hellwig <hch@....de>
To: Al Viro <viro@...IV.linux.org.uk>
Cc: Christoph Hellwig <hch@....de>, Avi Kivity <avi@...lladb.com>,
linux-aio@...ck.org, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/4] aio: implement IOCB_CMD_POLL
On Thu, Aug 02, 2018 at 12:54:12AM +0100, Al Viro wrote:
> On Mon, Jul 30, 2018 at 09:15:43AM +0200, Christoph Hellwig wrote:
>
> > + apt.error = -EINVAL; /* same as no support for IOCB_CMD_POLL */
>
> > + mask = vfs_poll(req->file, &apt.pt) & req->events;
> > + if (mask || apt.error) {
> > + bool removed = false;
> > +
> > + /* we did not manage to set up a waitqueue, done */
> > + if (unlikely(!req->head))
> > + goto out_fput;
>
> > +out_fput:
> > + fput(req->file);
> > + return apt.error;
>
> Ugh... So anything that simply returns a constant value, without
> even bothering to do poll_wait() (on the theory that no matter how
> much you wait, nothing will change) is going to git -EINVAL?
> What am I missing here?
I can change it to return that constant value, but is it really going
to be useful to keep resubmitting an iocb for something that we can't
actually poll? I don't think we help the application with that at all.
Powered by blists - more mailing lists