savevm: make qemu_file_put_notify() return errors

Signed-off-by: Juan Quintela <quintela@redhat.com>

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
master
Juan Quintela 2012-09-04 12:45:42 +02:00
parent 6f121ff575
commit a2b4135124
3 changed files with 6 additions and 5 deletions

View File

@ -287,10 +287,11 @@ static void migrate_fd_completed(MigrationState *s)
static void migrate_fd_put_notify(void *opaque) static void migrate_fd_put_notify(void *opaque)
{ {
MigrationState *s = opaque; MigrationState *s = opaque;
int ret;
qemu_set_fd_handler2(s->fd, NULL, NULL, NULL, NULL); qemu_set_fd_handler2(s->fd, NULL, NULL, NULL, NULL);
qemu_file_put_notify(s->file); ret = qemu_file_put_notify(s->file);
if (s->file && qemu_file_get_error(s->file)) { if (ret) {
migrate_fd_error(s); migrate_fd_error(s);
} }
} }

View 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 /* 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 * halted due to rate limiting or EAGAIN errors occur as it can be used to
* resume output. */ * 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) static inline void qemu_put_be64s(QEMUFile *f, const uint64_t *pv)
{ {

View File

@ -523,9 +523,9 @@ int qemu_fclose(QEMUFile *f)
return ret; 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) void qemu_put_buffer(QEMUFile *f, const uint8_t *buf, int size)