From: "Michael S. Tsirkin" <mst@redhat.com>
To: marcandre.lureau@redhat.com
Cc: qemu-devel@nongnu.org, Peter Xu <peterx@redhat.com>,
Samuel Thibault <samuel.thibault@ens-lyon.org>,
Kevin Wolf <kwolf@redhat.com>,
Juan Quintela <quintela@redhat.com>,
Fabiano Rosas <farosas@suse.de>,
Leonardo Bras <leobras@redhat.com>,
qemu-block@nongnu.org, Hanna Reitz <hreitz@redhat.com>,
Jason Wang <jasowang@redhat.com>, John Snow <jsnow@redhat.com>
Subject: Re: [PATCH v3 0/6] migration: check required entries and sections are loaded
Date: Mon, 25 Dec 2023 10:56:14 -0500 [thread overview]
Message-ID: <20231225105554-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20231106113601.2052601-1-marcandre.lureau@redhat.com>
On Mon, Nov 06, 2023 at 03:35:54PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> Hi,
>
> Surprisingly, the migration code doesn't check that required migration entries
> and subsections are loaded. Either optional or required sections are both
> ignored when missing. According to the documentation a "newer QEMU that knows
> about a subsection can (with care) load a stream from an older QEMU that didn't
> send the subsection". I propose this behaviour to be limited to "optional"
> sections only.
>
> This series has a few preliminary fixes, add new checks that entries are
> loaded once and required ones have been loaded, add some tests and
> documentation update.
>
> thanks
series:
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
merge through migration tree.
> v3:
> - rebased, drop RFC status
> - switch from tracepoint + returning an error to report for missing
> subsections, as we worry about potential regressions
> - add r-b tags
>
> v2:
> - add "migration: rename vmstate_save_needed->vmstate_section_needed"
> - add "migration: set file error on subsection loading"
> - add subsection tests
> - update the documentation
>
> Marc-André Lureau (6):
> block/fdc: 'phase' is not needed on load
> virtio: make endian_needed() work during loading
> migration: check required subsections are loaded, once
> migration: check required entries are loaded, once
> test-vmstate: add some subsection tests
> docs/migration: reflect the changes about needed subsections
>
> docs/devel/migration.rst | 17 +++---
> hw/block/fdc.c | 5 ++
> hw/virtio/virtio.c | 6 +-
> migration/savevm.c | 43 ++++++++++++++
> migration/vmstate.c | 40 ++++++++++++-
> tests/unit/test-vmstate.c | 116 ++++++++++++++++++++++++++++++++++++++
> 6 files changed, 215 insertions(+), 12 deletions(-)
>
> --
> 2.41.0
prev parent reply other threads:[~2023-12-25 15:57 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-06 11:35 [PATCH v3 0/6] migration: check required entries and sections are loaded marcandre.lureau
2023-11-06 11:35 ` [PATCH v3 1/6] block/fdc: 'phase' is not needed on load marcandre.lureau
2023-11-06 11:35 ` [PATCH v3 2/6] virtio: make endian_needed() work during loading marcandre.lureau
2023-11-06 11:35 ` [PATCH v3 3/6] migration: check required subsections are loaded, once marcandre.lureau
2023-11-06 11:35 ` [PATCH v3 4/6] migration: check required entries " marcandre.lureau
2023-11-06 11:35 ` [PATCH v3 5/6] test-vmstate: add some subsection tests marcandre.lureau
2023-11-06 11:36 ` [PATCH v3 6/6] docs/migration: reflect the changes about needed subsections marcandre.lureau
2023-11-06 17:44 ` [PATCH v3 0/6] migration: check required entries and sections are loaded Michael S. Tsirkin
2023-11-07 12:03 ` Juan Quintela
2023-12-25 15:56 ` Michael S. Tsirkin [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=20231225105554-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=farosas@suse.de \
--cc=hreitz@redhat.com \
--cc=jasowang@redhat.com \
--cc=jsnow@redhat.com \
--cc=kwolf@redhat.com \
--cc=leobras@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=samuel.thibault@ens-lyon.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.