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