mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 20:22:09 +00:00
scsi: iscsi: Move iscsi_ep_disconnect()
This patch moves iscsi_ep_disconnect() so it can be called earlier in the next patch. Link: https://lore.kernel.org/r/20220408001314.5014-2-michael.christie@oracle.com Tested-by: Manish Rangankar <mrangankar@marvell.com> Reviewed-by: Lee Duncan <lduncan@suse.com> Reviewed-by: Chris Leech <cleech@redhat.com> Signed-off-by: Mike Christie <michael.christie@oracle.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
bcd8a45223
commit
c34f95e98d
@ -2217,6 +2217,25 @@ static void iscsi_stop_conn(struct iscsi_cls_conn *conn, int flag)
|
||||
ISCSI_DBG_TRANS_CONN(conn, "Stopping conn done.\n");
|
||||
}
|
||||
|
||||
static void iscsi_ep_disconnect(struct iscsi_cls_conn *conn, bool is_active)
|
||||
{
|
||||
struct iscsi_cls_session *session = iscsi_conn_to_session(conn);
|
||||
struct iscsi_endpoint *ep;
|
||||
|
||||
ISCSI_DBG_TRANS_CONN(conn, "disconnect ep.\n");
|
||||
conn->state = ISCSI_CONN_FAILED;
|
||||
|
||||
if (!conn->ep || !session->transport->ep_disconnect)
|
||||
return;
|
||||
|
||||
ep = conn->ep;
|
||||
conn->ep = NULL;
|
||||
|
||||
session->transport->unbind_conn(conn, is_active);
|
||||
session->transport->ep_disconnect(ep);
|
||||
ISCSI_DBG_TRANS_CONN(conn, "disconnect ep done.\n");
|
||||
}
|
||||
|
||||
static int iscsi_if_stop_conn(struct iscsi_transport *transport,
|
||||
struct iscsi_uevent *ev)
|
||||
{
|
||||
@ -2257,25 +2276,6 @@ static int iscsi_if_stop_conn(struct iscsi_transport *transport,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void iscsi_ep_disconnect(struct iscsi_cls_conn *conn, bool is_active)
|
||||
{
|
||||
struct iscsi_cls_session *session = iscsi_conn_to_session(conn);
|
||||
struct iscsi_endpoint *ep;
|
||||
|
||||
ISCSI_DBG_TRANS_CONN(conn, "disconnect ep.\n");
|
||||
conn->state = ISCSI_CONN_FAILED;
|
||||
|
||||
if (!conn->ep || !session->transport->ep_disconnect)
|
||||
return;
|
||||
|
||||
ep = conn->ep;
|
||||
conn->ep = NULL;
|
||||
|
||||
session->transport->unbind_conn(conn, is_active);
|
||||
session->transport->ep_disconnect(ep);
|
||||
ISCSI_DBG_TRANS_CONN(conn, "disconnect ep done.\n");
|
||||
}
|
||||
|
||||
static void iscsi_cleanup_conn_work_fn(struct work_struct *work)
|
||||
{
|
||||
struct iscsi_cls_conn *conn = container_of(work, struct iscsi_cls_conn,
|
||||
|
Loading…
Reference in New Issue
Block a user