[libvirt] [PATCH 12/16] Ensure we always read a full buffer in tunnelled migration

Daniel P. Berrange berrange at redhat.com
Thu May 12 16:04:48 UTC 2011


The 'nbytes' variable was not re-initialized to the
buffer size on each iteration of the tunnelled migration
loop. While saferead() will ensure a full read, except
on EOF, it is clearer to use the real buffer size

* src/qemu/qemu_migration.c: Always read full buffer of data
---
 src/qemu/qemu_migration.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 5a149ab..0eefe5c 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -1300,7 +1300,7 @@ static int doTunnelSendAll(virStreamPtr st,
     }
 
     for (;;) {
-        nbytes = saferead(sock, buffer, nbytes);
+        nbytes = saferead(sock, buffer, TUNNEL_SEND_BUF_SIZE);
         if (nbytes < 0) {
             virReportSystemError(errno, "%s",
                                  _("tunnelled migration failed to read from qemu"));
-- 
1.7.4.4




More information about the libvir-list mailing list