On Wed, Dec 14, 2016 at 05:30:35PM +0100, Maxime Coquelin wrote:
> This patch fixes a cross-version migration regression introduced
> by commit d1b4259f ("virtio-bus: Plug devices after features are
> negotiated").
>
> The problem is encountered when host's vhost backend does not support
> VIRTIO_F_VERSION_1, and migration is initiated from a v2.7 or prior
> machine with virtio-pci modern capabilities enabled to a v2.8 machine.
>
> In this case, modern capabilities get exposed to the guest by the source,
> whereas the target will detect version 1 is not supported so will only
> expose legacy capabilities.
>
> The problem is fixed by introducing a new "x-ignore-backend-features"
> property, which is set in v2.7 and prior compatibility modes. Doing this,
> v2.7 machine keeps its broken behaviour (enabling modern while version
> is not supported), and newer machines will behave correctly.
>
> Reported-by: Michael Roth <[email protected]>
> Suggested-by: Stefan Hajnoczi <[email protected]>
> Cc: Michael S. Tsirkin <[email protected]>
> Cc: Cornelia Huck <[email protected]>
> Cc: Dr. David Alan Gilbert <[email protected]>
> Reviewed-by: Marcel Apfelbaum <[email protected]>
> Reviewed-by: Stefan Hajnoczi <[email protected]>
> Tested-by: Michael Roth <[email protected]>
> Signed-off-by: Maxime Coquelin <[email protected]>
> ---
>
> V3 fixes commit message with the new property name.
> V2 changes the naming as proposed by Michael T.and Cornelia, and
> fixes commit message.
>
> hw/virtio/virtio-pci.c | 5 ++++-
> hw/virtio/virtio-pci.h | 1 +
> include/hw/compat.h | 4 ++++
> 3 files changed, 9 insertions(+), 1 deletion(-)Thanks, applied to my staging tree: https://github.com/stefanha/qemu/commits/staging Stefan
signature.asc
Description: PGP signature
