[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 4/7] multifd: HMP changes for multifd source and destination s
|
From: |
Het Gala |
|
Subject: |
[PATCH v2 4/7] multifd: HMP changes for multifd source and destination side |
|
Date: |
Thu, 21 Jul 2022 19:56:17 +0000 |
i) hmp_migrate and hmp_migrate_incoming functions are modified
according to the modified qmp monitor commands.
Suggested-by: Manish Mishra <manish.mishra@nutanix.com>
Signed-off-by: Het Gala <het.gala@nutanix.com>
---
monitor/hmp-cmds.c | 34 +++++++++++++++++++++++++++++++---
1 file changed, 31 insertions(+), 3 deletions(-)
diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c
index 8d25fee4be..ec12b950db 100644
--- a/monitor/hmp-cmds.c
+++ b/monitor/hmp-cmds.c
@@ -60,6 +60,9 @@
#include "migration/misc.h"
+/* Default number of multi-fd channels */
+#define DEFAULT_MIGRATE_MULTIFD_CHANNELS 2
+
#ifdef CONFIG_SPICE
#include <spice/enums.h>
#endif
@@ -1127,8 +1130,19 @@ void hmp_migrate_incoming(Monitor *mon, const QDict
*qdict)
{
Error *err = NULL;
const char *uri = qdict_get_str(qdict, "uri");
+ const char *dst_uri = qdict_get_str(qdict, "destination-uri");
+ uint8_t multifd_channels = qdict_get_try_int(qdict, "multifd-channels",
+ DEFAULT_MIGRATE_MULTIFD_CHANNELS);
+ MigrateIncomingUriList *caps = NULL;
+ MigrateIncomingUri *value;
+
+ value = g_malloc0(sizeof(*value));
+ value->destination_uri = (char *)dst_uri;
+ value->multifd_channels = multifd_channels;
+ QAPI_LIST_PREPEND(caps, value);
- qmp_migrate_incoming(uri, &err);
+ qmp_migrate_incoming(uri, !!caps, caps, &err);
+ qapi_free_MigrateIncomingUriList(caps);
hmp_handle_error(mon, err);
}
@@ -1551,10 +1565,24 @@ void hmp_migrate(Monitor *mon, const QDict *qdict)
bool inc = qdict_get_try_bool(qdict, "inc", false);
bool resume = qdict_get_try_bool(qdict, "resume", false);
const char *uri = qdict_get_str(qdict, "uri");
+
+ const char *src_uri = qdict_get_str(qdict, "source-uri");
+ const char *dst_uri = qdict_get_str(qdict, "destination-uri");
+ uint8_t multifd_channels = qdict_get_try_int(qdict, "multifd-channels",
+ DEFAULT_MIGRATE_MULTIFD_CHANNELS);
Error *err = NULL;
+ MigrateUriParameterList *caps = NULL;
+ MigrateUriParameter *value;
+
+ value = g_malloc0(sizeof(*value));
+ value->source_uri = (char *)src_uri;
+ value->destination_uri = (char *)dst_uri;
+ value->multifd_channels = multifd_channels;
+ QAPI_LIST_PREPEND(caps, value);
- qmp_migrate(uri, !!blk, blk, !!inc, inc,
- false, false, true, resume, &err);
+ qmp_migrate(uri, !!caps, caps, !!blk, blk, !!inc,
+ inc, false, false, true, resume, &err);
+ qapi_free_MigrateUriParameterList(caps);
if (hmp_handle_error(mon, err)) {
return;
}
--
2.22.3
- [PATCH v2 0/7] multifd: Multiple interface support on top of Multifd, Het Gala, 2022/07/21
- [PATCH v2 2/7] multifd: modifying 'migrate' qmp command to add multifd socket on particular src and dest pair, Het Gala, 2022/07/21
- [PATCH v2 4/7] multifd: HMP changes for multifd source and destination side,
Het Gala <=
- [PATCH v2 3/7] multifd: adding multi-interface support for multifd on destination side, Het Gala, 2022/07/21
- [PATCH v2 6/7] muitlfd: Correcting nit : whitespace error changes in qemu-sockets.c file, Het Gala, 2022/07/21
- [PATCH v2 5/7] multifd: establishing connection between any non-default src and dest pair, Het Gala, 2022/07/21
- [PATCH v2 1/7] multifd: adding more helper functions in util files for live migration, Het Gala, 2022/07/21
- [PATCH v2 7/7] multifd: adding support for multifd connections dynamically, Het Gala, 2022/07/21