Messages in this thread | | | Subject | Re: [PATCH 2.5.71-mm1] aio process hang on EINVAL | From | Daniel McNeil <> | Date | 17 Jun 2003 14:06:47 -0700 |
| |
I have tested 2.5.72-mm1 and, as expected, it fixes the hang. Interestingly, the mm1 code behaves differently than generic 2.5.72 -- in the error case (like aio read from /dev/zero), 2.5.72-mm1 returns an EINVAL error on io_submit(). In 2.5.72 io_submit succeeds and the i/o itself get an error. I prefer getting the error on io_submit.
Daniel
On Mon, 2003-06-16 at 20:24, Suparna Bhattacharya wrote: > On Mon, Jun 16, 2003 at 06:33:13PM -0700, John Myers wrote: > > > > Daniel McNeil wrote: > > > > >Are there other error return values where it should jump to the > > >aio_put_req()? Should the check be: > > > > > > > > The situation is much worse. The io_submit_one() code in 2.5.71 > > distinguishes between conditions where io_submit should fail (which goto > > out_put_req) and conditions where the queued operation completes > > immediately (which result in a call to aio_complete()). The patch in > > 2.5.71-mm1 which separates out aio_setup_iocb() loses track of this > > distinction, mishandling any case where the queued operation completes > > immediately. Aio poll, for instance, depends on being able to indicate > > immediate completion. > > The code for aio_read/write does distinguish between these cases. > - if you spot a case where it doesn't do let me know. > aio_setup_iocb() just sets up the method after performing the > specified checks. Its aio_run_iocb() which actually executes it. > > > > > So the part of aio-01-retry.patch that splits out aio_setup_iocb() is > > completely broken. > > > > Actually, looking closer, I think its just aio poll that's > incorrectly merged here. The right way to implement aio poll in > the new model would have been to setup a retry method for it > in aio_setup_iocb(), not run generic_aio_poll() directly there. > > Regards > Suparna > > -- > Suparna Bhattacharya (suparna@in.ibm.com) > Linux Technology Center > IBM Software Labs, India
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |