/** * beiscsi_conn_create - create an instance of iscsi connection * @cls_session: ptr to iscsi_cls_session * @cid: iscsi cid */ struct iscsi_cls_conn * beiscsi_conn_create(struct iscsi_cls_session *cls_session, u32 cid) { struct beiscsi_hba *phba; struct Scsi_Host *shost; struct iscsi_cls_conn *cls_conn; struct beiscsi_conn *beiscsi_conn; struct iscsi_conn *conn; struct iscsi_session *sess; struct beiscsi_session *beiscsi_sess; SE_DEBUG(DBG_LVL_8, "In beiscsi_conn_create ,cid" "from iscsi layer=%d\n", cid); shost = iscsi_session_to_shost(cls_session); phba = iscsi_host_priv(shost); cls_conn = iscsi2_conn_setup(cls_session, sizeof(*beiscsi_conn), cid); if (!cls_conn) return NULL; conn = cls_conn->dd_data; beiscsi_conn = conn->dd_data; beiscsi_conn->ep = NULL; beiscsi_conn->phba = phba; beiscsi_conn->conn = conn; sess = cls_session->dd_data; beiscsi_sess = sess->dd_data; beiscsi_conn->beiscsi_sess = beiscsi_sess; return cls_conn; }
static struct iscsi_cls_conn * iscsi_iser_conn_create(struct iscsi_cls_session *cls_session, uint32_t conn_idx) { struct iscsi_conn *conn; struct iscsi_cls_conn *cls_conn; struct iscsi_iser_conn *iser_conn; cls_conn = iscsi2_conn_setup(cls_session, sizeof(*iser_conn), conn_idx); if (!cls_conn) return NULL; conn = cls_conn->dd_data; /* * due to issues with the login code re iser sematics * this not set in iscsi_conn_setup - FIXME */ conn->max_recv_dlength = ISER_RECV_DATA_SEG_LEN; iser_conn = conn->dd_data; conn->dd_data = iser_conn; iser_conn->iscsi_conn = conn; return cls_conn; }