[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Fix incoming migration
From: |
Glauber Costa |
Subject: |
Re: [Qemu-devel] [PATCH] Fix incoming migration |
Date: |
Tue, 10 Nov 2009 15:07:58 -0200 |
User-agent: |
Jack Bauer |
On Tue, Nov 10, 2009 at 04:47:59PM +0000, Mark McLoughlin wrote:
> On Fri, 2009-11-06 at 15:58 +0100, Juan Quintela wrote:
> > commit b04c4134d6de28c249277de19e523bfbe4aebbd6
> > broke incoming migration. After talking with Gleb, code was intended
> > to be the way is in this fix. This fixes migration here.
>
> Tried to reproduce and it works fine for me. More details?
>
> > Signed-off-by: Juan Quintela <address@hidden>
> > ---
> > savevm.c | 7 ++++++-
> > 1 files changed, 6 insertions(+), 1 deletions(-)
> >
> > diff --git a/savevm.c b/savevm.c
> > index b7abf43..fd98ccd 100644
> > --- a/savevm.c
> > +++ b/savevm.c
> > @@ -126,6 +126,8 @@ static int announce_self_create(uint8_t *buf,
> > static void qemu_announce_self_once(void *opaque)
> > {
> > int i, len;
> > + VLANState *vlan;
> > + VLANClientState *vc;
> > uint8_t buf[60];
> > static int count = SELF_ANNOUNCE_ROUNDS;
> > QEMUTimer *timer = *(QEMUTimer **)opaque;
> > @@ -134,7 +136,10 @@ static void qemu_announce_self_once(void *opaque)
> > if (!nd_table[i].used)
> > continue;
> > len = announce_self_create(buf, nd_table[i].macaddr);
> > - qemu_send_packet_raw(nd_table[i].vc, buf, len);
> > + vlan = nd_table[i].vlan;
> > + QTAILQ_FOREACH(vc, &vlan->clients, next) {
> > + qemu_send_packet_raw(vc, buf, len);
> > + }
>
> A NIC isn't necessarily connected to a vlan any more, which is why the
> change was made.
>
> With your patch, I'd expect it to crash if you used -netdev rather than
> -net
>
It crashes for me too, and I acknowledge that this patch fixes it.
I was able to reproduce it with my default network settings, which includes
a tap device, if it matters.