"Dr. David Alan Gilbert (git)" <dgilb...@redhat.com> wrote: > From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> > > vmstate_save is called in a few places, and 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 <dgilb...@redhat.com>
Reviewed-by: Juan Quintela <quint...@redhat.com> But ..... > -void virtio_save(VirtIODevice *vdev, QEMUFile *f) > +int virtio_save(VirtIODevice *vdev, QEMUFile *f) > { > BusState *qbus = qdev_get_parent_bus(DEVICE(vdev)); > VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus); > @@ -1947,20 +1947,21 @@ void virtio_save(VirtIODevice *vdev, QEMUFile *f) > } > > if (vdc->vmsd) { > - vmstate_save_state(f, vdc->vmsd, vdev, NULL); > + int ret = vmstate_save_state(f, vdc->vmsd, vdev, NULL); > + if (ret) { > + return ret; > + } > } > > /* Subsections */ > - vmstate_save_state(f, &vmstate_virtio, vdev, NULL); > + return vmstate_save_state(f, &vmstate_virtio, vdev, NULL); > } We add error code, good. > > /* A wrapper for use as a VMState .put function */ > static int virtio_device_put(QEMUFile *f, void *opaque, size_t size, > VMStateField *field, QJSON *vmdesc) > { > - virtio_save(VIRTIO_DEVICE(opaque), f); > - > - return 0; > + return virtio_save(VIRTIO_DEVICE(opaque), f); > } And we add the error code. But are the callers ready to use it? ... } else { field->info->put(f, curr_elem, size, field, vmdesc_loop); } No, we need to fix it on the callers also. Yeap, that is can be fixed in a posterios series. Later, Juan.