virtio-net multiqueue added a new field to the config layout.  The config
layout is rounded up to the nearest power of 2 and this field caused
field causes the size to go from 8 bytes to 16 bytes.

For reasons unknown, the increase in config size causes the Windows
virtio-net driver to fail.  This is probably a bug in the driver but
it exposes a larger bug in QEMU.

While we disable features for compatibility machines, we always use the
latest config size.  This presents a slightly different machine model
than what we should be exposing.

This series fixes this specific problem such that -M pc-1.3 should work
again with the Windows drivers.  -M pc will still fail.

We need to find a better way to do this but in absence of a nicer approach
this seems likes a good compromise for 1.4.  I think we need to choose
something like the MAX() config size required by all of the enabled host
features.

Besides -M pc-1.3, another work around would be:

  -global virtio-net-pci.mq=off

This should work after this patch series is applied.  We can put this
work around in the release notes as suggested for users of the
virtio-win drivers until they are fixed.

Reported-by: Michael Tokarev <m...@tls.msk.ru>

FYI: only lightly tested on my end but so far, it seems to work.


Reply via email to