Alan Stern wrote:
On Fri, 3 Feb 2006, Badari Pulavarty wrote:


Hi,

I am trying to collapse all the vectored and AIO operations
to a single set of file-operations. My initial posting, is
available here:

http://marc.theaimsgroup.com/?l=linux-kernel&m=113889673116697&w=2

As part of this work, I changed aio_read()/aio_write()
methods to take a vector, so I can drop readv/writev methods.
I was trying to fix usb/gadget/inode.c ep_aio_read()/ep_aio_write()
to support vector. I am hoping some one can help me, since I
don't understand the code well enough :(
For my first (dumb) pass, I just loop through all the vectors.
Does this look right ? Does vectorizing these makes sense at all ?
Please let me know, how this can be optimized. (BTW, I just included
only usb/gadget related patch here - if some one wants to see the whole
thing, I can post it here).


Your code can return -ENOMEM, -EFAULT, or other error values after part of the request has successfully been queued. Is this a violation of the AIO API? I don't know how it's supposed to work with iovecs.

Thinking about it, (like regular vectored IO) it makes sense to return
success if we already queued up part of IO, in case of and error.
Isn't it ? This way, one can go and wait for those IOs to finish.

Thanks,
Badari



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to