qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3] virtio-pci: Fix cross-version migration with


From: Maxime Coquelin
Subject: Re: [Qemu-devel] [PATCH v3] virtio-pci: Fix cross-version migration with older machines
Date: Thu, 15 Dec 2016 12:03:15 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0



On 12/15/2016 11:31 AM, Stefan Hajnoczi wrote:
On Thu, Dec 15, 2016 at 09:26:56AM +0100, Cornelia Huck wrote:
On Thu, 15 Dec 2016 07:38:09 +0000
Stefan Hajnoczi <address@hidden> wrote:

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 <address@hidden>
Suggested-by: Stefan Hajnoczi <address@hidden>
Cc: Michael S. Tsirkin <address@hidden>
Cc: Cornelia Huck <address@hidden>
Cc: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Marcel Apfelbaum <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Tested-by: Michael Roth <address@hidden>
Signed-off-by: Maxime Coquelin <address@hidden>
---

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

Hm, missing my R-b I gave for v2... feel free to add

Reviewed-by: Cornelia Huck <address@hidden>

if you still want to change it.

Sorry, the R-b didn't make it into v2.8.0-rc4.

The patch management scripts I use apply all R-b for a single email
thread.  They do not look at previous revisions (it would be hard to
tell which R-b still stand and which do not).  The usual solution is for
the patch author to include previous R-b in new revisions as long as
code changes aren't substantial.
Right that's my fault, sorry Cornelia.

Maxime

Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]