Bug 3291 - XIO writev doesn't handle iovcnt > IOVEC
: XIO writev doesn't handle iovcnt > IOVEC
Status: RESOLVED FIXED
: XIO
Globus XIO
: 4.0.0
: Sun Solaris
: P3 normal
: ---
Assigned To:
:
:
:
: 3292
  Show dependency treegraph
 
Reported: 2005-05-04 16:04 by
Modified: 2005-05-05 09:58 (History)


Attachments
iovc_limit_patch.diff (1.48 KB, patch)
2005-05-04 16:50, Joe Bester
Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2005-05-04 16:04:19
When doing a writev with an iovec containing too many buffers, xio write fails
with "globus_xio: System error in writev: Invalid argument". It'd be nicer if
this  were handled somehow by the XIO drivers or system.
------- Comment #1 From 2005-05-04 16:11:21 -------
This brings up interesting issues with drivers that are not reliable and
ordered.  May be a good time to introduce some driver description funtionality.
------- Comment #2 From 2005-05-04 16:50:57 -------
Created an attachment (id=601) [details]
iovc_limit_patch.diff

Attaching patch which keeps the iovc passed to writev and readv smaller than
IOVCNT.
------- Comment #3 From 2005-05-04 17:14:40 -------
The udp driver is the only one that i am aware of that can't repass data down
the stack (semantically).  It properly handles any short write as a failure so
this patch is fine.  We need to add documentation to the driver code to say that
it is the drivers responsibility to deal with short reads/writes if it must have
all the data sent in a single packet.

Down the road we may want to add driver descriptors which tell the xio
framework, and other drivers, hints about a driver.  Things like ordered,
reliable, packet, stream, etc.  This would potientially allow the framework to
ease more burden on the driver.
------- Comment #4 From 2005-05-05 09:58:07 -------
Patch committed to 4.0 branch and trunk.
Added to advisories page.
Update package available at 
http://www-unix.globus.org/ftppub/gt4/4.0/4.0.0/updates/src/globus_xio-0.29.tar.gz