From: Juan Quintela <quintela@redhat.com>
To: Het Gala <het.gala@nutanix.com>
Cc: qemu-devel@nongnu.org, prerna.saxena@nutanix.com,
dgilbert@redhat.com, pbonzini@redhat.com, berrange@redhat.com,
armbru@redhat.com, eblake@redhat.com,
manish.mishra@nutanix.com, aravind.retnakaran@nutanix.com
Subject: Re: [PATCH v4 3/8] migration: converts socket backend to accept MigrateAddress struct
Date: Mon, 15 May 2023 10:55:14 +0200 [thread overview]
Message-ID: <87wn1a0ya5.fsf@secure.mitica> (raw)
In-Reply-To: <20230512143240.192504-4-het.gala@nutanix.com> (Het Gala's message of "Fri, 12 May 2023 14:32:35 +0000")
Het Gala <het.gala@nutanix.com> wrote:
> Socket 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 socket connection into well defined SocketAddress struct.
>
> Suggested-by: Aravind Retnakaran <aravind.retnakaran@nutanix.com>
> Signed-off-by: Het Gala <het.gala@nutanix.com>
> ---
> migration/exec.c | 4 ++--
> migration/exec.h | 4 ++++
> migration/migration.c | 44 +++++++++++++++++++++++++++++++------------
> migration/socket.c | 34 +++++----------------------------
> migration/socket.h | 7 ++++---
> 5 files changed, 47 insertions(+), 46 deletions(-)
>
> diff --git a/migration/exec.c b/migration/exec.c
> index 2bf882bbe1..c4a3293246 100644
> --- a/migration/exec.c
> +++ b/migration/exec.c
> @@ -27,7 +27,6 @@
> #include "qemu/cutils.h"
>
> #ifdef WIN32
> -const char *exec_get_cmd_path(void);
> const char *exec_get_cmd_path(void)
> {
> g_autofree char *detected_path = g_new(char, MAX_PATH);
Make this and related chunks it its own patch.
> @@ -40,7 +39,8 @@ const char *exec_get_cmd_path(void)
> }
> #endif
>
> -void exec_start_outgoing_migration(MigrationState *s, const char *command, Error **errp)
> +void exec_start_outgoing_migration(MigrationState *s, const char *command,
> + Error **errp)
> {
> QIOChannel *ioc;
>
Drop this bit. If you want to cleanup longer that 80 chars lines, do it
in a sperate patch.
> + if (local_err) {
> + qapi_free_SocketAddress(saddr);
> + error_propagate(errp, local_err);
> + return;
> + }
Aha, I see what you want to do here, but I
From include/qapi/error.h
* - Whenever practical, also return a value that indicates success /
* failure. This can make the error checking more concise, and can
* avoid useless error object creation and destruction. Note that
* we still have many functions returning void. We recommend
* • bool-valued functions return true on success / false on failure,
* • pointer-valued functions return non-null / null pointer, and
* • integer-valued functions return non-negative / negative.
*
I think that what you have to do here is drop local_err and just change
socket_start_incoming_migration() and fd_start_incoming_migration() to
return a bool.
> -void socket_start_outgoing_migration(MigrationState *s,
> - const char *str,
> - Error **errp)
> -{
> - Error *err = NULL;
> - SocketAddress *saddr = socket_parse(str, &err);
> - if (!err) {
> - socket_start_outgoing_migration_internal(s, saddr, &err);
> - }
> - error_propagate(errp, err);
> -}
And here we are. This function got it wrong, and you copied from here.
My understanding is that this function should have been written as:
void socket_start_outgoing_migration(MigrationState *s,
const char *str,
Error **errp)
{
SocketAddress *saddr = socket_parse(str, &err);
if (!saddr) {
socket_start_outgoing_migration_internal(s, saddr, &err);
}
}
> -void socket_start_incoming_migration(const char *str, Error **errp)
> -{
> - Error *err = NULL;
> - SocketAddress *saddr = socket_parse(str, &err);
> - if (!err) {
> - socket_start_incoming_migration_internal(saddr, &err);
> - }
> - qapi_free_SocketAddress(saddr);
> - error_propagate(errp, err);
> -}
Exactly the same here.
Not your fault, but can you do the changes, please?
Later, Juan.
next prev parent reply other threads:[~2023-05-15 8:55 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-12 14:32 [PATCH v4 0/8] migration: Modified 'migrate' and 'migrate-incoming' QAPI commands for migration Het Gala
2023-05-12 14:32 ` [PATCH v4 1/8] migration: introduced 'MigrateAddress' in QAPI for migration wire protocol Het Gala
2023-05-15 8:37 ` Juan Quintela
2023-05-15 10:06 ` Daniel P. Berrangé
2023-05-12 14:32 ` [PATCH v4 2/8] migration: Converts uri parameter into 'MigrateAddress' struct Het Gala
2023-05-15 8:43 ` Juan Quintela
2023-05-15 10:12 ` Daniel P. Berrangé
2023-05-15 11:45 ` Het Gala
2023-05-15 11:55 ` Juan Quintela
2023-05-15 12:17 ` Daniel P. Berrangé
2023-05-15 12:25 ` Juan Quintela
2023-05-12 14:32 ` [PATCH v4 3/8] migration: converts socket backend to accept MigrateAddress struct Het Gala
2023-05-15 8:55 ` Juan Quintela [this message]
2023-05-15 10:17 ` Daniel P. Berrangé
2023-05-15 14:22 ` Het Gala
2023-05-15 14:46 ` Juan Quintela
2023-05-15 15:16 ` Het Gala
2023-05-15 16:28 ` Het Gala
2023-05-15 16:42 ` Daniel P. Berrangé
2023-05-12 14:32 ` [PATCH v4 4/8] migration: converts rdma " Het Gala
2023-05-15 9:51 ` Juan Quintela
2023-05-15 10:24 ` Daniel P. Berrangé
2023-05-15 14:38 ` Het Gala
2023-05-15 14:58 ` Daniel P. Berrangé
2023-05-15 15:17 ` Het Gala
2023-05-12 14:32 ` [PATCH v4 5/8] migration: converts exec " Het Gala
2023-05-15 9:58 ` Juan Quintela
2023-05-15 10:29 ` Daniel P. Berrangé
2023-05-15 15:04 ` Het Gala
2023-05-12 14:32 ` [PATCH v4 6/8] migration: modified 'migrate' QAPI to accept 'channels' argument for migration Het Gala
2023-05-15 10:36 ` Daniel P. Berrangé
2023-05-16 5:48 ` Het Gala
2023-05-16 8:57 ` Daniel P. Berrangé
2023-05-16 10:14 ` Het Gala
2023-05-12 14:32 ` [PATCH v4 7/8] migration: modified 'migrate-incoming' " Het Gala
2023-05-15 10:01 ` Juan Quintela
2023-05-15 10:38 ` Daniel P. Berrangé
2023-05-12 14:32 ` [PATCH v4 8/8] migration: Introduced MigrateChannelList struct to migration code flow Het Gala
2023-05-15 10:04 ` Juan Quintela
2023-05-15 10:42 ` Daniel P. Berrangé
2023-05-16 17:18 ` Het Gala
2023-05-17 8:34 ` Juan Quintela
2023-05-16 10:32 ` [PATCH v4 0/8] migration: Modified 'migrate' and 'migrate-incoming' QAPI commands for migration Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87wn1a0ya5.fsf@secure.mitica \
--to=quintela@redhat.com \
--cc=aravind.retnakaran@nutanix.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=dgilbert@redhat.com \
--cc=eblake@redhat.com \
--cc=het.gala@nutanix.com \
--cc=manish.mishra@nutanix.com \
--cc=pbonzini@redhat.com \
--cc=prerna.saxena@nutanix.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.