From: Peter Xu <peterx@redhat.com>
To: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Cc: "Alexandr Moshkov" <dtalexundeer@yandex-team.ru>,
qemu-devel@nongnu.org, "Raphael Norwitz" <raphael@enfabrica.net>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Stefano Garzarella" <sgarzare@redhat.com>,
"Kevin Wolf" <kwolf@redhat.com>,
"Hanna Reitz" <hreitz@redhat.com>,
"Fabiano Rosas" <farosas@suse.de>,
"Eric Blake" <eblake@redhat.com>,
"Markus Armbruster" <armbru@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>
Subject: Re: [PATCH v3 0/3] vhost-user-blk: support inflight migration
Date: Tue, 18 Nov 2025 17:05:17 -0500 [thread overview]
Message-ID: <aRztnfZFl-OcbVYI@x1.local> (raw)
In-Reply-To: <cf0f69b9-4b2b-4c09-a32b-ad86bbe04f6d@yandex-team.ru>
On Tue, Nov 18, 2025 at 11:24:12PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> Add Daniel
>
> On 10.11.25 13:39, Alexandr Moshkov wrote:
> > v3:
> > - use pre_load_errp instead of pre_load in vhost.c
> > - change vhost-user-blk property to
> > "skip-get-vring-base-inflight-migration"
> > - refactor vhost-user-blk.c, by moving vhost_user_blk_inflight_needed() higher
> >
> > v2:
> > - rewrite migration using VMSD instead of qemufile API
> > - add vhost-user-blk parameter instead of migration capability
> >
> > I don't know if VMSD was used cleanly in migration implementation, so
> > feel free for comments.
> >
> > Based on Vladimir's work:
> > [PATCH v2 00/25] vhost-user-blk: live-backend local migration
> > which was based on:
> > - [PATCH v4 0/7] chardev: postpone connect
> > (which in turn is based on [PATCH 0/2] remove deprecated 'reconnect' options)
> > - [PATCH v3 00/23] vhost refactoring and fixes
> > - [PATCH v8 14/19] migration: introduce .pre_incoming() vmsd handler
> >
>
> Hi!
>
> On my series about backend-transfer migration, the final consensus (or at least,
> I hope that it's a consensus:) is that using device properties to control migration
> channel content is wrong. And we should instead use migration parameters.
>
> (discussion here: https://lore.kernel.org/qemu-devel/29aa1d66-9fa7-4e44-b0e3-2ca26e77accf@yandex-team.ru/ )
>
> So the API for backend-transfer features is a migration parameter
>
> backend-transfer = [ list of QOM paths of devices, for which we want to enable backend-transfer ]
>
> and user don't have to change device properties in runtime to setup the following migration.
>
> So I assume, similar practice should be applied here: don't use device
> properties to control migration.
>
> So, should it be a parameter like
>
> migrate-inflight-region = [ list of QOM paths of vhost-user devices ]
>
> ?
I have concern that if we start doing this more, migration qapi/ will be
completely messed up.
Imagine a world where there'll be tons of lists like:
migrate-dev1-some-feature-1 = [list of devices (almost only dev1 typed)]
migrate-dev2-some-feature-2 = [list of devices (almost only dev2 typed)]
migrate-dev3-some-feature-3 = [list of devices (almost only dev3 typed)]
...
That doesn't look reasonable at all. If some feature is likely only
supported in one device, that should not appear in migration.json but only
in the specific device.
I don't think I'm fully convinced we can't enable some form of machine type
properties (with QDEV or not) on backends we should stick with something
like that. I can have some closer look this week, but.. even if not, I
still think migration shouldn't care about some specific behavior of a
specific device.
If we really want to have some way to probe device features, maybe we
should also think about a generic interface (rather than "one new list
every time"). We also have some recent discussions on a proper interface
to query TAP backend features like USO*. Maybe they share some of the
goals here.
Thanks,
--
Peter Xu
next prev parent reply other threads:[~2025-11-18 22:06 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-10 10:39 [PATCH v3 0/3] vhost-user-blk: support inflight migration Alexandr Moshkov
2025-11-10 10:39 ` [PATCH v3 1/3] vmstate: introduce VMSTATE_VBUFFER_UINT64 Alexandr Moshkov
2025-11-10 10:39 ` [PATCH v3 2/3] vhost: add vmstate for inflight region with inner buffer Alexandr Moshkov
2025-11-10 10:39 ` [PATCH v3 3/3] vhost-user-blk: support inter-host inflight migration Alexandr Moshkov
2025-11-18 20:24 ` [PATCH v3 0/3] vhost-user-blk: support " Vladimir Sementsov-Ogievskiy
2025-11-18 22:05 ` Peter Xu [this message]
2025-12-04 19:55 ` Vladimir Sementsov-Ogievskiy
2025-12-09 16:51 ` Peter Xu
2025-12-10 11:41 ` Vladimir Sementsov-Ogievskiy
2025-12-10 15:20 ` Peter Xu
2025-12-10 15:33 ` Vladimir Sementsov-Ogievskiy
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=aRztnfZFl-OcbVYI@x1.local \
--to=peterx@redhat.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=dtalexundeer@yandex-team.ru \
--cc=eblake@redhat.com \
--cc=farosas@suse.de \
--cc=hreitz@redhat.com \
--cc=kwolf@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=raphael@enfabrica.net \
--cc=sgarzare@redhat.com \
--cc=vsementsov@yandex-team.ru \
/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.