migration: Route more error paths

vmstate_save_state is called in lots of places.
Route error returns from the easier cases back up;  there are lots
of more complex cases where their own error paths need fixing.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20170925112917.21340-7-dgilbert@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
  Commit message fix up as Peter's review
This commit is contained in:
Dr. David Alan Gilbert 2017-09-25 12:29:17 +01:00
parent 687433f611
commit 2f168d0708
5 changed files with 23 additions and 16 deletions

View file

@ -70,7 +70,8 @@ static void save_vmstate(const VMStateDescription *desc, void *obj)
QEMUFile *f = open_test_file(true);
/* Save file with vmstate */
vmstate_save_state(f, desc, obj, NULL);
int ret = vmstate_save_state(f, desc, obj, NULL);
g_assert(!ret);
qemu_put_byte(f, QEMU_VM_EOF);
g_assert(!qemu_file_get_error(f));
qemu_fclose(f);
@ -381,7 +382,8 @@ static void test_save_noskip(void)
QEMUFile *fsave = open_test_file(true);
TestStruct obj = { .a = 1, .b = 2, .c = 3, .d = 4, .e = 5, .f = 6,
.skip_c_e = false };
vmstate_save_state(fsave, &vmstate_skipping, &obj, NULL);
int ret = vmstate_save_state(fsave, &vmstate_skipping, &obj, NULL);
g_assert(!ret);
g_assert(!qemu_file_get_error(fsave));
uint8_t expected[] = {
@ -402,7 +404,8 @@ static void test_save_skip(void)
QEMUFile *fsave = open_test_file(true);
TestStruct obj = { .a = 1, .b = 2, .c = 3, .d = 4, .e = 5, .f = 6,
.skip_c_e = true };
vmstate_save_state(fsave, &vmstate_skipping, &obj, NULL);
int ret = vmstate_save_state(fsave, &vmstate_skipping, &obj, NULL);
g_assert(!ret);
g_assert(!qemu_file_get_error(fsave));
uint8_t expected[] = {