All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com>,
	Igor Mitsyanko <i.mitsyanko@samsung.com>,
	Evgeny Voevodin <e.voevodin@samsung.com>,
	patches@linaro.org, Hu Tao <hutao@cn.fujitsu.com>,
	qemu-devel@nongnu.org,
	Jean-Christophe DUBOIS <jcd@tribudubois.net>,
	Peter Chubb <peter.chubb@nicta.com.au>,
	Dmitry Solodkiy <d.solodkiy@samsung.com>,
	Anthony Liguori <anthony@codemonkey.ws>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Maksim Kozlov <m.kozlov@samsung.com>,
	Gerd Hoffmann <kraxel@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] Avoid use of QOM type name macros in VMStateDescriptions
Date: Sun, 30 Jun 2013 09:20:26 +0200	[thread overview]
Message-ID: <51CFDC3A.5090509@suse.de> (raw)
In-Reply-To: <1372331024-3783-1-git-send-email-peter.maydell@linaro.org>

Am 27.06.2013 13:03, schrieb Peter Maydell:
> The name field in a VMStateDescription is part of the migration state
> versioning, so changing it will break migration.  It's therefore a
> bad idea to use a QOM typename macro to initialize it, because in
> general we're free to rename QOM types as part of code refactoring
> and cleanup.  For the handful of devices that were doing this by
> mistake, replace the QOM typenames with the corresponding literal
> strings.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> As per recent discussion. There are also a few devices which use
> the typename in memory_region_init_io(). Since that is suboptimal
> but not a problem in the way that possible migration breaks would
> be, I haven't fixed those since they'd just clash with Paolo's
> memory-region-owner patches.
> 
> The one I didn't touch was hw/usb/host-linux.c, since that changes
> the QOM typename and the VMStateDescription name depending on
> whether QEMU was built with CONFIG_USB_LIBUSB defined or not.
> That seems a bit fishy to me but I've left it alone.
> 
>  hw/i2c/exynos4210_i2c.c       |    2 +-
>  hw/scsi/vmw_pvscsi.c          |    2 +-
>  hw/timer/imx_epit.c           |    2 +-
>  hw/timer/imx_gpt.c            |    2 +-
>  hw/usb/ccid-card-passthru.c   |    2 +-
>  hw/usb/dev-smartcard-reader.c |    2 +-
>  6 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/hw/i2c/exynos4210_i2c.c b/hw/i2c/exynos4210_i2c.c
> index 196f889..a75abef 100644
> --- a/hw/i2c/exynos4210_i2c.c
> +++ b/hw/i2c/exynos4210_i2c.c
> @@ -271,7 +271,7 @@ static const MemoryRegionOps exynos4210_i2c_ops = {
>  };
>  
>  static const VMStateDescription exynos4210_i2c_vmstate = {
> -    .name = TYPE_EXYNOS4_I2C,
> +    .name = "exynos4210.i2c",
>      .version_id = 1,
>      .minimum_version_id = 1,
>      .fields = (VMStateField[]) {
> diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c
> index 7cf4044..f2f0c00 100644
> --- a/hw/scsi/vmw_pvscsi.c
> +++ b/hw/scsi/vmw_pvscsi.c
> @@ -1136,7 +1136,7 @@ pvscsi_post_load(void *opaque, int version_id)
>  }
>  
>  static const VMStateDescription vmstate_pvscsi = {
> -    .name = TYPE_PVSCSI,
> +    .name = "pvscsi",
>      .version_id = 0,
>      .minimum_version_id = 0,
>      .minimum_version_id_old = 0,

Apparently someone confused TypeInfo and VMStateDescription here, the
TypeInfo .name is by contrast not using the constant - fixing up.

Rest is verified to match constants.

Applied to my new qom-next staging tree:
https://github.com/afaerber/qemu-cpu/commits/qom-next

Andreas

> diff --git a/hw/timer/imx_epit.c b/hw/timer/imx_epit.c
> index 7cdb006..8cefd74a 100644
> --- a/hw/timer/imx_epit.c
> +++ b/hw/timer/imx_epit.c
> @@ -370,7 +370,7 @@ static const MemoryRegionOps imx_epit_ops = {
>  };
>  
>  static const VMStateDescription vmstate_imx_timer_epit = {
> -    .name = TYPE_IMX_EPIT,
> +    .name = "imx.epit",
>      .version_id = 2,
>      .minimum_version_id = 2,
>      .minimum_version_id_old = 2,
> diff --git a/hw/timer/imx_gpt.c b/hw/timer/imx_gpt.c
> index de53b13..eebd2b7 100644
> --- a/hw/timer/imx_gpt.c
> +++ b/hw/timer/imx_gpt.c
> @@ -142,7 +142,7 @@ typedef struct {
>  } IMXGPTState;
>  
>  static const VMStateDescription vmstate_imx_timer_gpt = {
> -    .name = TYPE_IMX_GPT,
> +    .name = "imx.gpt",
>      .version_id = 3,
>      .minimum_version_id = 3,
>      .minimum_version_id_old = 3,
> diff --git a/hw/usb/ccid-card-passthru.c b/hw/usb/ccid-card-passthru.c
> index 01c7e6f..5f01ff1 100644
> --- a/hw/usb/ccid-card-passthru.c
> +++ b/hw/usb/ccid-card-passthru.c
> @@ -364,7 +364,7 @@ static int passthru_exitfn(CCIDCardState *base)
>  }
>  
>  static VMStateDescription passthru_vmstate = {
> -    .name = PASSTHRU_DEV_NAME,
> +    .name = "ccid-card-passthru",
>      .version_id = 1,
>      .minimum_version_id = 1,
>      .fields = (VMStateField[]) {
> diff --git a/hw/usb/dev-smartcard-reader.c b/hw/usb/dev-smartcard-reader.c
> index 125cc2c..b33eb25 100644
> --- a/hw/usb/dev-smartcard-reader.c
> +++ b/hw/usb/dev-smartcard-reader.c
> @@ -1397,7 +1397,7 @@ static VMStateDescription usb_device_vmstate = {
>  };
>  
>  static VMStateDescription ccid_vmstate = {
> -    .name = CCID_DEV_NAME,
> +    .name = "usb-ccid",
>      .version_id = 1,
>      .minimum_version_id = 1,
>      .post_load = ccid_post_load,
> 


-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

      parent reply	other threads:[~2013-06-30  7:20 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-27 11:03 [Qemu-devel] [PATCH] Avoid use of QOM type name macros in VMStateDescriptions Peter Maydell
2013-06-27 11:41 ` Gerd Hoffmann
2013-06-30  7:20 ` Andreas Färber [this message]

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=51CFDC3A.5090509@suse.de \
    --to=afaerber@suse.de \
    --cc=anthony@codemonkey.ws \
    --cc=d.solodkiy@samsung.com \
    --cc=e.voevodin@samsung.com \
    --cc=hutao@cn.fujitsu.com \
    --cc=i.mitsyanko@samsung.com \
    --cc=jcd@tribudubois.net \
    --cc=kraxel@redhat.com \
    --cc=m.kozlov@samsung.com \
    --cc=patches@linaro.org \
    --cc=pbonzini@redhat.com \
    --cc=peter.chubb@nicta.com.au \
    --cc=peter.crosthwaite@xilinx.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /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.