qemu-cr16/include/hw/virtio
Philippe Mathieu-Daudé efd6b3d176 Revert "hw/net/virtio-net: make VirtIONet.vlans an array instead of a pointer"
Per https://lore.kernel.org/qemu-devel/7798584d-e861-47b7-af52-2c2efb67a4de@proxmox.com/:

Loading a VM state taken with v10.1.2 or older doesn't work anymore,
using the script [*] we get:

  kvm: VQ 1 size 0x100 < last_avail_idx 0x9 - used_idx 0x3e30
  kvm: load of migration failed: Operation not permitted: error while loading state for instance 0x0 of device '0000:00:13.0/virtio-net': Failed to load element of type virtio for virtio: -1
  qemu-system-x86_64: Missing section footer for 0000:00:13.0/virtio-net
  qemu-system-x86_64: Section footer error, section_id: 41

[*]:

  #!/bin/bash
  rm /tmp/disk.qcow2
  args="
    -netdev type=tap,id=net1,ifname=tap104i1,script=/usr/libexec/qemu-server/pve-bridge,downscript=/usr/libexec/qemu-server/pve-bridgedown,vhost=on
    -device virtio-net-pci,mac=BC:24:11:32:3C:69,netdev=net1,bus=pci.0,addr=0x13,id=net1
    -machine type=pc-i440fx-10.1
  "
  $1/qemu-img create -f qcow2 /tmp/disk.qcow2 1G
  $1/qemu-system-x86_64 --qmp stdio --blockdev qcow2,node-name=node0,file.driver=file,file.filename=/tmp/disk.qcow2 $args <<EOF
  {"execute": "qmp_capabilities"}
  {"execute": "snapshot-save", "arguments": { "job-id": "save0", "tag": "snap", "vmstate": "node0", "devices": ["node0"] } }
  {"execute": "quit"}
  EOF
  $2/qemu-system-x86_64 --qmp stdio --blockdev qcow2,node-name=node0,file.driver=file,file.filename=/tmp/disk.qcow2 $args -loadvm snap

This reverts commit 3a9cd2a4a1.

Reported-by: Fiona Ebner <f.ebner@proxmox.com>
Suggested-by: Fiona Ebner <f.ebner@proxmox.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
2025-12-09 21:00:15 +01:00
..
cbor-helpers.h device/virtio-nsm: Support for Nitro Secure Module device 2024-10-31 18:28:32 +01:00
iothread-vq-mapping.h virtio: extract iothread-vq-mapping.h API 2025-03-13 17:57:23 +01:00
vdpa-dev.h vdpa: add vdpa-dev support 2022-12-21 06:35:28 -05:00
vhost-backend.h vhost: add support for negotiating extended features 2025-10-04 10:50:37 -04:00
vhost-scsi-common.h vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
vhost-scsi.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
vhost-user-base.h char: rename CharBackend->CharFrontend 2025-10-28 14:49:52 +01:00
vhost-user-blk.h char: rename CharBackend->CharFrontend 2025-10-28 14:49:52 +01:00
vhost-user-fs.h char: rename CharBackend->CharFrontend 2025-10-28 14:49:52 +01:00
vhost-user-gpio.h hw/virtio: derive vhost-user-gpio from vhost-user-base 2024-02-14 06:01:44 -05:00
vhost-user-i2c.h hw/virtio: derive vhost-user-i2c from vhost-user-base 2024-02-14 06:01:49 -05:00
vhost-user-rng.h hw/virtio: derive vhost-user-rng from vhost-user-base 2024-02-14 06:01:42 -05:00
vhost-user-scmi.h char: rename CharBackend->CharFrontend 2025-10-28 14:49:52 +01:00
vhost-user-scsi.h vhost-user-scsi: support reconnect to backend 2023-10-22 05:18:17 -04:00
vhost-user-snd.h hw/virtio: add vhost-user-snd and vhost-user-snd-pci devices 2024-02-14 06:09:03 -05:00
vhost-user-vsock.h char: rename CharBackend->CharFrontend 2025-10-28 14:49:52 +01:00
vhost-user.h char: rename CharBackend->CharFrontend 2025-10-28 14:49:52 +01:00
vhost-vdpa.h vdpa: move iova_tree allocation to net_vhost_vdpa_init 2025-06-02 14:29:15 -04:00
vhost-vsock-common.h vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
vhost-vsock.h vhost-vsock: handle common features in vhost-vsock-common 2021-10-05 17:30:57 -04:00
vhost.h vhost: add support for negotiating extended features 2025-10-04 10:50:37 -04:00
virtio-access.h Replace TARGET_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
virtio-acpi.h license: Update deprecated SPDX tag GPL-2.0+ to GPL-2.0-or-later 2024-09-20 10:11:59 +03:00
virtio-balloon.h hw/virtio: reset virtio balloon stats on machine reset 2025-02-21 07:18:42 -05:00
virtio-blk-common.h virtio-blk: move config size params to virtio-blk-common 2022-10-07 09:41:51 -04:00
virtio-blk.h hw/vmapple/virtio-blk: Add support for apple virtio-blk 2025-03-04 14:45:34 +01:00
virtio-bus.h virtio-bus: introduce iommu_enabled() 2021-09-04 16:35:17 -04:00
virtio-crypto.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
virtio-dmabuf.h hw/display: introduce virtio-dmabuf 2023-10-04 18:15:06 -04:00
virtio-features.h virtio: introduce extended features type 2025-10-04 10:50:37 -04:00
virtio-gpu-bswap.h virtio-gpu: blob prep 2023-10-16 11:29:56 +04:00
virtio-gpu-pci.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
virtio-gpu-pixman.h virtio-gpu: add a pixman helper header 2019-05-29 06:29:07 +02:00
virtio-gpu.h char: rename CharBackend->CharFrontend 2025-10-28 14:49:52 +01:00
virtio-input.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
virtio-iommu.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
virtio-md-pci.h virtio-md-pci: Support unplug requests for compatible devices 2023-07-12 09:27:30 +02:00
virtio-mem.h hw/virtio/virtio-mem: Fix definition of VirtIOMEMClass 2025-06-10 12:59:09 +02:00
virtio-mmio.h include: Include headers where needed 2023-01-08 01:54:22 -05:00
virtio-net.h Revert "hw/net/virtio-net: make VirtIONet.vlans an array instead of a pointer" 2025-12-09 21:00:15 +01:00
virtio-nsm.h device/virtio-nsm: Support for Nitro Secure Module device 2024-10-31 18:28:32 +01:00
virtio-pci.h virtio-pci: implement support for extended features 2025-10-04 10:50:37 -04:00
virtio-pmem.h hw/virtio/virtio-pmem: Fix definition of VirtIOPMEMClass 2025-06-10 12:59:09 +02:00
virtio-rng.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
virtio-scsi.h char: rename CharBackend->CharFrontend 2025-10-28 14:49:52 +01:00
virtio-serial.h qom: remove redundant typedef when use OBJECT_DECLARE_SIMPLE_TYPE 2025-10-28 08:08:04 +01:00
virtio.h virtio: unify virtio_notify_irqfd() and virtio_notify() 2025-10-05 09:01:08 -04:00