qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: Live migration protocol, device features, ABIs and ot


From: Gleb Natapov
Subject: [Qemu-devel] Re: Live migration protocol, device features, ABIs and other beasts
Date: Mon, 23 Nov 2009 18:05:34 +0200

On Mon, Nov 23, 2009 at 05:01:58PM +0100, Juan Quintela wrote:
> Anthony Liguori <address@hidden> wrote:
> > Gleb Natapov wrote:
> >>>>> My problem implementing optional features/sections/... is not the
> >>>>> savevm/VMState bits.  At the end, implementing that is easy.  What is
> >>>>> more dificult is once that a device have 5 features, what are the valid
> >>>>> combinations.  i.e. if you have pci and msix features, msix requires
> >>>>> pci.  In this case, the dependency is trivial, but in others that
> >>>>> hasen't to be so obvious.
> >>>>>         
> >>>> It doesn't matter what device support and how it is configured. This can
> >>>> be handled by each device separately. i.e if destination detects that
> >>>> source had MSIX enabled for the device but destination hasn't it will
> >>>> signal an error.
> >>>>       
> >>> And guess what, with current code migration is going to "suceed" on the
> >>> source host and fail on the target host.
> >>>     
> >> Then current code is buggy. It should be possible to abort migration in
> >> the middle if device can't understand the data it received.
> >>   
> >
> > It can, post_load() can error which will terminate the migration.
> > This can be used to validate fields beyond whether they fit into the
> > type specified.
> 
> Yes, but "source" never sees that.
> it is like:
> 
> source:
>    set things
>    foreach device
>      sent state
>    end
> 
> target:
>    set things
>    while data
>      receive device
> 
> If it fails in one of the lastest devices.  Source decrees migration
> "success" before target ends reading data.  You can test it, put a
> return -1 in any of the post_load() functions, and you would see that
> migration suceeds in the source and fails in the target.
> 
> Mark was the one that explained me this bug.
> 
According to Anthony this is not a bug. Management has all the means to
resolve this situation properly. The bug would be if dst and src both
run or both exit.

--
                        Gleb.




reply via email to

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