qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH V2 4/8] virtio-pci: fix 1.0 virtqueue migration


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH V2 4/8] virtio-pci: fix 1.0 virtqueue migration
Date: Thu, 10 Sep 2015 12:11:46 +0300

On Tue, Sep 08, 2015 at 03:27:59PM +0800, Jason Wang wrote:
> 
> 
> On 09/07/2015 04:21 PM, Cornelia Huck wrote:
> > On Mon, 7 Sep 2015 15:39:59 +0800
> > Jason Wang <address@hidden> wrote:
> >
> >> > On 09/02/2015 07:06 PM, Cornelia Huck wrote:
> >>> > > On Wed,  2 Sep 2015 11:25:21 +0800
> >>> > > Jason Wang <address@hidden> wrote:
> >>>> > >> +static int get_extra_state(QEMUFile *f, void *pv, size_t size)
> >>>> > >> +{
> >>>> > >> +    VirtIODevice *vdev = pv;
> >>>> > >> +    BusState *qbus = qdev_get_parent_bus(DEVICE(vdev));
> >>>> > >> +    VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus);
> >>>> > >> +    int ret = 0;
> >>>> > >> +
> >>>> > >> +    ret = k->load_extra_state(qbus->parent, f);
> >>> > > Should we check for ->load_extra_state() and return failure if it does
> >>> > > not exist?
> >> > 
> >> > I think checking the existence of has_extra_state() in
> >> > virtio_extra_state_needed() is enough for this? Or is there anything I 
> >> > miss?
> > The has_extra_state() callback is called by the sender, not by the
> > receiver.
> >
> > If the other side sent the extra state but we can't handle it, I think
> > it would be better to fail the migration than to crash. Still broken
> > code, but probably easier to debug :)
> >
> 
> I see so it only happen when transport provides save_extra_state() but
> not get_extra_sate(). I'm ok to add the check in next version .
> 
> Thanks

This seems minor enough. I think I'll merge this as is,
we can tweak things using patches on top.



reply via email to

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