From: "Andreas Färber" <afaerber@suse.de>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
qemu-devel@nongnu.org, Anthony Liguori <anthony@codemonkey.ws>
Subject: Re: [Qemu-devel] [PATCH] usb/vmstate: add parent dev path
Date: Thu, 22 Mar 2012 15:01:12 +0100 [thread overview]
Message-ID: <4F6B30A8.6060903@suse.de> (raw)
In-Reply-To: <1332418064-23091-1-git-send-email-kraxel@redhat.com>
Am 22.03.2012 13:07, schrieb Gerd Hoffmann:
> ... to make vmstate id string truely unique with multiple host
> controllers, i.e. move from "1/usb-ptr" to "0000:00:01.3/1/usb-ptr"
> (usb tabled connected to piix3 uhci).
>
> This obviously breaks migration. To handle this the usb bus
> property "full-path" is added. When setting this to false old
> behavior is maintained. This way current qemu will be compatible
> with old versions when started using '-M pc-$oldversion'.
>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
> hw/pc_piix.c | 28 ++++++++++++++++++++++++++++
> hw/usb.h | 5 +++++
> hw/usb/bus.c | 18 +++++++++++++++++-
> 3 files changed, 50 insertions(+), 1 deletions(-)
>
> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
> index 3f99f9a..8cb7d5f 100644
> --- a/hw/pc_piix.c
> +++ b/hw/pc_piix.c
> @@ -386,6 +386,10 @@ static QEMUMachine pc_machine_v1_0 = {
> .driver = "isa-fdc",
> .property = "check_media_rate",
> .value = "off",
> + },{
> + .driver = "USB",
> + .property = "full-path",
> + .value = "no",
This touches on our "favorite" bit/bool topic again. While I agree that
"no" makes sense for a property of that name, the current code still
expects "on" and "off". In particular, "yes" would not work as expected.
We should either merge support for yes/no or use "off" here.
I had a patch for the former but didn't resubmit after the QOM merge
since I thought we would want to move this from qdev to Object first.
Andreas
> },
> { /* end of list */ }
> },
> @@ -405,6 +409,10 @@ static QEMUMachine pc_machine_v0_15 = {
> .driver = "isa-fdc",
> .property = "check_media_rate",
> .value = "off",
> + },{
> + .driver = "USB",
> + .property = "full-path",
> + .value = "no",
> },
> { /* end of list */ }
> },
> @@ -449,6 +457,10 @@ static QEMUMachine pc_machine_v0_14 = {
> .driver = "pc-sysfw",
> .property = "rom_only",
> .value = stringify(1),
> + },{
> + .driver = "USB",
> + .property = "full-path",
> + .value = "no",
> },
> { /* end of list */ }
> },
> @@ -505,6 +517,10 @@ static QEMUMachine pc_machine_v0_13 = {
> .driver = "pc-sysfw",
> .property = "rom_only",
> .value = stringify(1),
> + },{
> + .driver = "USB",
> + .property = "full-path",
> + .value = "no",
> },
> { /* end of list */ }
> },
> @@ -565,6 +581,10 @@ static QEMUMachine pc_machine_v0_12 = {
> .driver = "pc-sysfw",
> .property = "rom_only",
> .value = stringify(1),
> + },{
> + .driver = "USB",
> + .property = "full-path",
> + .value = "no",
> },
> { /* end of list */ }
> }
> @@ -633,6 +653,10 @@ static QEMUMachine pc_machine_v0_11 = {
> .driver = "pc-sysfw",
> .property = "rom_only",
> .value = stringify(1),
> + },{
> + .driver = "USB",
> + .property = "full-path",
> + .value = "no",
> },
> { /* end of list */ }
> }
> @@ -713,6 +737,10 @@ static QEMUMachine pc_machine_v0_10 = {
> .driver = "pc-sysfw",
> .property = "rom_only",
> .value = stringify(1),
> + },{
> + .driver = "USB",
> + .property = "full-path",
> + .value = "no",
> },
> { /* end of list */ }
> },
> diff --git a/hw/usb/bus.c b/hw/usb/bus.c
> index d3f8358..f1e567b 100644
> --- a/hw/usb/bus.c
> +++ b/hw/usb/bus.c
> @@ -19,6 +19,8 @@ static struct BusInfo usb_bus_info = {
> .get_fw_dev_path = usb_get_fw_dev_path,
> .props = (Property[]) {
> DEFINE_PROP_STRING("port", USBDevice, port_path),
> + DEFINE_PROP_BIT("full-path", USBDevice, flags,
> + USB_DEV_FLAG_FULL_PATH, true),
> DEFINE_PROP_END_OF_LIST()
> },
> };
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
next prev parent reply other threads:[~2012-03-22 14:01 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-22 12:07 [Qemu-devel] [PATCH] usb/vmstate: add parent dev path Gerd Hoffmann
2012-03-22 12:17 ` Paolo Bonzini
2012-03-22 14:01 ` Andreas Färber [this message]
2012-03-22 14:37 ` Gerd Hoffmann
2012-03-22 15:12 ` Andreas Färber
2012-03-28 22:08 ` Michael Roth
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=4F6B30A8.6060903@suse.de \
--to=afaerber@suse.de \
--cc=anthony@codemonkey.ws \
--cc=kraxel@redhat.com \
--cc=pbonzini@redhat.com \
--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.