On Thu, Oct 9, 2025 at 5:14 PM Vladimir Sementsov-Ogievskiy
<[email protected]> wrote:
>
> On 09.10.25 22:09, Raphael Norwitz wrote:
> > A small question here but will review more thoroughly pending feedback
> > on my overall comments.
> >
>
> I really hope you didn't spent much time on these 28-31 patches :/
>

I spent much more time on the cleanups :)

> > On Wed, Aug 13, 2025 at 12:53 PM Vladimir Sementsov-Ogievskiy
> > <[email protected]> wrote:
> >>
>
> [..]
>
> >> --- a/migration/options.c
> >> +++ b/migration/options.c
> >> @@ -269,6 +269,13 @@ bool migrate_local_char_socket(void)
> >>       return s->capabilities[MIGRATION_CAPABILITY_LOCAL_CHAR_SOCKET];
> >>   }
> >>
> >> +bool migrate_local_vhost_user_blk(void)
> >> +{
> >> +    MigrationState *s = migrate_get_current();
> >> +
> >
> > Where was MIGRATION_CAPABILITY_LOCAL_VHOST_USER_BLK added/defined?
>
> It is generated by QAPI code generator.
>
> Exactly, it's defined by 'local-vhost-user-blk' member inside 
> 'MigrationCapability':
>
> { 'enum': 'MigrationCapability',
>    'data': ['xbzrle', 'rdma-pin-all', 'auto-converge',
>
>             ...
>
>             { 'name': 'local-vhost-user-blk', 'features': [ 'unstable' ] } ] }
>
>
> and after build, the generated code is in build/qapi/qapi-types-migration.h, 
> as a enum:
>
> typedef enum MigrationCapability {
>      MIGRATION_CAPABILITY_XBZRLE,
>
>      ,,,
>
>      MIGRATION_CAPABILITY_LOCAL_VHOST_USER_BLK,
>      MIGRATION_CAPABILITY__MAX,
> } MigrationCapability;
>
>
> In v2, I'll follow the interface of virtio-net series, look at
>
> https://patchew.org/QEMU/[email protected]/[email protected]/
>
> so, it would be migration parameter instead of capability, like
>
>      QMP migrate-set-parameters {... backend-transfer = ["vhost-user-blk"] }
>
> and to enable both vhost-user-blk and virtio-net-tap together:
>
>      QMP migrate-set-parameters {... backend-transfer = ["vhost-user-blk", 
> "virtio-net-tap"] }
>

Why do we need two separate migration parameters for vhost-user-blk
and virtio-net-tap? Why not have a single parameter for virtio local
migrations and, if it is set, all backends types which support local
migration can advertise and take advantage of it?

> >
> >
> >> +    return s->capabilities[MIGRATION_CAPABILITY_LOCAL_VHOST_USER_BLK];
> >> +}
> >> +
>
> [..]
>
>
> --
> Best regards,
> Vladimir

Reply via email to