X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=daemon%2Ftar.c;h=74d7b056697847e8e9cba3d6e6d555fa0106fe04;hb=50c54d2814b13d7d51f659600e93565dc6921b28;hp=3c756afce5b65d1014d8260d72c5e31a21c2a6fb;hpb=33b638109ed66ea360b53b80b1f407b3a5f5ec39;p=libguestfs.git diff --git a/daemon/tar.c b/daemon/tar.c index 3c756af..74d7b05 100644 --- a/daemon/tar.c +++ b/daemon/tar.c @@ -118,14 +118,15 @@ do_tXz_in (const char *dir, const char *filter) return -1; } if (r == -2) { /* cancellation from library */ + /* This error is ignored by the library since it initiated the + * cancel. Nevertheless we must send an error reply here. + */ + reply_with_error ("file upload cancelled"); pclose (fp); - /* Do NOT send any error. */ return -1; } if (pclose (fp) != 0) { - if (r == -1) /* if r == 0, file transfer ended already */ - r = cancel_receive (); char *errstr = read_error_file (); reply_with_error ("tar subcommand failed on directory: %s: %s", dir, errstr);