All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juan Quintela <quintela@redhat.com>
To: Avi Kivity <avi@redhat.com>
Cc: Peter Lieven <pl@dlh.net>, kvm@vger.kernel.org, qemu-devel@nongnu.org
Subject: Re: Qemu-KVM Livate Migration 0.12.2 -> 0.12.3/4 broken?
Date: Sun, 16 May 2010 16:42:24 +0200	[thread overview]
Message-ID: <m3iq6nc3hr.fsf@trasno.mitica> (raw)
In-Reply-To: <4BEFDEE1.5070906@redhat.com> (Avi Kivity's message of "Sun, 16 May 2010 15:02:41 +0300")

Avi Kivity <avi@redhat.com> wrote:
> On 05/12/2010 02:11 AM, Juan Quintela wrote:
>> Peter Lieven<pl@dlh.net>  wrote:
>>    
>>> Hi Qemu/KVM Devel Team,
>>>
>>> Live Migration from a 0.12.2 qemu-kvm to a 0.12.3 (and 0.12.4)
>>> does not work: "load of migration failed"
>>>
>>> Is there any way to find out, why exactly it fails? I have
>>> a lot of VMs running on 0.12.2 and would like to migrate
>>> them to 0.12.4
>>>
>>> cmdline:
>>> -net tap,vlan=6,script=no,downscript=no,ifname=tap7 -net
>>> nic,vlan=6,model=e1000,macaddr=52:54:00:fe:00:88   -net
>>> tap,vlan=651,script=no,downscript=no,ifname=tap8 -net
>>> nic,vlan=651,model=e1000,macaddr=52:54:00:ff:00:69   -drive
>>> file=/dev/mapper/iqn.2001-05.com.equallogic:0-8a0906-b6eca7604-6280020bc4b4bde8-quagga,if=ide,boot=on,cache=none,aio=native
>>> -m 256 -monitor tcp:0:4090,server,nowait -vnc :90 -name 'Quagga' -boot
>>> order=dc,menu=on  -k de  -incoming tcp:172.21.59.132:5090 -pidfile
>>> /var/run/qemu/vm-148.pid  -rtc base=utc,clock=vm  -usb -usbdevice
>>> tablet  -no-kvm-irqchip  -vga cirrus
>>>
>>> Any hints would be appreciated!
>>>      
>> Can you try reverting this patch?
>>
>> commit 3fa017e24b0a0f0e68619a689b9b02fe486dae9e
>> Author: Marcelo Tosatti<mtosatti@redhat.com>
>> Date:   Thu Feb 11 18:19:44 2010 -0200
>>
>>      ide save/restore pio/atapi cmd transfer fields and io buffer
>>
>> and told me if it works?
>>
>>    
>
> Any idea why it fails?  And how to fix it?

Lack of "proper" subsections.  IDE is something like:

const VMStateDescription vmstate_ide_drive = {
    .version_id = 4,
....
}

static const VMStateDescription vmstate_bmdma = {
    .name = "ide bmdma",
    .version_id = 4,
...
}

const VMStateDescription vmstate_ide_pci = {
    .name = "ide",
    .version_id = 4,
....
        VMSTATE_STRUCT_ARRAY(bmdma, PCIIDEState, 2, 0,
                     vmstate_bmdma, BMDMAState),
        VMSTATE_IDE_DRIVES(bus[0].ifs, PCIIDEState),
        VMSTATE_IDE_DRIVES(bus[1].ifs, PCIIDEState),
....
}


Notice that everything is at version 4.  It used to be everything at
version 3.  Now the problem is that when migrating from v3 -> v4.  We
put in one place v3, But we only have a version number at the toplevel,
rest of "subsections" don't sent a version number.  There is no way to
fix it in the general case.  We can hack something around for ide, but
that will just be a hack, or we can backport marcelo change and port it
as a proper subsection (that is my plan).  I expect to have time at the
end of next time to work on this.

So, to make the story short: I know what is happening, and I know how to
fix it, just that fix is not trivial.  I just need time.

Later, Juan.

WARNING: multiple messages have this Message-ID (diff)
From: Juan Quintela <quintela@redhat.com>
To: Avi Kivity <avi@redhat.com>
Cc: Peter Lieven <pl@dlh.net>, qemu-devel@nongnu.org, kvm@vger.kernel.org
Subject: [Qemu-devel] Re: Qemu-KVM Livate Migration 0.12.2 -> 0.12.3/4 broken?
Date: Sun, 16 May 2010 16:42:24 +0200	[thread overview]
Message-ID: <m3iq6nc3hr.fsf@trasno.mitica> (raw)
In-Reply-To: <4BEFDEE1.5070906@redhat.com> (Avi Kivity's message of "Sun, 16 May 2010 15:02:41 +0300")

Avi Kivity <avi@redhat.com> wrote:
> On 05/12/2010 02:11 AM, Juan Quintela wrote:
>> Peter Lieven<pl@dlh.net>  wrote:
>>    
>>> Hi Qemu/KVM Devel Team,
>>>
>>> Live Migration from a 0.12.2 qemu-kvm to a 0.12.3 (and 0.12.4)
>>> does not work: "load of migration failed"
>>>
>>> Is there any way to find out, why exactly it fails? I have
>>> a lot of VMs running on 0.12.2 and would like to migrate
>>> them to 0.12.4
>>>
>>> cmdline:
>>> -net tap,vlan=6,script=no,downscript=no,ifname=tap7 -net
>>> nic,vlan=6,model=e1000,macaddr=52:54:00:fe:00:88   -net
>>> tap,vlan=651,script=no,downscript=no,ifname=tap8 -net
>>> nic,vlan=651,model=e1000,macaddr=52:54:00:ff:00:69   -drive
>>> file=/dev/mapper/iqn.2001-05.com.equallogic:0-8a0906-b6eca7604-6280020bc4b4bde8-quagga,if=ide,boot=on,cache=none,aio=native
>>> -m 256 -monitor tcp:0:4090,server,nowait -vnc :90 -name 'Quagga' -boot
>>> order=dc,menu=on  -k de  -incoming tcp:172.21.59.132:5090 -pidfile
>>> /var/run/qemu/vm-148.pid  -rtc base=utc,clock=vm  -usb -usbdevice
>>> tablet  -no-kvm-irqchip  -vga cirrus
>>>
>>> Any hints would be appreciated!
>>>      
>> Can you try reverting this patch?
>>
>> commit 3fa017e24b0a0f0e68619a689b9b02fe486dae9e
>> Author: Marcelo Tosatti<mtosatti@redhat.com>
>> Date:   Thu Feb 11 18:19:44 2010 -0200
>>
>>      ide save/restore pio/atapi cmd transfer fields and io buffer
>>
>> and told me if it works?
>>
>>    
>
> Any idea why it fails?  And how to fix it?

Lack of "proper" subsections.  IDE is something like:

const VMStateDescription vmstate_ide_drive = {
    .version_id = 4,
....
}

static const VMStateDescription vmstate_bmdma = {
    .name = "ide bmdma",
    .version_id = 4,
...
}

const VMStateDescription vmstate_ide_pci = {
    .name = "ide",
    .version_id = 4,
....
        VMSTATE_STRUCT_ARRAY(bmdma, PCIIDEState, 2, 0,
                     vmstate_bmdma, BMDMAState),
        VMSTATE_IDE_DRIVES(bus[0].ifs, PCIIDEState),
        VMSTATE_IDE_DRIVES(bus[1].ifs, PCIIDEState),
....
}


Notice that everything is at version 4.  It used to be everything at
version 3.  Now the problem is that when migrating from v3 -> v4.  We
put in one place v3, But we only have a version number at the toplevel,
rest of "subsections" don't sent a version number.  There is no way to
fix it in the general case.  We can hack something around for ide, but
that will just be a hack, or we can backport marcelo change and port it
as a proper subsection (that is my plan).  I expect to have time at the
end of next time to work on this.

So, to make the story short: I know what is happening, and I know how to
fix it, just that fix is not trivial.  I just need time.

Later, Juan.

  reply	other threads:[~2010-05-16 14:42 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-11 10:59 Qemu-KVM Livate Migration 0.12.2 -> 0.12.3/4 broken? Peter Lieven
2010-05-11 10:59 ` [Qemu-devel] " Peter Lieven
2010-05-11 23:11 ` Juan Quintela
2010-05-11 23:11   ` [Qemu-devel] " Juan Quintela
2010-05-12 13:42   ` Peter Lieven
2010-05-16 12:02   ` Avi Kivity
2010-05-16 12:02     ` [Qemu-devel] " Avi Kivity
2010-05-16 14:42     ` Juan Quintela [this message]
2010-05-16 14:42       ` Juan Quintela
2010-05-16 14:47       ` Avi Kivity
2010-05-16 14:47         ` [Qemu-devel] " Avi Kivity
2010-05-16 20:04         ` Juan Quintela
2010-05-16 20:04           ` [Qemu-devel] " Juan Quintela
2010-05-17  7:00           ` Avi Kivity
2010-05-17  7:00             ` [Qemu-devel] " Avi Kivity
2010-05-17  8:23             ` Michael Tokarev
2010-05-17  8:23               ` [Qemu-devel] " Michael Tokarev
2010-05-17  9:07               ` Juan Quintela
2010-05-17  9:07                 ` [Qemu-devel] " Juan Quintela
2010-05-17  9:11                 ` Michael Tokarev
2010-05-17  9:11                   ` [Qemu-devel] " Michael Tokarev
2010-05-17  9:38                   ` Alexander Graf
2010-05-17  9:38                     ` Alexander Graf
2010-05-16 18:03       ` Jan Kiszka
2010-05-16 18:03         ` [Qemu-devel] " Jan Kiszka
2010-05-16 20:06         ` Juan Quintela
2010-05-16 20:06           ` [Qemu-devel] " Juan Quintela
2010-05-17 10:35           ` Jan Kiszka
2010-05-17 10:35             ` [Qemu-devel] " Jan Kiszka
2010-06-08  9:54             ` Peter Lieven
2010-06-08  9:54               ` Peter Lieven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m3iq6nc3hr.fsf@trasno.mitica \
    --to=quintela@redhat.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=pl@dlh.net \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.