aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/scsi/libfc.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/include/scsi/libfc.h b/include/scsi/libfc.h
index 04db7a9e631b..b381b1ca9aec 100644
--- a/include/scsi/libfc.h
+++ b/include/scsi/libfc.h
@@ -348,6 +348,7 @@ static inline bool fc_fcp_is_read(const struct fc_fcp_pkt *fsp)
348 */ 348 */
349 349
350struct fc_exch_mgr; 350struct fc_exch_mgr;
351struct fc_exch_mgr_anchor;
351 352
352/* 353/*
353 * Sequence. 354 * Sequence.
@@ -709,6 +710,7 @@ struct fc_lport {
709 /* Associations */ 710 /* Associations */
710 struct Scsi_Host *host; 711 struct Scsi_Host *host;
711 struct fc_exch_mgr *emp; 712 struct fc_exch_mgr *emp;
713 struct list_head ema_list;
712 struct fc_rport *dns_rp; 714 struct fc_rport *dns_rp;
713 struct fc_rport *ptp_rp; 715 struct fc_rport *ptp_rp;
714 void *scsi_priv; 716 void *scsi_priv;
@@ -964,6 +966,28 @@ int fc_elsct_init(struct fc_lport *lp);
964int fc_exch_init(struct fc_lport *lp); 966int fc_exch_init(struct fc_lport *lp);
965 967
966/* 968/*
969 * Adds Exchange Manager (EM) mp to lport.
970 *
971 * Adds specified mp to lport using struct fc_exch_mgr_anchor,
972 * the struct fc_exch_mgr_anchor allows same EM sharing by
973 * more than one lport with their specified match function,
974 * the match function is used in allocating exchange from
975 * added mp.
976 */
977struct fc_exch_mgr_anchor *fc_exch_mgr_add(struct fc_lport *lport,
978 struct fc_exch_mgr *mp,
979 bool (*match)(struct fc_frame *));
980
981/*
982 * Deletes Exchange Manager (EM) from lport by removing
983 * its anchor ema from lport.
984 *
985 * If removed anchor ema was the last user of its associated EM
986 * then also destroys associated EM.
987 */
988void fc_exch_mgr_del(struct fc_exch_mgr_anchor *ema);
989
990/*
967 * Allocates an Exchange Manager (EM). 991 * Allocates an Exchange Manager (EM).
968 * 992 *
969 * The EM manages exchanges for their allocation and 993 * The EM manages exchanges for their allocation and