From: Juan Quintela <quintela@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Laurent Vivier" <lvivier@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Juan Quintela" <quintela@redhat.com>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>
Subject: [PULL 3/6] migration/rdma: rdma_accept_incoming_migration fix error handling
Date: Thu, 13 Feb 2020 14:20:27 +0100 [thread overview]
Message-ID: <20200213132030.57757-4-quintela@redhat.com> (raw)
In-Reply-To: <20200213132030.57757-1-quintela@redhat.com>
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
rdma_accept_incoming_migration is called from an fd handler and
can't return an Error * anywhere.
Currently it's leaking Error's in errp/local_err - there's
no point putting them in there unless we can report them.
Turn most into fprintf's, and the last into an error_reportf_err
where it's coming up from another function.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
migration/rdma.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/migration/rdma.c b/migration/rdma.c
index 2379b8345b..f61587891b 100644
--- a/migration/rdma.c
+++ b/migration/rdma.c
@@ -3980,13 +3980,13 @@ static void rdma_accept_incoming_migration(void *opaque)
RDMAContext *rdma = opaque;
int ret;
QEMUFile *f;
- Error *local_err = NULL, **errp = &local_err;
+ Error *local_err = NULL;
trace_qemu_rdma_accept_incoming_migration();
ret = qemu_rdma_accept(rdma);
if (ret) {
- ERROR(errp, "RDMA Migration initialization failed!");
+ fprintf(stderr, "RDMA ERROR: Migration initialization failed\n");
return;
}
@@ -3998,13 +3998,16 @@ static void rdma_accept_incoming_migration(void *opaque)
f = qemu_fopen_rdma(rdma, "rb");
if (f == NULL) {
- ERROR(errp, "could not qemu_fopen_rdma!");
+ fprintf(stderr, "RDMA ERROR: could not qemu_fopen_rdma\n");
qemu_rdma_cleanup(rdma);
return;
}
rdma->migration_started_on_destination = 1;
- migration_fd_process_incoming(f, errp);
+ migration_fd_process_incoming(f, &local_err);
+ if (local_err) {
+ error_reportf_err(local_err, "RDMA ERROR:");
+ }
}
void rdma_start_incoming_migration(const char *host_port, Error **errp)
--
2.24.1
next prev parent reply other threads:[~2020-02-13 13:22 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-13 13:20 [PULL 0/6] Pull migration patches Juan Quintela
2020-02-13 13:20 ` [PULL 1/6] migration: Maybe VM is paused when migration is cancelled Juan Quintela
2020-02-13 13:20 ` [PULL 2/6] migration: Optimization about wait-unplug migration state Juan Quintela
2020-02-13 13:20 ` Juan Quintela [this message]
2020-02-13 13:20 ` [PULL 4/6] tests/migration: Add some slack to auto converge Juan Quintela
2020-02-13 13:20 ` [PULL 5/6] migration-test: fix some memleaks in migration-test Juan Quintela
2020-02-13 13:20 ` [PULL 6/6] git: Make submodule check only needed modules Juan Quintela
2020-02-14 18:36 ` [PULL 0/6] Pull migration patches Peter Maydell
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=20200213132030.57757-4-quintela@redhat.com \
--to=quintela@redhat.com \
--cc=berrange@redhat.com \
--cc=dgilbert@redhat.com \
--cc=lvivier@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).