From: Halil Pasic <pasic@linux.vnet.ibm.com>
To: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>,
Juan Quintela <quintela@redhat.com>,
qemu-devel@nongnu.org, qemu-stable@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 1/1] s390x/css: catch section mismatch on load
Date: Fri, 12 May 2017 13:28:19 +0200 [thread overview]
Message-ID: <68b56ac2-6169-8bae-ac97-a33e3aaa940f@linux.vnet.ibm.com> (raw)
In-Reply-To: <20170511130210.2c24d9de.cornelia.huck@de.ibm.com>
On 05/11/2017 01:02 PM, Cornelia Huck wrote:
> On Wed, 10 May 2017 17:12:09 +0200
> Halil Pasic <pasic@linux.vnet.ibm.com> wrote:
>
>> Prior to the virtio-ccw-2.7 machine (and commit 2a79eb1a), our virtio
>> devices residing under the virtual-css bus do not have qdev_path based
>> migration stream identifiers (because their qdev_path is NULL). The ids
>> are instead generated when the device is registered as a composition of
>> the so called idstr, which takes the vmsd name as its value, and an
>> instance_id, which is which is calculated as a maximal instance_id
>> registered with the same idstr plus one, or zero (if none was registered
>> previously).
>>
[..]
>> diff --git a/hw/s390x/css.c b/hw/s390x/css.c
>> index 15c4f4b..6cff3a3 100644
>> --- a/hw/s390x/css.c
>> +++ b/hw/s390x/css.c
[..]
>> + /* Only possible if machine < 2.7 (no css_dev_path) */
>> +
>> + error_setg(&err, "%x != %x", old_devno, s->devno);
>> + error_append_hint(&err, "Devno mismatch, tried to load wrong section!"
>> + " Likely reason: some sequences of plug and unplug"
>> + " can break migration for machine versions prior"
>
> s/prior/prior to/
Fixed. Thanks! Will wait a couple of days, maybe somebody has something
else to say, and then re-spin.
Regards,
Halil
>
>> + " 2.7 (known design flaw).\n");
>> + error_report_err(err);
>> + return -EINVAL;
>> + }
>> /* Re-assign subch. */
>> if (old_schid != s->schid) {
>> old_s = channel_subsys.css[s->cssid]->sch_set[s->ssid]->sch[old_schid];
>> diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
>> index e7167e3..4f7efa2 100644
>> --- a/hw/s390x/virtio-ccw.c
>> +++ b/hw/s390x/virtio-ccw.c
>> @@ -1274,9 +1274,13 @@ static int virtio_ccw_load_config(DeviceState *d, QEMUFile *f)
>> SubchDev *s = ccw_dev->sch;
>> VirtIODevice *vdev = virtio_ccw_get_vdev(s);
>> int len;
>> + int ret;
>>
>> s->driver_data = dev;
>> - subch_device_load(s, f);
>> + ret = subch_device_load(s, f);
>> + if (ret) {
>> + return ret;
>> + }
>> /* Re-fill subch_id after loading the subchannel states.*/
>> if (ck->refill_ids) {
>> ck->refill_ids(ccw_dev);
>
> Patch looks sane to me, but I second the question about how to handle
> this when using vmstates.
>
next prev parent reply other threads:[~2017-05-12 11:28 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-10 15:12 [Qemu-devel] [PATCH 1/1] s390x/css: catch section mismatch on load Halil Pasic
2017-05-11 11:02 ` Cornelia Huck
2017-05-12 11:28 ` Halil Pasic [this message]
2017-05-18 17:47 ` Dr. David Alan Gilbert
2017-05-19 11:37 ` Halil Pasic
2017-05-19 12:04 ` Dr. David Alan Gilbert
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=68b56ac2-6169-8bae-ac97-a33e3aaa940f@linux.vnet.ibm.com \
--to=pasic@linux.vnet.ibm.com \
--cc=bjsdjshi@linux.vnet.ibm.com \
--cc=cornelia.huck@de.ibm.com \
--cc=dgilbert@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-stable@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).