On 10/11/2011 05:00 AM, Juan Quintela wrote:
If migration is not active, just ignore writes.

Signed-off-by: Juan Quintela<quint...@redhat.com>
---
  migration.c |    4 ++++
  1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/migration.c b/migration.c
index 7ac1fc2..090c925 100644
--- a/migration.c
+++ b/migration.c
@@ -323,6 +323,10 @@ ssize_t migrate_fd_put_buffer(void *opaque, const void 
*data, size_t size)
      FdMigrationState *s = opaque;
      ssize_t ret;

+    if (s->state != MIG_STATE_ACTIVE) {
+        return -EIO;
+    }
+

Buffered file is buffered. The migration may complete before the buffer is completely drained. That means additional put_buffer calls may come after the migration state has moved to complete.

Regards,

Anthony Liguori

      do {
          ret = s->write(s, data, size);
      } while (ret == -1&&  ((s->get_error(s)) == EINTR));


Reply via email to