Messages in this thread | | | Date | Mon, 15 Mar 2010 17:31:59 -0600 | From | Robert Hancock <> | Subject | Re: SCSI GENERIC command queueing for block storage is unstable. |
| |
On 03/15/2010 12:25 PM, Mike Hayward wrote: > After discovering that O_NONBLOCK reads and writes were actually > blocking calls, I attempted to use the SCSI generic driver for > nonblocking io. The good news is that it is nonblocking; the bad news > is that it is not dependable in any of the systems I have tested with. > > Does anyone know if these defects have been fixed in later kernels? > > 1. When queueing, write can occassionally return errno 12 (ENOMEM, Cannot > allocate memory). This is documented in the SCSI GENERIC HOWTO, > however only for indirect io and it says extremely rare. I can cause > it easily within a few hours and it can return even for direct io when > no io's are queued and 80% of the ram is free or in buffer cache. The > fd polls as available for writing, but retrying never clears the error > and the fd is no longer usable. This is a complete show stopper. > > Linux 2.6.22.1-32.fc6 #1 SMP Wed Aug 1 14:30:16 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
First off, have you tested any of these problems against a newer kernel?
| |