[libvirt] [PATCH 5/9] Fix stream abort upon I/O failure during migration

Daniel P. Berrange berrange at redhat.com
Mon Oct 5 11:44:52 UTC 2009


virStreamAbort is needed when the caller wishes to terminate
the stream early, not when virStreamSend fails.

* qemu/qemu_driver.c: Fix calling of virStreamAbort during
  tunnelled migration
---
 src/qemu/qemu_driver.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index dfbeb59..561b0c8 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -6616,6 +6616,7 @@ static int doTunnelMigrate(virDomainPtr dom,
     for (;;) {
         bytes = saferead(client_sock, buffer, sizeof(buffer));
         if (bytes < 0) {
+            virStreamAbort(st);
             virReportSystemError(dconn, errno, "%s",
                                  _("tunnelled migration failed to read from qemu"));
             goto close_client_sock;
@@ -6627,7 +6628,6 @@ static int doTunnelMigrate(virDomainPtr dom,
         if (virStreamSend(st, buffer, bytes) < 0) {
             qemudReportError(dom->conn, dom, NULL, VIR_ERR_OPERATION_FAILED,
                              _("Failed to write migration data to remote libvirtd"));
-            virStreamAbort(st);
             goto close_client_sock;
         }
     }
-- 
1.6.2.5




More information about the libvir-list mailing list