On 7/28/26 22:45, Michael S. Tsirkin wrote:
On Tue, Jul 28, 2026 at 11:40:24AM +0300, Michael Tokarev wrote:
...
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 805148678d..73b4d82b4a 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -41,6 +41,7 @@
#include "hw/arm/smmuv3.h"
GlobalProperty hw_compat_11_0[] = {
+ { "virtio-mmio", VIRTIO_QUEUE_SIZE_OVERRIDE, "1024" },
..because it is adding a new field into the migration stream,
which is a problem for stable series.
this is compat not a migration stream, right?
Aha, yes, I was a bit tired today.
For stable, the value needs to be 1024 for all types.
So this whole change, for older versions, becomes just:
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -2572,6 +2572,8 @@ VirtQueue *virtio_add_queue(VirtIODevice *vdev, int
queue_size,
if (i == VIRTIO_QUEUE_MAX || queue_size > VIRTQUEUE_MAX_SIZE)
abort();
+ queue_size = VIRTQUEUE_MAX_SIZE; /* fixed properly in 11.1. */
+
vdev->vq[i].vring.num = queue_size;
vdev->vq[i].vring.num_default = queue_size;
vdev->vq[i].vring.align = VIRTIO_PCI_VRING_ALIGN;
so we override supplied size just like when
x-override-queue-size is set for compat-11.0 or earlier.
Got it.
Now, the fun continues - this is the first time in qemu history
when a bigger change reduces in stable series into such a one-liner :)
Thanks,
/mjt