From: Anthony Liguori <anthony@codemonkey.ws>
To: Markus Armbruster <armbru@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
qemu-devel@nongnu.org, Juan Quintela <quintela@redhat.com>
Subject: Re: [Qemu-devel] The State of the SaveVM format
Date: Wed, 09 Sep 2009 21:02:07 -0500 [thread overview]
Message-ID: <4AA85E1F.6000902@codemonkey.ws> (raw)
In-Reply-To: <87my53lhd1.fsf@pike.pond.sub.org>
Markus Armbruster wrote:
> Anthony Liguori <anthony@codemonkey.ws> writes:
>
>> VMSTATE_PCI_DEVICE(dev, PCII440FXState),
>> VMSTATE_UINT8(smm_enabled, PCII440FXState),
>> VMSTATE_FUNC_V(irq_state->piix3->pci_irq_levels,
>> PCII440FXState, marshal_pci_irq_levels, 2)
>>
>> This avoids bit rot of the old load functions and makes the whole
>> thing more robust. My contention is that there simply isn't a lot of
>> these special cases so it's not a lot more work overall.
>>
> [...]
>
> Bitrot is only an issue if we keep supporting the old formats for much
> longer.
>
> I'd like to challenge the idea that we need to drag along the old
> formats for an indefinite period of time. Is the restriction that to
> upgrade from version N to version M, you have to go through version N+1
> really so onerous?
>
Honestly, this is a really hard one for me. On the one hand, migration
compatibility is a very important feature for users. I think we ought
to try our best to support it.
But it's certainly not lost on me that this is going to be very
difficult if not impossible to achieve in practice. I'd like us to give
it the best shot we can. I don't like the idea of admitting defeat from
the start and not even attempting to provide backwards compatibility.
> A couple of releases down the road, the pre-vmstate formats will be
> ancient history.
It's been shipped for RHEL5.4. As is true for any enterprise distro,
that means it will remain important to me for quite some time :-)
> If we complicate vmstate now to shoehorn pre-vmstate
> formats into vmstate, that ancient history will continue to haunt us.
> Complicating a program is far easier than the other direction.
>
Let's take it one step at a time. There is an awful lot of areas where
we can support older versions without adding complications. Let's
approach the complicated ones one at a time.
> Moreover, I'm rather wary of efforts to replace working code (the
> existing load functions) by new code that is supposed to do precisely
> the same. It means replacing the devil I know by some untested devil I
> don't know.
>
Understood, but what concerns me is that the old code path goes from
being partially tested all of the time to being never tested in the
common case.
The other big concern I have is that I would really like to eliminate
QEMUFile as it's a rather hideous abstraction. The advantage of
converting old load functions to vmstate is that it makes it an awful
lot easier to get rid of QEMUFile.
Regards,
Anthony Liguori
next prev parent reply other threads:[~2009-09-10 2:02 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-09 8:47 [Qemu-devel] The State of the SaveVM format Juan Quintela
2009-09-09 8:54 ` [Qemu-devel] " Michael S. Tsirkin
2009-09-09 9:22 ` Juan Quintela
2009-09-09 9:33 ` Michael S. Tsirkin
2009-09-09 9:01 ` Michael S. Tsirkin
2009-09-09 9:26 ` Juan Quintela
2009-09-09 12:00 ` Michael S. Tsirkin
2009-09-09 14:33 ` [Qemu-devel] " Gerd Hoffmann
2009-09-09 14:41 ` Anthony Liguori
2009-09-09 14:49 ` [Qemu-devel] " Juan Quintela
2009-09-09 14:57 ` Anthony Liguori
2009-09-09 15:22 ` [Qemu-devel] " Gerd Hoffmann
2009-09-09 15:46 ` Anthony Liguori
2009-09-09 15:47 ` Anthony Liguori
2009-09-10 1:10 ` Markus Armbruster
2009-09-10 1:26 ` Markus Armbruster
2009-09-10 2:02 ` Anthony Liguori [this message]
2009-09-10 12:08 ` Michael S. Tsirkin
2009-09-10 12:55 ` [Qemu-devel] " Juan Quintela
2009-09-10 13:07 ` Michael S. Tsirkin
2009-09-10 13:26 ` Juan Quintela
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=4AA85E1F.6000902@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=armbru@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).