[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 24/52] migration/rdma: Return -1 instead of negative errno co
From: |
Zhijian Li (Fujitsu) |
Subject: |
Re: [PATCH 24/52] migration/rdma: Return -1 instead of negative errno code |
Date: |
Tue, 26 Sep 2023 10:15:58 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 |
On 18/09/2023 22:41, Markus Armbruster wrote:
> Several functions return negative errno codes on failure. Callers
> check for specific codes exactly never. For some of the functions,
> callers couldn't check even if they wanted to, because the functions
> also return negative values that aren't errno codes, leaving readers
> confused on what the function actually returns.
>
> Clean up and simplify: return -1 instead of negative errno code.
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Li Zhijian <lizhijian@fujitsu.com>
> ---
> migration/rdma.c | 44 ++++++++++++++++++++++----------------------
> 1 file changed, 22 insertions(+), 22 deletions(-)
>
> diff --git a/migration/rdma.c b/migration/rdma.c
> index efbb3c7754..d0af258468 100644
> --- a/migration/rdma.c
> +++ b/migration/rdma.c
> @@ -857,14 +857,14 @@ static int qemu_rdma_broken_ipv6_kernel(struct
> ibv_context *verbs, Error **errp)
> } else {
> error_setg_errno(errp, errno,
> "could not open RDMA device context");
> - return -EINVAL;
> + return -1;
> }
> }
>
> if (ibv_query_port(verbs, 1, &port_attr)) {
> ibv_close_device(verbs);
> ERROR(errp, "Could not query initial IB port");
> - return -EINVAL;
> + return -1;
> }
>
> if (port_attr.link_layer == IBV_LINK_LAYER_INFINIBAND) {
> @@ -889,7 +889,7 @@ static int qemu_rdma_broken_ipv6_kernel(struct
> ibv_context *verbs, Error **errp)
> ERROR(errp, "You only have RoCE / iWARP devices in your
> systems"
> " and your management software has specified
> '[::]'"
> ", but IPv6 over RoCE / iWARP is not supported
> in Linux.");
> - return -ENONET;
> + return -1;
> }
> }
>
> @@ -905,13 +905,13 @@ static int qemu_rdma_broken_ipv6_kernel(struct
> ibv_context *verbs, Error **errp)
> /* IB ports start with 1, not 0 */
> if (ibv_query_port(verbs, 1, &port_attr)) {
> ERROR(errp, "Could not query initial IB port");
> - return -EINVAL;
> + return -1;
> }
>
> if (port_attr.link_layer == IBV_LINK_LAYER_ETHERNET) {
> ERROR(errp, "Linux kernel's RoCE / iWARP does not support IPv6 "
> "(but patches on linux-rdma in progress)");
> - return -ENONET;
> + return -1;
> }
>
> #endif
> @@ -1409,7 +1409,7 @@ static int qemu_rdma_unregister_waiting(RDMAContext
> *rdma)
>
> if (ret != 0) {
> perror("unregistration chunk failed");
> - return -ret;
> + return -1;
> }
> rdma->total_registrations--;
>
> @@ -1554,7 +1554,7 @@ static int qemu_rdma_wait_comp_channel(RDMAContext
> *rdma,
> if (ret) {
> error_report("failed to get cm event while wait "
> "completion channel");
> - return -EPIPE;
> + return -1;
> }
>
> error_report("receive cm event while wait comp channel,"
> @@ -1562,7 +1562,7 @@ static int qemu_rdma_wait_comp_channel(RDMAContext
> *rdma,
> if (cm_event->event == RDMA_CM_EVENT_DISCONNECTED ||
> cm_event->event == RDMA_CM_EVENT_DEVICE_REMOVAL) {
> rdma_ack_cm_event(cm_event);
> - return -EPIPE;
> + return -1;
> }
> rdma_ack_cm_event(cm_event);
> }
> @@ -1575,18 +1575,18 @@ static int qemu_rdma_wait_comp_channel(RDMAContext
> *rdma,
> * I don't trust errno from qemu_poll_ns
> */
> error_report("%s: poll failed", __func__);
> - return -EPIPE;
> + return -1;
> }
>
> if (migrate_get_current()->state ==
> MIGRATION_STATUS_CANCELLING) {
> /* Bail out and let the cancellation happen */
> - return -EPIPE;
> + return -1;
> }
> }
> }
>
> if (rdma->received_error) {
> - return -EPIPE;
> + return -1;
> }
> return -!!rdma->error_state;
> }
> @@ -1751,7 +1751,7 @@ static int qemu_rdma_post_send_control(RDMAContext
> *rdma, uint8_t *buf,
>
> if (ret > 0) {
> error_report("Failed to use post IB SEND for control");
> - return -ret;
> + return -1;
> }
>
> ret = qemu_rdma_block_for_wrid(rdma, RDMA_WRID_SEND_CONTROL, NULL);
> @@ -1820,15 +1820,15 @@ static int
> qemu_rdma_exchange_get_response(RDMAContext *rdma,
> if (head->type == RDMA_CONTROL_ERROR) {
> rdma->received_error = true;
> }
> - return -EIO;
> + return -1;
> }
> if (head->len > RDMA_CONTROL_MAX_BUFFER - sizeof(*head)) {
> error_report("too long length: %d", head->len);
> - return -EINVAL;
> + return -1;
> }
> if (sizeof(*head) + head->len != byte_len) {
> error_report("Malformed length: %d byte_len %d", head->len,
> byte_len);
> - return -EINVAL;
> + return -1;
> }
>
> return 0;
> @@ -2092,7 +2092,7 @@ retry:
> (uint8_t *) &comp, NULL, NULL, NULL);
>
> if (ret < 0) {
> - return -EIO;
> + return -1;
> }
>
> stat64_add(&mig_stats.zero_pages,
> @@ -2127,7 +2127,7 @@ retry:
> &sge.lkey, NULL, chunk,
> chunk_start, chunk_end)) {
> error_report("cannot get lkey");
> - return -EINVAL;
> + return -1;
> }
>
> reg_result = (RDMARegisterResult *)
> @@ -2146,7 +2146,7 @@ retry:
> &sge.lkey, NULL, chunk,
> chunk_start, chunk_end)) {
> error_report("cannot get lkey!");
> - return -EINVAL;
> + return -1;
> }
> }
>
> @@ -2158,7 +2158,7 @@ retry:
> &sge.lkey, NULL, chunk,
> chunk_start,
> chunk_end)) {
> error_report("cannot get lkey!");
> - return -EINVAL;
> + return -1;
> }
> }
>
> @@ -2200,7 +2200,7 @@ retry:
>
> } else if (ret > 0) {
> perror("rdma migration: post rdma write failed");
> - return -ret;
> + return -1;
> }
>
> set_bit(chunk, block->transit_bitmap);
> @@ -2920,14 +2920,14 @@ static int qemu_rdma_drain_cq(QEMUFile *f,
> RDMAContext *rdma)
> int ret;
>
> if (qemu_rdma_write_flush(f, rdma) < 0) {
> - return -EIO;
> + return -1;
> }
>
> while (rdma->nb_sent) {
> ret = qemu_rdma_block_for_wrid(rdma, RDMA_WRID_RDMA_WRITE, NULL);
> if (ret < 0) {
> error_report("rdma migration: complete polling error!");
> - return -EIO;
> + return -1;
> }
> }
>
- [PATCH 31/52] migration/rdma: Retire macro ERROR(), (continued)
- [PATCH 31/52] migration/rdma: Retire macro ERROR(), Markus Armbruster, 2023/09/18
- [PATCH 44/52] migration/rdma: Silence qemu_rdma_resolve_host(), Markus Armbruster, 2023/09/18
- [PATCH 29/52] migration/rdma: Plug a memory leak and improve a message, Markus Armbruster, 2023/09/18
- [PATCH 08/52] migration/rdma: Fix qemu_rdma_accept() to return failure on errors, Markus Armbruster, 2023/09/18
- [PATCH 24/52] migration/rdma: Return -1 instead of negative errno code, Markus Armbruster, 2023/09/18
- Re: [PATCH 24/52] migration/rdma: Return -1 instead of negative errno code,
Zhijian Li (Fujitsu) <=
- [PATCH 42/52] migration/rdma: Convert qemu_rdma_post_recv_control() to Error, Markus Armbruster, 2023/09/18
- [PATCH 35/52] migration/rdma: Convert qemu_rdma_exchange_send() to Error, Markus Armbruster, 2023/09/18
- [PATCH 50/52] migration/rdma: Silence qemu_rdma_cleanup(), Markus Armbruster, 2023/09/18
[PATCH 36/52] migration/rdma: Convert qemu_rdma_exchange_get_response() to Error, Markus Armbruster, 2023/09/18