modify multifd tcp common test to incorporate the new QAPI
syntax defined.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
tests/qtest/migration-test.c | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration
-off-by: Het Gala
---
migration/migration.c | 95 +++
1 file changed, 52 insertions(+), 43 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
index 23c3a1079f..ff04728b33 100644
--- a/migration/migration.c
+++ b/migration/migration.c
eChannel' :
migration_channels_and_uri_compatible() ->
migration_channels_and_transport_compatible() passes object as argument
and check for valid transport mechanism.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
Reviewed-by: Daniel P. Berrangé
---
migration/migration.c | 25 ++---
1
Integrate MigrateChannelList with all transport backends
(socket, exec and rdma) for both src and dest migration
endpoints for hmp migration.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/migration-hmp-cmds.c | 15 +--
migration/migration.c | 5
ggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
Reviewed-by: Daniel P. Berrangé
---
migration/migration.c | 30 ++
migration/socket.c| 39 +--
migration/socket.h| 7 ---
3 files changed, 31 insertions(+), 45 deleti
This patch parses 'migrate' and 'migrate-incoming' QAPI's 'uri'
string containing migration connection related information
and stores them inside well defined 'MigrateAddress' struct.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
m
Exec transport backend for 'migrate'/'migrate-incoming' QAPIs accept
new wire protocol of MigrateAddress struct.
It is achived by parsing 'uri' string and storing migration parameters
required for exec connection into strList struct.
Suggested-by: Aravind Retna
On 10/9/2023 7:43 PM, Fabiano Rosas wrote:
Het Gala writes:
On 10/4/2023 11:42 PM, Fabiano Rosas wrote:
Daniel P. Berrangé writes:
On Wed, Oct 04, 2023 at 11:43:12AM -0300, Fabiano Rosas wrote:
Het Gala writes:
This patch parses 'migrate' and 'migrate-incoming'
On 10/9/2023 7:59 PM, Fabiano Rosas wrote:
Het Gala writes:
On 10/4/2023 8:51 PM, Fabiano Rosas wrote:
Het Gala writes:
Integrate MigrateChannelList with all transport backends
(socket, exec and rdma) for both src and dest migration
endpoints for qmp migration.
For current series
On 10/9/2023 8:05 PM, Fabiano Rosas wrote:
Het Gala writes:
On 10/4/2023 8:55 PM, Fabiano Rosas wrote:
Het Gala writes:
Integrate MigrateChannelList with all transport backends
(socket, exec and rdma) for both src and dest migration
endpoints for hmp migration.
Suggested-by: Aravind
On 10/10/2023 2:34 AM, Fabiano Rosas wrote:
Het Gala writes:
This is v12 patchset of modified 'migrate' and 'migrate-incoming' QAPI design
for upstream review.
Would like to thank all the maintainers that actively participated in the v11
patchset discussion and gave in
On 10/10/2023 7:56 PM, Fabiano Rosas wrote:
Fabiano Rosas writes:
Het Gala writes:
On 10/10/2023 2:34 AM, Fabiano Rosas wrote:
Het Gala writes:
This is v12 patchset of modified 'migrate' and 'migrate-incoming' QAPI design
for upstream review.
Would like to thank
On 10/10/2023 2:38 AM, Fabiano Rosas wrote:
Het Gala writes:
Integrate MigrateChannelList with all transport backends
(socket, exec and rdma) for both src and dest migration
endpoints for hmp migration.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/migration-hmp
hannel' to make migration
QAPIs future proof.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
Acked-by: Markus Armbruster
Reviewed-by: Daniel P. Berrangé
---
migration/migration-hmp-cmds.c | 6 +-
migration/migration.c | 56 +++--
qapi/migration.j
Integrate MigrateChannelList with all transport backends
(socket, exec and rdma) for both src and dest migration
endpoints for hmp migration.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/migration-hmp-cmds.c | 27 ++-
migration/migration.c
This patch parses 'migrate' and 'migrate-incoming' QAPI's 'uri'
string containing migration connection related information
and stores them inside well defined 'MigrateAddress' struct.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
m
Exec transport backend for 'migrate'/'migrate-incoming' QAPIs accept
new wire protocol of MigrateAddress struct.
It is achived by parsing 'uri' string and storing migration parameters
required for exec connection into strList struct.
Suggested-by: Aravind Retna
in later commits.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
Reviewed-by: Juan Quintela
Reviewed-by: Daniel P. Berrangé
Acked-by: Markus Armbruster
---
qapi/migration.json | 41 +
1 file changed, 41 insertions(+)
diff --git a/qapi/mi
ggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
Reviewed-by: Daniel P. Berrangé
---
migration/migration.c | 8
migration/rdma.c | 33 +++--
migration/rdma.h | 6 --
3 files changed, 19 insertions(+), 28 deletions(-)
diff --git a/mig
eChannel' :
migration_channels_and_uri_compatible() ->
migration_channels_and_transport_compatible() passes object as argument
and check for valid transport mechanism.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
Reviewed-by: Daniel P. Berrangé
---
migration/migration.c | 25 ++---
1
-off-by: Het Gala
---
migration/migration.c | 95 +++
1 file changed, 52 insertions(+), 43 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
index cf5a620c8e..7db1f3196e 100644
--- a/migration/migration.c
+++ b/migration/migration.c
ggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
Reviewed-by: Daniel P. Berrangé
---
migration/migration.c | 30 ++
migration/socket.c| 39 +--
migration/socket.h| 7 ---
3 files changed, 31 insertions(+), 45 deleti
Transport-type
Migration parameters based on transport type
--
Het Gala (10):
migration: New QAPI type 'MigrateAddress'
migration: convert migration 'uri' into 'MigrateAddress
modify multifd tcp common test to incorporate the new QAPI
syntax defined.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
tests/qtest/migration-test.c | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration
On 05/07/23 4:51 pm, Markus Armbruster wrote:
Het Gala writes:
This patch introduces well defined MigrateAddress struct and its related
child objects.
The existing argument of 'migrate' and 'migrate-incoming' QAPI - 'uri'
is of string type. The current
On 05/07/23 4:59 pm, Markus Armbruster wrote:
Drive-by comment...
Het Gala writes:
This patch parses 'migrate' and 'migrate-incoming' QAPI's 'uri' parameter
with all the migration connection related information and stores them
inside well defined 'M
Exec transport backend for 'migrate'/'migrate-incoming' QAPIs accept
new wire protocol of MigrateAddress struct.
It is achived by parsing 'uri' string and storing migration parameters
required for exec connection into strList struct.
Suggested-by: Aravind Retna
transport backends, different migration parameters are defined.
(uri) string --> (channel) Channel-type
Transport-type
Migration parameters based on transport type
--
Het Gala (9):
migration:
ters such as 'uri' and this is
not an ideal design.
Motive for intoducing struct level design is to prevent double encoding
of QAPI arguments, as Qemu should be able to directly use the QAPI
arguments without any level of encoding.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Ga
preferred choice of argument over 'MigrateChannel' and making
migration QAPIs future proof.
For current patchset series, have limited the size of the list to single
element (single interface) as runtime check.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/migrat
ed by Qemu.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/exec.c | 4 ++--
migration/exec.h | 4
migration/migration.c | 54 +++
3 files changed, 60 insertions(+), 2 deletions(-)
diff --git a/migration/exec.c b/
ggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/migration.c | 8
migration/rdma.c | 34 --
migration/rdma.h | 6 --
3 files changed, 20 insertions(+), 28 deletions(-)
diff --git a/migration/migration.c b/migratio
Adding multifd tcp common test case for modified QAPI syntax defined.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
tests/qtest/migration-test.c | 45
1 file changed, 45 insertions(+)
diff --git a/tests/qtest/migration-test.c b/tests/qtest
Integrated MigrateChannelList with all transport backends (socket, exec
and rdma) for both source and destination migration code flow.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/migration.c | 77 ---
migration/socket.c| 5
ggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/migration.c | 32 +++-
migration/socket.c| 34 +-
migration/socket.h| 7 ---
3 files changed, 28 insertions(+), 45 deletions(-)
diff --git a/migration/migra
ct conversion,
migration_channels_and_uri_compatible() ->
migration_channels_and_transport_compatible() passes object as argument
and checks for valid transport mechanism.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/migration.c | 25 ++---
1 file changed, 14 i
Ack. Thanks for the suggestion Markus.
Het Gala writes:
This patch introduces well defined MigrateAddress struct and its related
child objects.
The existing argument of 'migrate' and 'migrate-incoming' QAPI - 'uri'
is of string type. The current migration flow foll
in later commits.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
Reviewed-by: Juan Quintela
Reviewed-by: Daniel P. Berrangé
Acked-by: Markus Armbruster
---
qapi/migration.json | 41 +
1 file changed, 41 insertions(+)
diff --git a/qapi/mi
Exec transport backend for 'migrate'/'migrate-incoming' QAPIs accept
new wire protocol of MigrateAddress struct.
It is achived by parsing 'uri' string and storing migration parameters
required for exec connection into strList struct.
Suggested-by: Aravind Retna
eChannel' :
migration_channels_and_uri_compatible() ->
migration_channels_and_transport_compatible() passes object as argument
and check for valid transport mechanism.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/migration.c | 25 ++---
1 file changed, 14 insertions(+), 11 deletion
ggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/exec.c | 4 ++--
migration/exec.h | 4
migration/migration.c | 54 +++
3 files changed, 60 insertions(+), 2 deletions(-)
diff --git a/migration/exec.c b/migration/exe
Add multifd tcp common test case for new QAPI syntax defined.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
tests/qtest/migration-test.c | 45
1 file changed, 45 insertions(+)
diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration
Integrate MigrateChannelList with all transport backends
(socket, exec and rdma) for both src and dest migration
endpoints.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/migration.c | 77 ---
migration/socket.c| 5 ++-
2
ggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/migration.c | 8
migration/rdma.c | 34 --
migration/rdma.h | 6 --
3 files changed, 20 insertions(+), 28 deletions(-)
diff --git a/migration/migration.c b/migratio
on
basis of transport backends, different migration parameters are defined.
(uri) string --> (channel) Channel-type
Transport-type
Migration parameters based on transport type
--
hannel' to make migration
QAPIs future proof.
For current series, limit the size of MigrateChannelList
to single element (single interface) as runtime check.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
Acked-by: Markus Armbruster
---
migration/migration-hmp-cmds.c |
ggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/migration.c | 32 +++-
migration/socket.c| 34 +-
migration/socket.h| 7 ---
3 files changed, 28 insertions(+), 45 deletions(-)
diff --git a/migration/migra
On 13/06/23 10:58 am, Het Gala wrote:
On 06/06/23 3:45 pm, Het Gala wrote:
This patch introduces well defined MigrateAddress struct and its related
child objects.
The existing argument of 'migrate' and 'migrate-incoming' QAPI - 'uri'
is of string type. The
On 06/06/23 3:45 pm, Het Gala wrote:
This patch introduces well defined MigrateAddress struct and its related
child objects.
The existing argument of 'migrate' and 'migrate-incoming' QAPI - 'uri'
is of string type. The current migration flow follows double
On 30/05/23 5:40 pm, Daniel P. Berrangé wrote:
On Tue, May 30, 2023 at 01:02:27PM +0530, Het Gala wrote:
On 30/05/23 12:28 pm, Markus Armbruster wrote:
Het Gala writes:
[...]
+##
+{ 'enum': 'MigrateTransport',
+ 'data': ['socket', '
ggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/migration.c | 32 +++-
migration/socket.c| 34 +-
migration/socket.h| 7 ---
3 files changed, 28 insertions(+), 45 deletions(-)
diff --git a/migration/migra
Integrated MigrateChannelList with all transport backends (socket, exec
and rdma) for both source and destination migration code flow.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/migration.c | 77 ---
migration/socket.c| 5
ggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/migration.c | 8
migration/rdma.c | 34 --
migration/rdma.h | 6 --
3 files changed, 20 insertions(+), 28 deletions(-)
diff --git a/migration/migration.c b/migratio
ters such as 'uri' and this is
not an ideal design.
Motive for intoducing struct level design is to prevent double encoding
of QAPI arguments, as Qemu should be able to directly use the QAPI
arguments without any level of encoding.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Ga
Adding multifd tcp common test case for modified QAPI syntax defined.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
tests/qtest/migration-test.c | 45
1 file changed, 45 insertions(+)
diff --git a/tests/qtest/migration-test.c b/tests/qtest
ct conversion,
migration_channels_and_uri_compatible() ->
migration_channels_and_transport_compatible() passes object as argument
and checks for valid transport mechanism.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/migration.c | 25 ++---
1 file changed, 14 i
ed by Qemu.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/exec.c | 4 ++--
migration/exec.h | 4
migration/migration.c | 54 +++
3 files changed, 60 insertions(+), 2 deletions(-)
diff --git a/migration/exec.c b/
preferred choice of argument over 'MigrateChannel' and making
migration QAPIs future proof.
For current patchset series, have limited the size of the list to single
element (single interface) as runtime check.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
---
migration/migrat
ion for the various transport backends (like socket, exec and rdma), and on
basis of transport backends, different migration parameters are defined.
(uri) string --> (channel) Channel-type
Transport-type
Migration parameters based on
Exec transport backend for 'migrate'/'migrate-incoming' QAPIs accept
new wire protocol of MigrateAddress struct.
It is achived by parsing 'uri' string and storing migration parameters
required for exec connection into strList struct.
Suggested-by: Aravind Retna
On 06/06/23 3:45 pm, Het Gala wrote:
MigrateChannelList allows to connect accross multiple interfaces. Added
MigrateChannelList struct as argument to migration QAPIs.
Future patchset series plans to include multiple MigrateChannels
for multiple interfaces to be connected. That is the reason
t_str(qdict, "type"), ==, "value-a");
+g_assert_cmpstr(qdict_get_str(qdict, "type-a"), ==, "value-a1");
+ g_assert_cmpint(qdict_get_int(qdict, "integer"), ==, 42);
+g_assert_cmpstr(qdict_get_str(qdict, "name"), ==, "fish");
+
+qapi_free_TestUnionInUnion(tmp);
+
+
+visitor_reset(data);
+tmp = g_new0(TestUnionInUnion, 1);
+tmp->type = TEST_UNION_ENUM_VALUE_A;
+tmp->u.value_a.type_a = TEST_UNION_ENUMA_VALUE_A2;
+tmp->u.value_a.u.value_a2.integer = 1729;
+tmp->u.value_a.u.value_a2.size = 87539319;
+
+visit_type_TestUnionInUnion(data->ov, NULL, &tmp, &error_abort);
+qdict = qobject_to(QDict, visitor_get(data));
+g_assert(qdict);
+g_assert_cmpstr(qdict_get_str(qdict, "type"), ==, "value-a");
+g_assert_cmpstr(qdict_get_str(qdict, "type-a"), ==, "value-a2");
+g_assert_cmpint(qdict_get_int(qdict, "integer"), ==, 1729);
+g_assert_cmpint(qdict_get_int(qdict, "size"), ==, 87539319);
+
+qapi_free_TestUnionInUnion(tmp);
+
+
+visitor_reset(data);
+tmp = g_new0(TestUnionInUnion, 1);
+tmp->type = TEST_UNION_ENUM_VALUE_B;
+tmp->u.value_b.integer = 1729;
+tmp->u.value_b.onoff = true;
+
+visit_type_TestUnionInUnion(data->ov, NULL, &tmp, &error_abort);
+qdict = qobject_to(QDict, visitor_get(data));
+g_assert(qdict);
+g_assert_cmpstr(qdict_get_str(qdict, "type"), ==, "value-b");
+g_assert_cmpint(qdict_get_int(qdict, "integer"), ==, 1729);
+g_assert_cmpint(qdict_get_bool(qdict, "onoff"), ==, true);
+
+qapi_free_TestUnionInUnion(tmp);
+}
+
static void test_visitor_out_alternate(TestOutputVisitorData *data,
const void *unused)
{
@@ -586,6 +642,8 @@ int main(int argc, char **argv)
&out_visitor_data,
test_visitor_out_list_qapi_free);
output_visitor_test_add("/visitor/output/union-flat",
&out_visitor_data, test_visitor_out_union_flat);
+output_visitor_test_add("/visitor/output/union-in-union",
+&out_visitor_data,
test_visitor_out_union_in_union);
output_visitor_test_add("/visitor/output/alternate",
&out_visitor_data, test_visitor_out_alternate);
output_visitor_test_add("/visitor/output/null",
The changes look good to me. I have tried to built migrate QAPI changes
on top of Daniel's v1 changes, and it was successful.
Once Markus and other maintainers approves this patchset, I can post v4
version of 'migrate' qapi changes on top of this change.
Looking forward for replies on this patchset :)
Regards,
Het Gala
Fixes: 5994024f ("migration: Implement MigrateChannelList to qmp
migration flow")
Signed-off-by: Het Gala
---
migration/migration.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/migration/migration.c b/migration/migration.c
index 28a34c9068..29efb51b62 100644
--- a/migration/m
channel to avoid memory leak. 'addr' does shallow
copying of channel->addr, hence free 'channel' itself and deep free
contents of 'addr'
Fixes: 5994024f ("migration: Implement MigrateChannelList to qmp
migration flow")
Signed-off-by: Het Gala
---
migrat
returned to 'channel',
which is leaked because there is no code for freeing 'channel' or
'addr'. So, free addr and channel to avoid memory leak. 'addr'
does shallow copying of channel->addr, hence free 'channel' itself
and deep fr
On 28/11/23 3:29 pm, Markus Armbruster wrote:
Het Gala writes:
On 28/11/23 12:46 pm, Markus Armbruster wrote:
Your commit message is all in one line. You need to format it like
migration: Plug memory leak
'channel' and 'addr' in qmp_migrate(
case where 'channels'
is empty and uri parsing is required.
Fixes: 5994024f ("migration: Implement MigrateChannelList to qmp
migration flow")
Signed-off-by: Het Gala
Suggested-by: Markus Armbruster
---
migration/migration.c | 12 ++--
1 file changed, 6 insertions(+),
On 29/11/23 6:21 pm, Markus Armbruster wrote:
I'ld like to suggest a clearer subject:
migration: Plug memory leak with migration URIs
Ack. Will update the commit message
Het Gala writes:
'channel' in qmp_migrate() and qmp_migrate_incoming() is not
auto-freed. mi
994024f ("migration: Implement MigrateChannelList to qmp migration
flow")
Signed-off-by: Het Gala
Suggested-by: Markus Armbruster
---
migration/migration.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
i
reviewed by Markus already. ref -
https://lists.gnu.org/archive/html/qemu-devel/2023-11/msg05948.htm. TIA !
Regards,
Het Gala
The inital conditional statements in qmp migration functions is harder
to understand than necessary. It is better to get all errors out of
the way in the beginning itself to have better readability and error
handling.
Signed-off-by: Het Gala
Suggested-by: Markus Armbruster
---
migration
On 05/12/23 1:30 pm, Het Gala wrote:
The inital conditional statements in qmp migration functions is harder
to understand than necessary. It is better to get all errors out of
the way in the beginning itself to have better readability and error
handling.
Signed-off-by: Het Gala
Suggested-by
modify the architecture
in near future.
Thanks,
Het Gala
On 05/12/23 7:17 pm, Juan Quintela wrote:
QEMU developers fortnightly conference call
Hi
If you have any topics for the last qemu conference call of the year,
feel free to answer to this email.
Later, Juan.
QEMU developers fortni
Ping. In-case this patch has been missed out. Waiting for other maintainers to
respond. Thanks!
On 11/12/23 6:43 pm, Het Gala wrote:
Ping? Waiting for other maintainers to respond on this patch
On 05/12/23 6:28 pm, Fabiano Rosas wrote:
Het Gala writes:
The inital conditional statements in
Ping? Waiting for other maintainers to respond on this patch
On 05/12/23 6:28 pm, Fabiano Rosas wrote:
Het Gala writes:
The inital conditional statements in qmp migration functions is harder
to understand than necessary. It is better to get all errors out of
the way in the beginning itself
file based migration in
these patches or as you said eariler, you will introduce those patches
on top of my patches. Please let me know.
On 12/10/23 8:40 pm, Het Gala wrote:
This is v13 patchset of modified 'migrate' and 'migrate-incoming' QAPI design
for upstream review.
Would lik
On 18/10/23 7:58 pm, Fabiano Rosas wrote:
Het Gala writes:
Fabiano, would your below commits impact this patchset 'make check'
tests ? Because you have added tests for file based migration, which is
still not included in this patchset.
AFAICS, the tests shouldn't break
On 31/10/23 11:12 pm, Juan Quintela wrote:
Fabiano Rosas wrote:
From: Het Gala
Integrate MigrateChannelList with all transport backends
(socket, exec and rdma) for both src and dest migration
endpoints for hmp migration.
Suggested-by: Aravind Retnakaran
Signed-off-by: Het Gala
Signed
On 01/11/23 12:25 am, Juan Quintela wrote:
I intrehated al parches until this forma next pull.
I should just add the last 2 patches as individual ones, is that what
you mean ?
On Tue, Oct 31, 2023, 19:51 Het Gala wrote:
On 31/10/23 11:12 pm, Juan Quintela wrote:
> Fabiano Ro
301 - 379 of 379 matches
Mail list logo