[SCSI] bnx2i: Modified the bnx2i stop path to compensate for in progress ops
The stop path has been augmented to wait a max of 10s for all in progress offload and destroy activities to complete before proceeding to terminate all active connections (via iscsid or forcefully). Note that any new offload and destroy requests are now blocked and return to the caller immediately. Signed-off-by: Eddie Wai <eddie.wai@broadcom.com> Acked-by: Anil Veerabhadrappa <anilgv@broadcom.com> Reviewed-by: Benjamin Li <benli@broadcom.com> Reviewed-by: Michael Chan <mchan@broadcom.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
committed by
James Bottomley
parent
016ef69076
commit
842158d7b7
@@ -1383,6 +1383,12 @@ static int bnx2i_conn_bind(struct iscsi_cls_session *cls_session,
|
||||
ep = iscsi_lookup_endpoint(transport_fd);
|
||||
if (!ep)
|
||||
return -EINVAL;
|
||||
/*
|
||||
* Forcefully terminate all in progress connection recovery at the
|
||||
* earliest, either in bind(), send_pdu(LOGIN), or conn_start()
|
||||
*/
|
||||
if (bnx2i_adapter_ready(hba))
|
||||
return -EIO;
|
||||
|
||||
bnx2i_ep = ep->dd_data;
|
||||
if ((bnx2i_ep->state == EP_STATE_TCP_FIN_RCVD) ||
|
||||
@@ -1404,7 +1410,6 @@ static int bnx2i_conn_bind(struct iscsi_cls_session *cls_session,
|
||||
hba->netdev->name);
|
||||
return -EEXIST;
|
||||
}
|
||||
|
||||
bnx2i_ep->conn = bnx2i_conn;
|
||||
bnx2i_conn->ep = bnx2i_ep;
|
||||
bnx2i_conn->iscsi_conn_cid = bnx2i_ep->ep_iscsi_cid;
|
||||
|
||||
Reference in New Issue
Block a user