From 3f5a75ce5ecbff369b2283f20eb941fab6864d63 Mon Sep 17 00:00:00 2001 From: Peter Lieven Date: Sat, 20 Oct 2012 19:00:32 +0200 Subject: [PATCH] Remove redundant code in iscsi_service() --- lib/socket.c | 46 ++++++++++++++++------------------------------ 1 file changed, 16 insertions(+), 30 deletions(-) diff --git a/lib/socket.c b/lib/socket.c index dbccbfb..83df934 100644 --- a/lib/socket.c +++ b/lib/socket.c @@ -439,6 +439,17 @@ iscsi_write_to_socket(struct iscsi_context *iscsi) return 0; } +int inline +iscsi_service_reconnect_if_loggedin(struct iscsi_context *iscsi) +{ + if (iscsi->is_loggedin) { + if (iscsi_reconnect(iscsi) == 0) { + return 0; + } + } + return -1; +} + int iscsi_service(struct iscsi_context *iscsi, int revents) { @@ -460,24 +471,14 @@ iscsi_service(struct iscsi_context *iscsi, int revents) } iscsi->socket_status_cb(iscsi, SCSI_STATUS_ERROR, NULL, iscsi->connect_data); - if (iscsi->is_loggedin) { - if (iscsi_reconnect(iscsi) == 0) { - return 0; - } - } - return -1; + return iscsi_service_reconnect_if_loggedin(iscsi); } if (revents & POLLHUP) { iscsi_set_error(iscsi, "iscsi_service: POLLHUP, " "socket error."); iscsi->socket_status_cb(iscsi, SCSI_STATUS_ERROR, NULL, iscsi->connect_data); - if (iscsi->is_loggedin) { - if (iscsi_reconnect(iscsi) == 0) { - return 0; - } - } - return -1; + return iscsi_service_reconnect_if_loggedin(iscsi); } if (iscsi->is_connected == 0 && iscsi->fd != -1 && revents&POLLOUT) { @@ -493,12 +494,7 @@ iscsi_service(struct iscsi_context *iscsi, int revents) strerror(err), err); iscsi->socket_status_cb(iscsi, SCSI_STATUS_ERROR, NULL, iscsi->connect_data); - if (iscsi->is_loggedin) { - if (iscsi_reconnect(iscsi) == 0) { - return 0; - } - } - return -1; + return iscsi_service_reconnect_if_loggedin(iscsi); } DPRINTF(iscsi,2,"connection to %s established",iscsi->connected_portal); @@ -511,22 +507,12 @@ iscsi_service(struct iscsi_context *iscsi, int revents) if (revents & POLLOUT && iscsi->outqueue != NULL) { if (iscsi_write_to_socket(iscsi) != 0) { - if (iscsi->is_loggedin) { - if (iscsi_reconnect(iscsi) == 0) { - return 0; - } - } - return -1; + return iscsi_service_reconnect_if_loggedin(iscsi); } } if (revents & POLLIN) { if (iscsi_read_from_socket(iscsi) != 0) { - if (iscsi->is_loggedin) { - if (iscsi_reconnect(iscsi) == 0) { - return 0; - } - } - return -1; + return iscsi_service_reconnect_if_loggedin(iscsi); } }