All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Avi Kivity <avi@redhat.com>
Cc: qemu-devel@nongnu.org,
	KVM devel mailing list <kvm@vger.kernel.org>,
	quintela@redhat.com
Subject: Re: [Qemu-devel] KVM call agenda for October 11th
Date: Tue, 11 Oct 2011 08:27:28 -0500	[thread overview]
Message-ID: <4E944440.1080109@codemonkey.ws> (raw)
In-Reply-To: <4E9442EC.8020903@redhat.com>

On 10/11/2011 08:21 AM, Avi Kivity wrote:
> On 10/11/2011 03:01 PM, Anthony Liguori wrote:
>> On 10/11/2011 06:48 AM, Avi Kivity wrote:
>>> On 10/10/2011 01:35 PM, Juan Quintela wrote:
>>>> Hi
>>>>
>>>> Please send in any agenda items you are interested in covering.
>>>>
>>>
>>> Subsections, version numbers, migration to older releases.
>>
>> Problem with subsections:
>>
>> The encoding of a subsection within an embedded structure is ambiguous
>> because the subsection occurs at the end of the structure.  QEMU may
>> mistakenly parse what follows the structure as the end of subsection
>> deliminator.
>>
>> Possible solutions:
>>
>> 1) Juan has a series that adds heuristics to better match the EOS
>> deliminator. While not 100% perfect, it should handle practically all
>> possible cases.
>>
>> The main issue is that it's not present in older QEMUs which means
>> migrating a subsection within a structure to an old QEMU that doesn't
>> have this heuristic could fail.
>>
>> Ways to mitigate: force all devices with subsections to bump their
>> version number.  Wave our hands around and claim that the new version
>> requires the subsection heuristics to be present.
>>
>> 2) Add Paolo's protocol change.  This will cause a migration flag
>> day.  Since we want to switch to ASN.1 too, we'll have another flag
>> day for the next release too.
>>
>> 3) Change subsection protocol more dramatically than Paolo's change
>> (make subsections stand alone sections).  Not clear how much effort
>> this is.
>>
>> 4) Avoid subsections until we introduce a new wire protocol based on
>> ASN.1 that can better handle concepts like subsections.  This misses
>> some opportunity for backwards compatibility in the short term but
>> avoids repeated flag days.
>>
>
> 5) Implement subsections through the wire as top-level sections (as
> originally intended).  Keep existing subsections with (1).

That was (3).

> btw, it's reasonable to require that backwards migration is only to a
> fully updated stable release, so we can do 5) too, or backport 1).

But given the choice of a nasty silent failure to an not-quite-up-to-date stable 
release or failing migration to a fully up-to-date stable release, I think it's 
better that we err on the side of caution.

Not being able to migrate because of a recoverable failure is annoying.  Having 
a silent failure that possible results in corruption is unacceptable.

Regards,

Anthony Liguori



  reply	other threads:[~2011-10-11 13:27 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-10 11:35 KVM call agenda for October 11th Juan Quintela
2011-10-10 11:35 ` [Qemu-devel] " Juan Quintela
2011-10-11 11:36 ` Paolo Bonzini
2011-10-11 11:36   ` [Qemu-devel] " Paolo Bonzini
2011-10-11 12:54   ` Anthony Liguori
2011-10-11 12:54     ` Anthony Liguori
2011-10-11 11:48 ` Avi Kivity
2011-10-11 11:48   ` [Qemu-devel] " Avi Kivity
2011-10-11 13:01   ` Anthony Liguori
2011-10-11 13:01     ` Anthony Liguori
2011-10-11 13:21     ` Avi Kivity
2011-10-11 13:21       ` Avi Kivity
2011-10-11 13:27       ` Anthony Liguori [this message]
2011-10-11 13:47         ` Avi Kivity
2011-10-11 13:57           ` Anthony Liguori
2011-10-11 14:01             ` Avi Kivity
2011-10-11 14:34               ` Anthony Liguori
2011-10-11 14:43                 ` Avi Kivity
2011-10-11 13:27   ` Juan Quintela
2011-10-11 13:27     ` [Qemu-devel] " Juan Quintela
2011-10-11 13:54     ` Anthony Liguori
2011-10-11 13:54       ` Anthony Liguori
2011-10-11 15:39       ` Stefan Berger
2011-10-11 15:39         ` [Qemu-devel] " Stefan Berger

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=4E944440.1080109@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --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 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.