[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 10/52] migration/rdma: Eliminate error_propagate()
From: |
Markus Armbruster |
Subject: |
[PATCH 10/52] migration/rdma: Eliminate error_propagate() |
Date: |
Mon, 18 Sep 2023 16:41:24 +0200 |
When all we do with an Error we receive into a local variable is
propagating to somewhere else, we can just as well receive it there
right away.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
migration/rdma.c | 19 +++++++------------
1 file changed, 7 insertions(+), 12 deletions(-)
diff --git a/migration/rdma.c b/migration/rdma.c
index 2b40bbcbb0..960fff5860 100644
--- a/migration/rdma.c
+++ b/migration/rdma.c
@@ -2445,7 +2445,6 @@ static void qemu_rdma_cleanup(RDMAContext *rdma)
static int qemu_rdma_source_init(RDMAContext *rdma, bool pin_all, Error **errp)
{
int ret, idx;
- Error *local_err = NULL, **temp = &local_err;
/*
* Will be validated against destination's actual capabilities
@@ -2453,14 +2452,14 @@ static int qemu_rdma_source_init(RDMAContext *rdma,
bool pin_all, Error **errp)
*/
rdma->pin_all = pin_all;
- ret = qemu_rdma_resolve_host(rdma, temp);
+ ret = qemu_rdma_resolve_host(rdma, errp);
if (ret) {
goto err_rdma_source_init;
}
ret = qemu_rdma_alloc_pd_cq(rdma);
if (ret) {
- ERROR(temp, "rdma migration: error allocating pd and cq! Your mlock()"
+ ERROR(errp, "rdma migration: error allocating pd and cq! Your mlock()"
" limits may be too low. Please check $ ulimit -a # and "
"search for 'ulimit -l' in the output");
goto err_rdma_source_init;
@@ -2468,13 +2467,13 @@ static int qemu_rdma_source_init(RDMAContext *rdma,
bool pin_all, Error **errp)
ret = qemu_rdma_alloc_qp(rdma);
if (ret) {
- ERROR(temp, "rdma migration: error allocating qp!");
+ ERROR(errp, "rdma migration: error allocating qp!");
goto err_rdma_source_init;
}
ret = qemu_rdma_init_ram_blocks(rdma);
if (ret) {
- ERROR(temp, "rdma migration: error initializing ram blocks!");
+ ERROR(errp, "rdma migration: error initializing ram blocks!");
goto err_rdma_source_init;
}
@@ -2489,7 +2488,7 @@ static int qemu_rdma_source_init(RDMAContext *rdma, bool
pin_all, Error **errp)
for (idx = 0; idx < RDMA_WRID_MAX; idx++) {
ret = qemu_rdma_reg_control(rdma, idx);
if (ret) {
- ERROR(temp, "rdma migration: error registering %d control!",
+ ERROR(errp, "rdma migration: error registering %d control!",
idx);
goto err_rdma_source_init;
}
@@ -2498,7 +2497,6 @@ static int qemu_rdma_source_init(RDMAContext *rdma, bool
pin_all, Error **errp)
return 0;
err_rdma_source_init:
- error_propagate(errp, local_err);
qemu_rdma_cleanup(rdma);
return -1;
}
@@ -4103,7 +4101,6 @@ void rdma_start_incoming_migration(const char *host_port,
Error **errp)
{
int ret;
RDMAContext *rdma;
- Error *local_err = NULL;
trace_rdma_start_incoming_migration();
@@ -4113,13 +4110,12 @@ void rdma_start_incoming_migration(const char
*host_port, Error **errp)
return;
}
- rdma = qemu_rdma_data_init(host_port, &local_err);
+ rdma = qemu_rdma_data_init(host_port, errp);
if (rdma == NULL) {
goto err;
}
- ret = qemu_rdma_dest_init(rdma, &local_err);
-
+ ret = qemu_rdma_dest_init(rdma, errp);
if (ret) {
goto err;
}
@@ -4142,7 +4138,6 @@ void rdma_start_incoming_migration(const char *host_port,
Error **errp)
cleanup_rdma:
qemu_rdma_cleanup(rdma);
err:
- error_propagate(errp, local_err);
if (rdma) {
g_free(rdma->host);
g_free(rdma->host_port);
--
2.41.0
- [PATCH 07/52] migration/rdma: Give qio_channel_rdma_source_funcs internal linkage, (continued)
- [PATCH 07/52] migration/rdma: Give qio_channel_rdma_source_funcs internal linkage, Markus Armbruster, 2023/09/18
- [PATCH 47/52] migration/rdma: Don't report received completion events as error, Markus Armbruster, 2023/09/18
- [PATCH 19/52] migration/rdma: Fix qemu_get_cm_event_timeout() to always set error, Markus Armbruster, 2023/09/18
- [PATCH 33/52] migration/rdma: Drop "@errp is clear" guards around error_setg(), Markus Armbruster, 2023/09/18
- [PATCH 10/52] migration/rdma: Eliminate error_propagate(),
Markus Armbruster <=
- [PATCH 13/52] migration/rdma: Make qemu_rdma_buffer_mergable() return bool, Markus Armbruster, 2023/09/18
- [PATCH 05/52] migration/rdma: Consistently use uint64_t for work request IDs, Markus Armbruster, 2023/09/18