Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > media > main-src > by-pkgid > aadbe78a25743146bb784eee19f007c5 > files > 469

kvm-83-164.el5_5.9.src.rpm

From 0f320ce8415c4b96847aab9d1969b92895423128 Mon Sep 17 00:00:00 2001
From: Uri Lublin <uril@redhat.com>
Date: Tue, 19 May 2009 12:45:37 +0300
Subject: [PATCH 03/14] migrate.c: migrate_fd_put_buffer: Do not busyloop: stop writing if EWOULDBLOCK

The migration code is non-blocking, designed for live migration.

Practically migrate_fd_put_buffer busy-loops trying to write, as
on many machines EWOULDBLOCK==EAGAIN (look in include/asm-generic/errno.h).

bz 501459

Signed-off-by: Uri Lublin <uril@redhat.com>
Message-Id: <1242726337-29202-1-git-send-email-uril@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
RH-Upstream-status: applied(qemu-kvm/master)
Acked-by: john cooper <john.cooper@redhat.com>
Acked-by: Dor Laor <dlaor@redhat.com>
Acked-by: Luiz Capitulino <lcapitul@redhat.com>
Bugzilla: 503793
---
 qemu/migration.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/qemu/migration.c b/qemu/migration.c
index 85757c5..7cfa749 100644
--- a/qemu/migration.c
+++ b/qemu/migration.c
@@ -169,7 +169,7 @@ ssize_t migrate_fd_put_buffer(void *opaque, const void *data, size_t size)
 
     do {
         ret = s->write(s, data, size);
-    } while (ret == -1 && ((s->get_error(s)) == EINTR || (s->get_error(s)) == EWOULDBLOCK));
+    } while (ret == -1 && ((s->get_error(s)) == EINTR));
 
     if (ret == -1)
         ret = -(s->get_error(s));
-- 
1.6.3.rc4.29.g8146