All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Alex Bligh <alex@alex.org.uk>
Cc: "Ryan Harper" <ryan.harper@canonical.com>,
	"Serge Hallyn" <serge.hallyn@canonical.com>,
	"quintela@redhat.com" <quintela@redhat.com>,
	Libvirt <libvir-list@redhat.com>,
	"Serge Hallyn" <serge.hallyn@ubuntu.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"Alexander Graf" <agraf@suse.de>,
	"Cole Robinson" <crobinso@redhat.com>,
	"Amit Shah" <amit.shah@redhat.com>,
	"Bruce Rogers" <brogers@suse.com>,
	"Andreas Färber" <afaerber@suse.de>,
	"Serge E. Hallyn" <serge@hallyn.com>
Subject: Re: [Qemu-devel] [PATCH v2 0/2] Add machine type pc-1.0-qemu-kvm for live migrate compatibility with qemu-kvm
Date: Mon, 4 Aug 2014 18:22:27 +0200	[thread overview]
Message-ID: <20140804162227.GB22228@redhat.com> (raw)
In-Reply-To: <580B1DF4-E09D-4F34-9D3F-E74374CF0D93@alex.org.uk>

On Mon, Aug 04, 2014 at 05:11:11PM +0100, Alex Bligh wrote:
> Michael,
> 
> On 4 Aug 2014, at 15:26, Michael S. Tsirkin <mst@redhat.com> wrote:
> 
> >> 
> >> Unless I'm missing what you are saying?
> > 
> > I think you are: check how vmstate_test_use_acpi_pci_hotplug
> > and vmstate_test_no_use_acpi_pci_hotplug are used
> > in vmstate_acpi.
> 
> I /think/ you are talking about using the VMSTATE_FOO_TEST
> macros.

These use field_exists internally.

> These are capable of modifying fields within the
> VMStateDescription of the relevant object.
> 
> However, the PIIX4 change modifies the minimum_version_id
> (outside fields); I don't quite see how that would work.
> Can you help here?

If you want to support lower version IDs,
you can just decrease minimum_version_id.

field_exists gets the version ID so you can
parse different fields depending on the
version.


> The i8254 change modifies a field which is marked with
> a minimum version to be a field with no versioning; I
> guess the route there would be a test function that
> (somehow) accesses the version of the inbound migration
> inside it,

Yes, field_exists gets the version value so no problem here.

> does the comparison manually, and returns
> 1 if EITHER the inbound version >=3 or the compatibility
> thing is set.
> 
> Is that what you meant?

I think so, yes.

> I'm rather new to this so
> you may have to lead me a little - apologies.
> 
> I was trying to produce code which would be 'obviously
> correct' in the sense of not breaking the existing pc-1.0
> migrations; if playing around with the existing vmstate
> fields is permissible then clearly I have a few more
> degrees of freedom.

Yes I think is should be simple but not to the
exclusion of maintainability.

> I did try modifying the objects live after the command
> line has been parsed; this doesn't work because the
> QOM inheritance memcpy's the structs for classes derived
> from i8254 etc.

Right, just add a new flag for this thing.

> -- 
> Alex Bligh
> 
> 
> 

  reply	other threads:[~2014-08-04 16:22 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-01 19:12 [Qemu-devel] [PATCH v2 0/2] Add machine type pc-1.0-qemu-kvm for live migrate compatibility with qemu-kvm Alex Bligh
2014-08-01 19:12 ` [Qemu-devel] [PATCH v2 1/2] " Alex Bligh
2014-08-01 19:12 ` [Qemu-devel] [PATCH v2 2/2] Add configure option --enable-pc-1-0-qemu-kvm Alex Bligh
2014-08-04 13:35   ` Michael S. Tsirkin
2014-08-04 13:31 ` [Qemu-devel] [PATCH v2 0/2] Add machine type pc-1.0-qemu-kvm for live migrate compatibility with qemu-kvm Michael S. Tsirkin
2014-08-04 13:51   ` Alex Bligh
2014-08-04 14:26     ` Michael S. Tsirkin
2014-08-04 16:11       ` Alex Bligh
2014-08-04 16:22         ` Michael S. Tsirkin [this message]
2014-08-04 16:46           ` Alex Bligh
2014-08-04 16:59             ` Michael S. Tsirkin
2014-08-04 17:08               ` Alex Bligh
2014-08-04 17:16                 ` Michael S. Tsirkin
2014-08-04 15:07 ` Serge Hallyn
2014-08-07  2:50 ` Serge Hallyn
2014-08-07  5:58   ` Alex Bligh
2014-08-07 12:56     ` Serge E. Hallyn
2014-08-07 19:26     ` Serge E. Hallyn
2014-08-08  7:23       ` Alex Bligh
2014-08-08 20:28         ` Serge E. Hallyn

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=20140804162227.GB22228@redhat.com \
    --to=mst@redhat.com \
    --cc=afaerber@suse.de \
    --cc=agraf@suse.de \
    --cc=alex@alex.org.uk \
    --cc=amit.shah@redhat.com \
    --cc=brogers@suse.com \
    --cc=crobinso@redhat.com \
    --cc=libvir-list@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=ryan.harper@canonical.com \
    --cc=serge.hallyn@canonical.com \
    --cc=serge.hallyn@ubuntu.com \
    --cc=serge@hallyn.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.