@@ -955,7 +955,13 @@ int qemu_loadvm_state(QEMUFile *f)
le->next = first_le;
first_le = le;
- le->se->load_state(f, le->se->opaque, le->version_id);
+ ret = le->se->load_state(f, le->se->opaque, le->version_id);
+ if (ret < 0) {
+ fprintf(stderr, "qemu: warning: error while loading state for instance 0x%x of device '%s'\n",
+ instance_id, idstr);
+ ret = -EINVAL;
+ goto out;
+ }
break;
case QEMU_VM_SECTION_PART:
case QEMU_VM_SECTION_END:
@@ -968,7 +974,13 @@ int qemu_loadvm_state(QEMUFile *f)
goto out;
}
- le->se->load_state(f, le->se->opaque, le->version_id);
+ ret = le->se->load_state(f, le->se->opaque, le->version_id);
+ if (ret != 0) {
+ fprintf(stderr, "qemu: warning: error while loading state section '%d'\n",
+ section_id);
+ ret = -EINVAL;
+ goto out;
+ }
break;
default:
fprintf(stderr, "Unknown savevm section type %d\n", section_type);
An error value here means that some device was not able to load it state. There is no hope at this point. Signed-off-by: Juan Quintela <quintela@redhat.com> --- savevm.c | 16 ++++++++++++++-- 1 files changed, 14 insertions(+), 2 deletions(-)