diff mbox series

[v10,09/10] migration: Implement MigrateChannelList to hmp migration flow.

Message ID 20230726141833.50252-10-het.gala@nutanix.com (mailing list archive)
State New, archived
Headers show
Series migration: Modify 'migrate' and 'migrate-incoming' QAPI commands for migration | expand

Commit Message

Het Gala July 26, 2023, 2:18 p.m. UTC
Integrate MigrateChannelList with all transport backends
(socket, exec and rdma) for both src and dest migration
endpoints for hmp migration.

Suggested-by: Aravind Retnakaran <aravind.retnakaran@nutanix.com>
Signed-off-by: Het Gala <het.gala@nutanix.com>
---
 migration/migration-hmp-cmds.c | 15 +++++++++++++--
 migration/migration.c          |  5 ++---
 migration/migration.h          |  3 ++-
 3 files changed, 17 insertions(+), 6 deletions(-)

Comments

Daniel P. Berrangé July 26, 2023, 2:55 p.m. UTC | #1
On Wed, Jul 26, 2023 at 02:18:32PM +0000, Het Gala wrote:
> Integrate MigrateChannelList with all transport backends
> (socket, exec and rdma) for both src and dest migration
> endpoints for hmp migration.
> 
> Suggested-by: Aravind Retnakaran <aravind.retnakaran@nutanix.com>
> Signed-off-by: Het Gala <het.gala@nutanix.com>
> ---
>  migration/migration-hmp-cmds.c | 15 +++++++++++++--
>  migration/migration.c          |  5 ++---
>  migration/migration.h          |  3 ++-
>  3 files changed, 17 insertions(+), 6 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


With regards,
Daniel
Het Gala July 26, 2023, 4:38 p.m. UTC | #2
On 26/07/23 8:25 pm, Daniel P. Berrangé wrote:
> On Wed, Jul 26, 2023 at 02:18:32PM +0000, Het Gala wrote:
>> Integrate MigrateChannelList with all transport backends
>> (socket, exec and rdma) for both src and dest migration
>> endpoints for hmp migration.
>>
>> Suggested-by: Aravind Retnakaran <aravind.retnakaran@nutanix.com>
>> Signed-off-by: Het Gala <het.gala@nutanix.com>
>> ---
>>   migration/migration-hmp-cmds.c | 15 +++++++++++++--
>>   migration/migration.c          |  5 ++---
>>   migration/migration.h          |  3 ++-
>>   3 files changed, 17 insertions(+), 6 deletions(-)
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
>
Daniel, I have got reviewed-by / Acked-by from Markus (patch 1 & 6) and 
you (remaining patches). What should be the next steps here ? Do I need 
to send a new patchset / wait for more maintainers for their reviews ? 
Please advice.
> With regards,
> Daniel
Regards,
Het Gala
Daniel P. Berrangé July 26, 2023, 4:41 p.m. UTC | #3
On Wed, Jul 26, 2023 at 10:08:05PM +0530, Het Gala wrote:
> 
> On 26/07/23 8:25 pm, Daniel P. Berrangé wrote:
> > On Wed, Jul 26, 2023 at 02:18:32PM +0000, Het Gala wrote:
> > > Integrate MigrateChannelList with all transport backends
> > > (socket, exec and rdma) for both src and dest migration
> > > endpoints for hmp migration.
> > > 
> > > Suggested-by: Aravind Retnakaran <aravind.retnakaran@nutanix.com>
> > > Signed-off-by: Het Gala <het.gala@nutanix.com>
> > > ---
> > >   migration/migration-hmp-cmds.c | 15 +++++++++++++--
> > >   migration/migration.c          |  5 ++---
> > >   migration/migration.h          |  3 ++-
> > >   3 files changed, 17 insertions(+), 6 deletions(-)
> > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> > 
> Daniel, I have got reviewed-by / Acked-by from Markus (patch 1 & 6) and you
> (remaining patches). What should be the next steps here ? Do I need to send
> a new patchset / wait for more maintainers for their reviews ? Please
> advice.

At this point it is for Juan (as the migration primary maintainer) to
either queue it, or send you more review comments.

With regards,
Daniel
Het Gala July 26, 2023, 5:07 p.m. UTC | #4
On 26/07/23 10:11 pm, Daniel P. Berrangé wrote:
> On Wed, Jul 26, 2023 at 10:08:05PM +0530, Het Gala wrote:
>> On 26/07/23 8:25 pm, Daniel P. Berrangé wrote:
>>> On Wed, Jul 26, 2023 at 02:18:32PM +0000, Het Gala wrote:
>>>> Integrate MigrateChannelList with all transport backends
>>>> (socket, exec and rdma) for both src and dest migration
>>>> endpoints for hmp migration.
>>>>
>>>> Suggested-by: Aravind Retnakaran <aravind.retnakaran@nutanix.com>
>>>> Signed-off-by: Het Gala <het.gala@nutanix.com>
>>>> ---
>>>>    migration/migration-hmp-cmds.c | 15 +++++++++++++--
>>>>    migration/migration.c          |  5 ++---
>>>>    migration/migration.h          |  3 ++-
>>>>    3 files changed, 17 insertions(+), 6 deletions(-)
>>> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
>>>
>> Daniel, I have got reviewed-by / Acked-by from Markus (patch 1 & 6) and you
>> (remaining patches). What should be the next steps here ? Do I need to send
>> a new patchset / wait for more maintainers for their reviews ? Please
>> advice.
> At this point it is for Juan (as the migration primary maintainer) to
> either queue it, or send you more review comments.

Ack. Thanks for your review comments on the patches.

> With regards,
> Daniel
Regards,
Het Gala
diff mbox series

Patch

diff --git a/migration/migration-hmp-cmds.c b/migration/migration-hmp-cmds.c
index 49b150f33f..42463ad31f 100644
--- a/migration/migration-hmp-cmds.c
+++ b/migration/migration-hmp-cmds.c
@@ -423,9 +423,14 @@  void hmp_migrate_incoming(Monitor *mon, const QDict *qdict)
 {
     Error *err = NULL;
     const char *uri = qdict_get_str(qdict, "uri");
+    MigrationChannelList *caps = NULL;
+    g_autoptr(MigrationChannel) channel = g_new0(MigrationChannel, 1);
 
-    qmp_migrate_incoming(uri, false, NULL, &err);
+    migrate_uri_parse(uri, &channel, &err);
+    QAPI_LIST_PREPEND(caps, channel);
 
+    qmp_migrate_incoming(NULL, true, caps, &err);
+    qapi_free_MigrationChannelList(caps);
     hmp_handle_error(mon, err);
 }
 
@@ -704,9 +709,15 @@  void hmp_migrate(Monitor *mon, const QDict *qdict)
     bool resume = qdict_get_try_bool(qdict, "resume", false);
     const char *uri = qdict_get_str(qdict, "uri");
     Error *err = NULL;
+    MigrationChannelList *caps = NULL;
+    g_autoptr(MigrationChannel) channel = g_new0(MigrationChannel, 1);
 
-    qmp_migrate(uri, false, NULL, !!blk, blk, !!inc, inc,
+    migrate_uri_parse(uri, &channel, &err);
+    QAPI_LIST_PREPEND(caps, channel);
+
+    qmp_migrate(NULL, true, caps, !!blk, blk, !!inc, inc,
                  false, false, true, resume, &err);
+    qapi_free_MigrationChannelList(caps);
     if (hmp_handle_error(mon, err)) {
         return;
     }
diff --git a/migration/migration.c b/migration/migration.c
index d54ecbb00d..213832670f 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -425,9 +425,8 @@  void migrate_add_address(SocketAddress *address)
                       QAPI_CLONE(SocketAddress, address));
 }
 
-static bool migrate_uri_parse(const char *uri,
-                              MigrationChannel **channel,
-                              Error **errp)
+bool migrate_uri_parse(const char *uri, MigrationChannel **channel,
+                       Error **errp)
 {
     g_autoptr(MigrationChannel) val = g_new0(MigrationChannel, 1);
     g_autoptr(MigrationAddress) addr = g_new0(MigrationAddress, 1);
diff --git a/migration/migration.h b/migration/migration.h
index 6eea18db36..f833e02b6d 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -501,7 +501,8 @@  bool check_dirty_bitmap_mig_alias_map(const BitmapMigrationNodeAliasList *bbm,
                                       Error **errp);
 
 void migrate_add_address(SocketAddress *address);
-
+bool migrate_uri_parse(const char *uri, MigrationChannel **channel,
+                       Error **errp);
 int foreach_not_ignored_block(RAMBlockIterFunc func, void *opaque);
 
 #define qemu_ram_foreach_block \