MFC r275405: Convert persis_offset from global variable to softc field.

This commit is contained in:
mav 2014-12-18 08:28:44 +00:00
parent be8a551758
commit a4403fd4b3
2 changed files with 11 additions and 11 deletions

View File

@ -356,7 +356,6 @@ static struct ctl_logical_block_provisioning_page lbp_page_changeable = {{
* XXX KDM move these into the softc.
*/
static int rcv_sync_msg;
static int persis_offset;
static uint8_t ctl_pause_rtr;
SYSCTL_NODE(_kern_cam, OID_AUTO, ctl, CTLFLAG_RD, 0, "CAM Target Layer");
@ -1076,7 +1075,7 @@ ctl_init(void)
softc->port_offset = 0;
} else
softc->port_offset = (softc->ha_id - 1) * CTL_MAX_PORTS;
persis_offset = softc->port_offset * CTL_MAX_INIT_PER_PORT;
softc->persis_offset = softc->port_offset * CTL_MAX_INIT_PER_PORT;
/*
* XXX KDM need to figure out where we want to get our target ID
@ -7878,10 +7877,10 @@ retry:
static void
ctl_set_res_ua(struct ctl_lun *lun, uint32_t residx, ctl_ua_type ua)
{
int off = lun->ctl_softc->persis_offset;
if (residx >= persis_offset &&
residx < persis_offset + CTL_MAX_INITIATORS)
lun->pending_ua[residx - persis_offset] |= ua;
if (residx >= off && residx < off + CTL_MAX_INITIATORS)
lun->pending_ua[residx - off] |= ua;
}
/*
@ -8420,8 +8419,8 @@ ctl_persistent_reserve_out(struct ctl_scsiio *ctsio)
*/
for (i = 0; i < CTL_MAX_INITIATORS;i++){
if (lun->pr_keys[
i + persis_offset] == 0)
if (lun->pr_keys[i +
softc->persis_offset] == 0)
continue;
lun->pending_ua[i] |=
CTL_UA_RES_RELEASE;
@ -8568,7 +8567,7 @@ ctl_persistent_reserve_out(struct ctl_scsiio *ctsio)
&& type != SPR_TYPE_WR_EX) {
for (i = 0; i < CTL_MAX_INITIATORS; i++) {
if (i == residx ||
lun->pr_keys[i + persis_offset] == 0)
lun->pr_keys[i + softc->persis_offset] == 0)
continue;
lun->pending_ua[i] |= CTL_UA_RES_RELEASE;
}
@ -8685,8 +8684,8 @@ ctl_hndl_per_res_out_on_other_sc(union ctl_ha_msg *msg)
*/
for (i = 0; i < CTL_MAX_INITIATORS; i++) {
if (lun->pr_keys[i+
persis_offset] == 0)
if (lun->pr_keys[i +
softc->persis_offset] == 0)
continue;
lun->pending_ua[i] |=
@ -8719,7 +8718,7 @@ ctl_hndl_per_res_out_on_other_sc(union ctl_ha_msg *msg)
if (lun->res_type != SPR_TYPE_EX_AC
&& lun->res_type != SPR_TYPE_WR_EX) {
for (i = 0; i < CTL_MAX_INITIATORS; i++)
if (lun->pr_keys[i+persis_offset] != 0)
if (lun->pr_keys[i + softc->persis_offset] != 0)
lun->pending_ua[i] |=
CTL_UA_RES_RELEASE;
}

View File

@ -450,6 +450,7 @@ struct ctl_softc {
int ha_state;
int is_single;
int port_offset;
int persis_offset;
int inquiry_pq_no_lun;
struct sysctl_ctx_list sysctl_ctx;
struct sysctl_oid *sysctl_tree;