I am currently developing a blkfront.c for a custom OS over Xen 3.0.2-2. Typical I/O is working, however, I ran into an error while testing a corner case. On standard I/O, where { 1 <= nr_segments < BLKIF_MAX_SEGMENTS_PER_REQUEST } blkif_int()'s bret->status returns BLKIF_RSP_OKAY. Yet when { nr_segments == 0 } blkif_int's bret->status is non-zero. (Yes I realize this is an I/O call of zero-length.) I checked the documentation and section "8.2.2 Block ring interface" states the following but doesn't exclude 0: "nr_segments number of segments for scatter / gather IO described by this request" 1) Is it possible there is a problem w/ my front-end driver (ie does anyone else see this behaviour)? 2) If this is
back-end related, shouldn't it just return BLKIF_RSP_OKAY?
Now you can have a huge leap forward in email: get the new Yahoo! Mail. _______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|