Hi,

> -static MigrationState *migrate_init(int blk, int inc)
> +static MigrationState *migrate_init(int protocol, const char *protocol_param,
> +                                    int blk, int inc)

> +    s->protocol = protocol;
> +    s->protocol_param = g_strdup(protocol_param);

Hmm, I think I would store the complete uri here ...

>      if (strstart(uri, "tcp:", &p)) {
> -        ret = tcp_start_outgoing_migration(s, p, errp);
> +        migrate_protocol = MIGRATION_PROTOCOL_TCP;
>  #if !defined(WIN32)
>      } else if (strstart(uri, "exec:", &p)) {
> -        ret = exec_start_outgoing_migration(s, p);
> +        migrate_protocol = MIGRATION_PROTOCOL_EXEC;
>      } else if (strstart(uri, "unix:", &p)) {
> -        ret = unix_start_outgoing_migration(s, p);
> +        migrate_protocol = MIGRATION_PROTOCOL_UNIX;
>      } else if (strstart(uri, "fd:", &p)) {
> -        ret = fd_start_outgoing_migration(s, p);
> +        migrate_protocol = MIGRATION_PROTOCOL_FD;
>  #endif

... then just move that uri parsing code block to migrate_start().

cheers,
  Gerd


Reply via email to