On 22/11/2014 13:16, Ming Lei wrote: > > > +static int ioq_enqueue(struct qemu_laio_state *s, struct iocb *iocb) > > > { > > > unsigned int idx = s->io_q.idx; > > > > > > + if (unlikely(idx == s->io_q.size)) { > > > + return -1; > > > > return -EAGAIN? > > It means the io queue is full, so the code has to fail the current > request.
Right, but "-1" is "-EPERM" which doesn't make much sense. I think the right thing to do is to return EAGAIN, and let the owner figure it out. For example, a SCSI device might return a "BUSY" status code. Paolo