Virtio devices now don't use .needed field for their VMSD, but we are going to use it for vhost-user-blk. So, let's handle this field in generic code. Nothing is changed for existing vmstates.
Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]> --- hw/virtio/virtio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c index bf361811d0..aa36438e69 100644 --- a/hw/virtio/virtio.c +++ b/hw/virtio/virtio.c @@ -3088,7 +3088,7 @@ int virtio_save(VirtIODevice *vdev, QEMUFile *f) vdc->save(vdev, f); } - if (vdc->vmsd) { + if (vdc->vmsd && vmstate_section_needed(vdc->vmsd, vdev)) { int ret = vmstate_save_state(f, vdc->vmsd, vdev, NULL, &local_err); if (ret) { error_report_err(local_err); @@ -3412,7 +3412,7 @@ virtio_load(VirtIODevice *vdev, QEMUFile *f, int version_id) } } - if (vdc->vmsd) { + if (vdc->vmsd && vmstate_section_needed(vdc->vmsd, vdev)) { ret = vmstate_load_state(f, vdc->vmsd, vdev, version_id, &local_err); if (ret) { error_report_err(local_err); -- 2.48.1
