]> xenbits.xensource.com Git - people/pauldu/xen.git/commitdiff
tools/libxl: Restore errnoval behavior for datacopier callback
authorRoss Lagerwall <ross.lagerwall@citrix.com>
Fri, 20 Mar 2015 16:04:14 +0000 (16:04 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Fri, 20 Mar 2015 16:16:14 +0000 (16:16 +0000)
6d896e1357ff ("tools/libxl: Extend datacopier to support reading into a
buffer") changed the semantics of the errnoval parameter for the datacopier
callback without updating all callers.  Restore the original behavior for now.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
tools/libxl/libxl_aoutils.c
tools/libxl/libxl_internal.h

index 0d4c8af345c1c962756ab86ff8c5b06eba20e826..3b77286904f4b0243c752491deef8bfe71a016d4 100644 (file)
@@ -148,7 +148,7 @@ static void datacopier_check_state(libxl__egc *egc, libxl__datacopier_state *dc)
     } else if (!libxl__ev_fd_isregistered(&dc->toread) ||
                dc->bytes_to_read == 0) {
         /* we have had eof */
-        datacopier_callback(egc, dc, 0, dc->readbuf ? dc->used : 0);
+        datacopier_callback(egc, dc, 0, 0);
         return;
     } else {
         /* nothing buffered, but still reading */
index 51f06011465b35d5737b8968b198386eb6f0cb27..904567eb6ea3762801008abcfcf386f93dd095dc 100644 (file)
@@ -2527,9 +2527,8 @@ typedef struct libxl__datacopier_buf libxl__datacopier_buf;
 
 /* onwrite==1 means failure happened when writing, logged, errnoval is valid
  * onwrite==0 means failure happened when reading
- *     errnoval>=0 means we got eof and all data was written or number of bytes
- *                 written when in read mode
- *     errnoval<0 means we had a read error, logged
+ *     errnoval==0 means we got eof and all data was written
+ *     errnoval!=0 means we had a read error, logged
  * onwrite==-1 means some other internal failure, errnoval not valid, logged
  * If we get POLLHUP, we call callback_pollhup(..., onwrite, -1);
  * or if callback_pollhup==0 this is an internal failure, as above.