savevm: make qemu_file_put_notify() return errors
authorJuan Quintela <quintela@redhat.com>
Tue, 4 Sep 2012 10:45:42 +0000 (12:45 +0200)
committerJuan Quintela <quintela@redhat.com>
Wed, 17 Oct 2012 16:35:00 +0000 (18:35 +0200)
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
migration.c
qemu-file.h
savevm.c

index 2c939514234de204ef6e5004f77c38d929b159a3..62e030487d5512f63ca318e5508d9abf72eee9f7 100644 (file)
@@ -287,10 +287,11 @@ static void migrate_fd_completed(MigrationState *s)
 static void migrate_fd_put_notify(void *opaque)
 {
     MigrationState *s = opaque;
+    int ret;
 
     qemu_set_fd_handler2(s->fd, NULL, NULL, NULL, NULL);
-    qemu_file_put_notify(s->file);
-    if (s->file && qemu_file_get_error(s->file)) {
+    ret = qemu_file_put_notify(s->file);
+    if (ret) {
         migrate_fd_error(s);
     }
 }
index 8dd920790c28c98bbf40bafe4e0f17f8b1f72338..9c8985b61018132473e9327886d378a33617fea2 100644 (file)
@@ -107,7 +107,7 @@ int qemu_file_get_error(QEMUFile *f);
 /* Try to send any outstanding data.  This function is useful when output is
  * halted due to rate limiting or EAGAIN errors occur as it can be used to
  * resume output. */
-void qemu_file_put_notify(QEMUFile *f);
+int qemu_file_put_notify(QEMUFile *f);
 
 static inline void qemu_put_be64s(QEMUFile *f, const uint64_t *pv)
 {
index dee689998bff6f8bb19017c005307e3e04b96a63..b080d3725881e68560706e61ac875cfbcf2d01bf 100644 (file)
--- a/savevm.c
+++ b/savevm.c
@@ -523,9 +523,9 @@ int qemu_fclose(QEMUFile *f)
     return ret;
 }
 
-void qemu_file_put_notify(QEMUFile *f)
+int qemu_file_put_notify(QEMUFile *f)
 {
-    f->put_buffer(f->opaque, NULL, 0, 0);
+    return f->put_buffer(f->opaque, NULL, 0, 0);
 }
 
 void qemu_put_buffer(QEMUFile *f, const uint8_t *buf, int size)