On 11/12/2014 13:49, Kevin Wolf wrote:
> > - } else {
> > - i = ret;
> > + abort();
> > }
>
> abort() doesn't feel right here.
man doesn't suggest any error that can actually happen.
> > + QSIMPLEQ_INSERT_TAIL(&s->io_q.pending, laiocb, next);
> > + s->io_q.idx++;
> > + if (s->io_q.idx == (s->io_q.plugged ? MAX_QUEUED_IO : 1)) {
>
> More naturally written and more obviously correct as (!s->io_q,plugged ||
> s->io_q.idx >= MAX_QUEUED_IO). Which happens to be what the next patch
> converts it to, so I won't spend much time thinking about whether this
> version is actually right.
Sort of. If the queue is blocked due to -EAGAIN, I don't want to
io_submit every time an operation is queued, hence the ==. The next
patch adds !s->io_q.blocked, so it can use the more natural and indeed
more obvious expression.
Paolo