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 <vsementsov@yandex-team.ru>
---
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