[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 10/12] nbd/server: get rid of fail: return rc
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[Qemu-devel] [PATCH v2 10/12] nbd/server: get rid of fail: return rc |
Date: |
Fri, 2 Jun 2017 18:01:48 +0300 |
"goto fail" error handling scheme is not needed for just returning
error code. Better is return it immediately.
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
---
nbd/server.c | 28 ++++++++++++----------------
1 file changed, 12 insertions(+), 16 deletions(-)
diff --git a/nbd/server.c b/nbd/server.c
index ec163ad829..2f1c5b0a5b 100644
--- a/nbd/server.c
+++ b/nbd/server.c
@@ -265,7 +265,6 @@ static int nbd_negotiate_handle_list(NBDClient *client,
uint32_t length)
static int nbd_negotiate_handle_export_name(NBDClient *client, uint32_t length)
{
- int rc = -EINVAL;
char name[NBD_MAX_NAME_SIZE + 1];
/* Client sends:
@@ -274,11 +273,11 @@ static int nbd_negotiate_handle_export_name(NBDClient
*client, uint32_t length)
TRACE("Checking length");
if (length >= sizeof(name)) {
LOG("Bad length received");
- goto fail;
+ return -EINVAL;
}
if (nbd_read(client->ioc, name, length, NULL) < 0) {
LOG("read failed");
- goto fail;
+ return -EINVAL;
}
name[length] = '\0';
@@ -287,14 +286,13 @@ static int nbd_negotiate_handle_export_name(NBDClient
*client, uint32_t length)
client->exp = nbd_export_find(name);
if (!client->exp) {
LOG("export not found");
- goto fail;
+ return -EINVAL;
}
QTAILQ_INSERT_TAIL(&client->exp->clients, client, next);
nbd_export_get(client->exp);
- rc = 0;
-fail:
- return rc;
+
+ return 0;
}
/* Handle NBD_OPT_STARTTLS. Return NULL to drop connection, or else the
@@ -564,7 +562,6 @@ static coroutine_fn int nbd_negotiate(NBDClient *client)
*/
qio_channel_set_blocking(client->ioc, false, NULL);
- rc = -EINVAL;
TRACE("Beginning negotiation.");
memset(buf, 0, sizeof(buf));
@@ -585,21 +582,21 @@ static coroutine_fn int nbd_negotiate(NBDClient *client)
if (oldStyle) {
if (client->tlscreds) {
TRACE("TLS cannot be enabled with oldstyle protocol");
- goto fail;
+ return -EINVAL;
}
if (nbd_write(client->ioc, buf, sizeof(buf), NULL) < 0) {
LOG("write failed");
- goto fail;
+ return -EINVAL;
}
} else {
if (nbd_write(client->ioc, buf, 18, NULL) < 0) {
LOG("write failed");
- goto fail;
+ return -EINVAL;
}
rc = nbd_negotiate_options(client);
if (rc != 0) {
LOG("option negotiation failed");
- goto fail;
+ return rc;
}
TRACE("advertising size %" PRIu64 " and flags %x",
@@ -610,14 +607,13 @@ static coroutine_fn int nbd_negotiate(NBDClient *client)
rc = nbd_write(client->ioc, buf + 18, len, NULL);
if (rc < 0) {
LOG("write failed");
- goto fail;
+ return rc;
}
}
TRACE("Negotiation succeeded.");
- rc = 0;
-fail:
- return rc;
+
+ return 0;
}
static int nbd_receive_request(QIOChannel *ioc, NBDRequest *request)
--
2.11.1
- [Qemu-devel] [PATCH v2 00/12] nbd refactoring part 1, Vladimir Sementsov-Ogievskiy, 2017/06/02
- [Qemu-devel] [PATCH v2 07/12] nbd/server: refactor nbd_co_receive_request, Vladimir Sementsov-Ogievskiy, 2017/06/02
- [Qemu-devel] [PATCH v2 11/12] nbd/server: rename rc to ret, Vladimir Sementsov-Ogievskiy, 2017/06/02
- [Qemu-devel] [PATCH v2 12/12] nbd/server: refactor nbd_trip, Vladimir Sementsov-Ogievskiy, 2017/06/02
- [Qemu-devel] [PATCH v2 08/12] nbd/server: remove NBDClientNewData, Vladimir Sementsov-Ogievskiy, 2017/06/02
- [Qemu-devel] [PATCH v2 10/12] nbd/server: get rid of fail: return rc,
Vladimir Sementsov-Ogievskiy <=
- [Qemu-devel] [PATCH v2 05/12] nbd/server: refactor nbd_co_send_reply, Vladimir Sementsov-Ogievskiy, 2017/06/02
- [Qemu-devel] [PATCH v2 03/12] nbd/server: get rid of nbd_negotiate_read and friends, Vladimir Sementsov-Ogievskiy, 2017/06/02
- [Qemu-devel] [PATCH v2 06/12] nbd/server: get rid of EAGAIN dead code, Vladimir Sementsov-Ogievskiy, 2017/06/02
- [Qemu-devel] [PATCH v2 09/12] nbd/server: nbd_negotiate: fix error path, Vladimir Sementsov-Ogievskiy, 2017/06/02
- [Qemu-devel] [PATCH v2 04/12] nbd/server: get rid of ssize_t, Vladimir Sementsov-Ogievskiy, 2017/06/02
- [Qemu-devel] [PATCH v2 02/12] nbd: make nbd_drop public, Vladimir Sementsov-Ogievskiy, 2017/06/02
- [Qemu-devel] [PATCH v2 01/12] nbd: rename read_sync and friends, Vladimir Sementsov-Ogievskiy, 2017/06/02
- [Qemu-devel] ping Re: [PATCH v2 00/12] nbd refactoring part 1, Vladimir Sementsov-Ogievskiy, 2017/06/13