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)
{
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);
}
}

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
* 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)
{

View File

@ -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)