[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH v2 00/16] visitor+BER migration format
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [RFC PATCH v2 00/16] visitor+BER migration format |
Date: |
Wed, 23 Apr 2014 20:32:06 +0300 |
On Wed, Apr 23, 2014 at 06:16:23PM +0100, Dr. David Alan Gilbert wrote:
> * Eric Blake (address@hidden) wrote:
> > On 04/23/2014 10:37 AM, Dr. David Alan Gilbert (git) wrote:
> > > From: "Dr. David Alan Gilbert" <address@hidden>
> > >
> >
> > > 4) At the moment you select BER output format by setting an environment
> > > variable ( export QEMUMIGFORMAT=BER ) , I need to put more thought
> > > in to the right way to do this, there are some harder questions like
> > > what happens to devices that are still using pre-vmstate encodings
> > > (that are currently sent as blobs) when they eventually convert over
> > > and thus how to keep compatibility with earlier BER output versions
> > > where they were blobs.
> >
> > I don't have good advice on how to address intra-version design (what
> > happens when an old version of BER sends a blob but a new version on the
> > receiving side expects formatted data instead of a blob), other than
> > it's going to be similar to any other intra-version design that we
> > already have to consider when upgrading from old to new qemu.
> >
> > But for how to select BER format, I _do_ have an idea:
> >
> > https://lists.gnu.org/archive/html/qemu-devel/2014-04/msg00782.html
> >
> > Basically, I think that the choice of migration format should be
> > selected via a new extended capability added to
> > migrate-set-capabilities. Setting the choice at the environment
> > variable is too inflexible (it's locked down for the duration of the
> > entire qemu process), whereas setting it via QMP is desirable (for
> > example, it would let us choose at the time of migration whether we are
> > migrating to an older host and want the old format, or migrating to a
> > file for checkpointing reasons and want the new format).
>
> Yep, that would certainly be easy to do - and I can do that for
> the next version.
> It's more the intra-version I'm worried about, primarily because I don't
> want to have to wait until every device is vmstate'd before moving this
> code forward.
>
> The one thing that the environment variable does make nice and easy,
> for dev, is using it with existing test setups - e.g. running virt-test
> in BER mode or existing mode.
>
> Dave
>
How about tying this to a machine version for now?
This will let us switch devices to BER gradually over several version,
as long as we support parsing/generating old format with old -M machine
type.
The issue with versioning format via QMP is that really migration format
is only part of the compatibility problem. A bigger problem is
emulating a bug for bug compatible version of the device.
And that can't easily change without at least doing a VM reset.
> --
> Dr. David Alan Gilbert / address@hidden / Manchester, UK
- [Qemu-devel] [RFC PATCH v2 10/16] Visitor: Common types to use visitors, (continued)
- [Qemu-devel] [RFC PATCH v2 10/16] Visitor: Common types to use visitors, Dr. David Alan Gilbert (git), 2014/04/23
- [Qemu-devel] [RFC PATCH v2 11/16] BER Visitor: Create output visitor, Dr. David Alan Gilbert (git), 2014/04/23
- [Qemu-devel] [RFC PATCH v2 14/16] ASN.1 schema for new migration format, Dr. David Alan Gilbert (git), 2014/04/23
- [Qemu-devel] [RFC PATCH v2 13/16] Start some BER format docs, Dr. David Alan Gilbert (git), 2014/04/23
- [Qemu-devel] [RFC PATCH v2 16/16] Add vmstate_cpu_common BER type code and wire it in., Dr. David Alan Gilbert (git), 2014/04/23
- [Qemu-devel] [RFC PATCH v2 04/16] qemu-file: Add set/get tmp_visitor, Dr. David Alan Gilbert (git), 2014/04/23
- [Qemu-devel] [RFC PATCH v2 08/16] Visitor: Output path, Dr. David Alan Gilbert (git), 2014/04/23
- [Qemu-devel] [RFC PATCH v2 12/16] BER Visitor: Create input visitor, Dr. David Alan Gilbert (git), 2014/04/23
- Re: [Qemu-devel] [RFC PATCH v2 00/16] visitor+BER migration format, Eric Blake, 2014/04/23
- Re: [Qemu-devel] [RFC PATCH v2 00/16] visitor+BER migration format, Markus Armbruster, 2014/04/24
- Re: [Qemu-devel] [RFC PATCH v2 00/16] visitor+BER migration format, Dr. David Alan Gilbert, 2014/04/24
- Re: [Qemu-devel] [RFC PATCH v2 00/16] visitor+BER migration format, Michael S. Tsirkin, 2014/04/24
- Re: [Qemu-devel] [RFC PATCH v2 00/16] visitor+BER migration format, Markus Armbruster, 2014/04/25
- Re: [Qemu-devel] [RFC PATCH v2 00/16] visitor+BER migration format, Eric Blake, 2014/04/25
[Qemu-devel] [RFC PATCH v2 15/16] Wire in BER visitors, Dr. David Alan Gilbert (git), 2014/04/23