[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/4] virtio: modify savevm to have a stable wire
From: |
Rusty Russell |
Subject: |
Re: [Qemu-devel] [PATCH 3/4] virtio: modify savevm to have a stable wire format |
Date: |
Fri, 14 Dec 2012 11:27:02 +1030 |
User-agent: |
Notmuch/0.14 (http://notmuchmail.org) Emacs/23.4.1 (i686-pc-linux-gnu) |
Anthony Liguori <address@hidden> writes:
> Rusty Russell <address@hidden> writes:
>
>> Anthony Liguori <address@hidden> writes:
>>> We were memcpy()'ing a structure to the wire :-/ Since savevm really
>>> only works on x86 today, lets just declare that this element is sent
>>> over the wire as a little endian value in order to fix the bitness.
>>>
>>> Unfortunately, we also send raw pointers and size_t which are going
>>> to be different values on a 32-bit vs. 64-bit QEMU so we need to also
>>> deal with that case.
>>>
>>> A lot of values that should have been previously ignored are now sent
>>> as 0 and ignored on the receive side too.
>>
>> Don't we want to transition to vmstate anyway? Can we just do that, and
>> relegate the existing slightly broken code, to legacy?
>
> What worries me is if someone changes VirtQueueElement, then all the
> sudden migration breaks. By transitioning to what I've sent, we at
> least have a better documented protocol that isn't prone to subtle
> breakage anymore. Plus, we resolve the endian issue before it becomes a
> bigger problem when David actually gets live migration working reliably
> on PPC...
My transition was to copy that structure to VirtQueueSavedElement, and
it's only used for loading old versions.
With the new code we only need the head from that structure.
> I'm certainly in favor of cleaning up the savevm format and probably
> leaving the existing load/save functions as-is for legacy purposes.
> I'll leave that as an exercise for someone else though :-)
What is the rule about new versions? Can we introduce a new save
version at any time, or only at major qemu version changes?
Thanks,
Rusty.
[Qemu-devel] [PATCH 2/4] virtio: add wrapper for saving/restoring virtqueue elements, Anthony Liguori, 2012/12/10
[Qemu-devel] [PATCH 1/4] savevm: introduce little endian variants of savevm routines, Anthony Liguori, 2012/12/10
[Qemu-devel] [PATCH 4/4] virtio: bump migration version number, Anthony Liguori, 2012/12/10
Re: [Qemu-devel] [RFC 0/4] virtio: stabilize migration format, Stefan Hajnoczi, 2012/12/11