Provide a way for ICL modules to declare they support PIM_UNMAPPED.

MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
This commit is contained in:
Edward Tomasz Napierala 2016-05-21 11:10:48 +00:00
parent b218ca6fdd
commit 7deb68ab2c
4 changed files with 11 additions and 0 deletions

View File

@ -429,6 +429,7 @@ icl_cxgbei_new_conn(const char *name, struct mtx *lock)
ic->ic_max_data_segment_length = CXGBEI_MAX_DSL;
ic->ic_name = name;
ic->ic_offload = "cxgbei";
ic->ic_unmapped = false;
CTR2(KTR_CXGBE, "%s: icc %p", __func__, icc);

View File

@ -113,6 +113,7 @@ struct icl_conn {
size_t ic_maxtags;
bool ic_disconnecting;
bool ic_iser;
bool ic_unmapped;
const char *ic_name;
const char *ic_offload;

View File

@ -1190,6 +1190,7 @@ icl_soft_new_conn(const char *name, struct mtx *lock)
ic->ic_max_data_segment_length = ICL_MAX_DATA_SEGMENT_LENGTH;
ic->ic_name = name;
ic->ic_offload = "None";
ic->ic_unmapped = false;
return (ic);
}

View File

@ -2266,6 +2266,14 @@ iscsi_action(struct cam_sim *sim, union ccb *ccb)
cpi->hba_inquiry = PI_TAG_ABLE;
cpi->target_sprt = 0;
cpi->hba_misc = PIM_EXTLUNS;
/*
* XXX: It shouldn't ever be NULL; this could be turned
* into a KASSERT eventually.
*/
if (is->is_conn == NULL)
ISCSI_WARN("NULL conn");
else if (is->is_conn->ic_unmapped)
cpi->hba_misc |= PIM_UNMAPPED;
cpi->hba_eng_cnt = 0;
cpi->max_target = 0;
/*