isert-scst: Minimize diffs with upstream

Move the isert_cm_disconnect_handler() definition, pass the event type to
isert_cm_evt_listener_handler() instead of the struct rdma_cm_event pointer
and change the return value of isert_cm_evt_listener_handler() from 0 /
-EINVAL into -1.

Signed-off-by: Chesnokov Gleb <Chesnokov.G@raidix.com>
[ bvanassche: made the patch description more detailed ]


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9473 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2021-07-09 03:15:30 +00:00
parent 2a775c4231
commit 5b4f387943
+17 -22
View File
@@ -1625,16 +1625,6 @@ out:
return ret;
}
static int isert_cm_disconnect_handler(struct rdma_cm_id *cm_id,
struct rdma_cm_event *event)
{
struct isert_connection *isert_conn = cm_id->qp->qp_context;
isert_conn_disconnect(isert_conn);
return 0;
}
static const char *cm_event_type_str(enum rdma_cm_event_type ev_type)
{
switch (ev_type) {
@@ -1682,28 +1672,33 @@ static int isert_handle_failure(struct isert_connection *conn)
}
static int isert_cm_evt_listener_handler(struct rdma_cm_id *cm_id,
struct rdma_cm_event *cm_ev)
enum rdma_cm_event_type event)
{
enum rdma_cm_event_type ev_type;
struct isert_portal *portal;
int err = 0;
ev_type = cm_ev->event;
portal = cm_id->context;
switch (ev_type) {
switch (event) {
case RDMA_CM_EVENT_DEVICE_REMOVAL:
portal->cm_id = NULL;
err = -EINVAL;
break;
default:
PRINT_INFO("Listener event:%s(%d), ignored",
cm_event_type_str(ev_type), ev_type);
cm_event_type_str(event), event);
break;
}
return err;
return -1;
}
static int isert_cm_disconnect_handler(struct rdma_cm_id *cm_id,
enum rdma_cm_event_type event)
{
struct isert_connection *isert_conn = cm_id->qp->qp_context;
isert_conn_disconnect(isert_conn);
return 0;
}
static int isert_cm_evt_handler(struct rdma_cm_id *cm_id,
@@ -1722,7 +1717,7 @@ static int isert_cm_evt_handler(struct rdma_cm_id *cm_id,
portal, cm_id);
if (portal->cm_id == cm_id) {
err = isert_cm_evt_listener_handler(cm_id, cm_ev);
err = isert_cm_evt_listener_handler(cm_id, ev_type);
goto out;
}
@@ -1739,14 +1734,14 @@ static int isert_cm_evt_handler(struct rdma_cm_id *cm_id,
case RDMA_CM_EVENT_CONNECT_ERROR:
case RDMA_CM_EVENT_REJECTED:
err = isert_cm_disconnect_handler(cm_id, cm_ev);
err = isert_cm_disconnect_handler(cm_id, ev_type);
break;
case RDMA_CM_EVENT_ADDR_CHANGE:
case RDMA_CM_EVENT_DISCONNECTED:
case RDMA_CM_EVENT_DEVICE_REMOVAL:
case RDMA_CM_EVENT_TIMEWAIT_EXIT:
isert_cm_disconnect_handler(cm_id, cm_ev);
isert_cm_disconnect_handler(cm_id, ev_type);
err = isert_cm_disconnected_handler(cm_id, cm_ev);
break;