If we do, it results in double monitor_resume() (second being called from migrate_fd_cleanup() anyway) and monitor suspend count becoming negative.
Cc'ing people from `git blame' list for the lines in question: the change fixes the problem but I'm not sure what the original intention of this code was in this place. Unfortunately noone replied to two my attempts to raise this issue. Signed-Off-By: Michael Tokarev <m...@tls.msk.ru> --- migration.c | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-) diff --git a/migration.c b/migration.c index af3a1f2..115588c 100644 --- a/migration.c +++ b/migration.c @@ -330,9 +330,6 @@ ssize_t migrate_fd_put_buffer(void *opaque, const void *data, size_t size) if (ret == -EAGAIN) { qemu_set_fd_handler2(s->fd, NULL, NULL, migrate_fd_put_notify, s); } else if (ret < 0) { - if (s->mon) { - monitor_resume(s->mon); - } s->state = MIG_STATE_ERROR; notifier_list_notify(&migration_state_notifiers); } -- 1.7.2.5