qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Amit Shah <amit.shah@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Juan Quintela <quintela@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] scsi: esp: fix migration
Date: Mon, 27 Jun 2016 12:50:50 +0530	[thread overview]
Message-ID: <20160627072050.GD1389@grmbl.mre> (raw)
In-Reply-To: <1466433206-29241-1-git-send-email-pbonzini@redhat.com>

On (Mon) 20 Jun 2016 [16:33:26], Paolo Bonzini wrote:
> Commit 926cde5 ("scsi: esp: make cmdbuf big enough for maximum CDB size",
> 2016-06-16) changed the size of a migrated field.  Split it in two
> parts, and only migrate the second part in a new vmstate version.

With this patch, the static checker fails in this way:

Section "esp", Description "esp": expected field "cmdlen", got "cmdbuf"; skipping rest
Section "dc390", Description "esp": expected field "cmdlen", got "cmdbuf"; skipping rest
Section "am53c974", Description "esp": expected field "cmdlen", got "cmdbuf"; skipping rest

Note it doesn't complain about the version numbers.  That's because:

>  const VMStateDescription vmstate_esp = {
>      .name ="esp",
> -    .version_id = 3,
> +    .version_id = 4,
>      .minimum_version_id = 3,

this suggests older versions can still be accepted for incoming
migration, which isn't true.  So we'll have to bump this field up too.

I tried that, and this is how the checker fails with
minimum_version_id bumped:

Section "esp" Description "esp": minimum version error: 3 < 4
Section "esp", Description "esp": expected field "cmdlen", got "cmdbuf"; skipping rest
Section "dc390" Description "esp": minimum version error: 3 < 4
Section "dc390", Description "esp": expected field "cmdlen", got "cmdbuf"; skipping rest
Section "am53c974" Description "esp": minimum version error: 3 < 4
Section "am53c974", Description "esp": expected field "cmdlen", got "cmdbuf"; skipping rest

We're at a point where we can't accept an older migration stream for
this device, right?  At least that's what the version bump indicates.

One workaround would be to mark the current cmdbuf as unused, and push
the new one into a subsection.  That way we can keep incoming
migrations working, but given esp migrations never worked with the
partial state earlier, we'd not be any worse-off.


		Amit

  reply	other threads:[~2016-06-27  7:21 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-20 14:33 [Qemu-devel] [PATCH] scsi: esp: fix migration Paolo Bonzini
2016-06-27  7:20 ` Amit Shah [this message]
2016-06-27  7:54   ` Paolo Bonzini
2016-06-29 12:00     ` Juan Quintela
2016-07-08 10:21       ` Amit Shah
2016-07-08 10:59         ` Paolo Bonzini
2016-07-08 10:19     ` Amit Shah

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=20160627072050.GD1389@grmbl.mre \
    --to=amit.shah@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=pbonzini@redhat.com \
    --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 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).