Author: mav
Date: Thu Dec 18 08:28:44 2014
New Revision: 275885
URL: https://svnweb.freebsd.org/changeset/base/275885

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

Modified:
  stable/10/sys/cam/ctl/ctl.c
  stable/10/sys/cam/ctl/ctl_private.h
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/cam/ctl/ctl.c
==============================================================================
--- stable/10/sys/cam/ctl/ctl.c Thu Dec 18 08:27:46 2014        (r275884)
+++ stable/10/sys/cam/ctl/ctl.c Thu Dec 18 08:28:44 2014        (r275885)
@@ -356,7 +356,6 @@ static struct ctl_logical_block_provisio
  * 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_sc
                                         */
 
                                        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_sc
                 && 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 c
                                 */
 
                                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 c
                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;
                }

Modified: stable/10/sys/cam/ctl/ctl_private.h
==============================================================================
--- stable/10/sys/cam/ctl/ctl_private.h Thu Dec 18 08:27:46 2014        
(r275884)
+++ stable/10/sys/cam/ctl/ctl_private.h Thu Dec 18 08:28:44 2014        
(r275885)
@@ -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;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to