svn commit: r268808 - head/sys/cam/ctl

Alexander Motin mav at FreeBSD.org
Thu Jul 17 21:16:53 UTC 2014


Author: mav
Date: Thu Jul 17 21:16:52 2014
New Revision: 268808
URL: http://svnweb.freebsd.org/changeset/base/268808

Log:
  Increase maximal number of SCSI ports in CTL from 32 to 128.
  
  After I gave each iSCSI target its own port, the old limit appeared to be
  not so big.  This change almost proportionally increases per-LUN memory
  use, but it is still three times better then it was before r268807.
  
  MFC after:	2 weeks

Modified:
  head/sys/cam/ctl/ctl.c
  head/sys/cam/ctl/ctl_io.h
  head/sys/cam/ctl/ctl_ioctl.h
  head/sys/cam/ctl/ctl_private.h
  head/sys/cam/ctl/ctl_tpc.c

Modified: head/sys/cam/ctl/ctl.c
==============================================================================
--- head/sys/cam/ctl/ctl.c	Thu Jul 17 20:28:51 2014	(r268807)
+++ head/sys/cam/ctl/ctl.c	Thu Jul 17 21:16:52 2014	(r268808)
@@ -8208,8 +8208,7 @@ ctl_pro_preempt(struct ctl_softc *softc,
 			 && lun->res_type != SPR_TYPE_EX_AC_AR)
 				lun->pr_res_idx = residx;
 			else
-				lun->pr_res_idx =
-					CTL_PR_ALL_REGISTRANTS;
+				lun->pr_res_idx = CTL_PR_ALL_REGISTRANTS;
 
 			persis_io.hdr.nexus = ctsio->io_hdr.nexus;
 			persis_io.hdr.msg_type = CTL_MSG_PERS_ACTION;

Modified: head/sys/cam/ctl/ctl_io.h
==============================================================================
--- head/sys/cam/ctl/ctl_io.h	Thu Jul 17 20:28:51 2014	(r268807)
+++ head/sys/cam/ctl/ctl_io.h	Thu Jul 17 21:16:52 2014	(r268808)
@@ -407,7 +407,7 @@ struct ctl_pr_info {
 	ctl_pr_action        action;
 	uint8_t              sa_res_key[8];
 	uint8_t              res_type;
-	uint16_t             residx;
+	uint32_t             residx;
 };
 
 struct ctl_ha_msg_hdr {

Modified: head/sys/cam/ctl/ctl_ioctl.h
==============================================================================
--- head/sys/cam/ctl/ctl_ioctl.h	Thu Jul 17 20:28:51 2014	(r268807)
+++ head/sys/cam/ctl/ctl_ioctl.h	Thu Jul 17 21:16:52 2014	(r268808)
@@ -70,7 +70,7 @@
 /*
  * Maximum number of ports registered at one time.
  */
-#define	CTL_MAX_PORTS		32
+#define	CTL_MAX_PORTS		128
 
 /*
  * Maximum number of initiators we support.

Modified: head/sys/cam/ctl/ctl_private.h
==============================================================================
--- head/sys/cam/ctl/ctl_private.h	Thu Jul 17 20:28:51 2014	(r268807)
+++ head/sys/cam/ctl/ctl_private.h	Thu Jul 17 21:16:52 2014	(r268808)
@@ -355,8 +355,8 @@ struct ctl_per_res_info {
 	uint8_t  registered;
 };
 
-#define CTL_PR_ALL_REGISTRANTS  0xFFFF
-#define CTL_PR_NO_RESERVATION   0xFFF0
+#define CTL_PR_ALL_REGISTRANTS  0xFFFFFFFF
+#define CTL_PR_NO_RESERVATION   0xFFFFFFF0
 
 struct ctl_devid {
 	int		len;
@@ -398,7 +398,7 @@ struct ctl_lun {
 	struct ctl_per_res_info		per_res[2*CTL_MAX_INITIATORS];
 	unsigned int			PRGeneration;
 	int				pr_key_count;
-	uint16_t        		pr_res_idx;
+	uint32_t			pr_res_idx;
 	uint8_t				res_type;
 	uint8_t				write_buffer[262144];
 	struct ctl_devid		*lun_devid;

Modified: head/sys/cam/ctl/ctl_tpc.c
==============================================================================
--- head/sys/cam/ctl/ctl_tpc.c	Thu Jul 17 20:28:51 2014	(r268807)
+++ head/sys/cam/ctl/ctl_tpc.c	Thu Jul 17 21:16:52 2014	(r268808)
@@ -89,7 +89,7 @@ struct tpc_io {
 struct tpc_list {
 	uint8_t			 service_action;
 	int			 init_port;
-	uint16_t		 init_idx;
+	uint32_t		 init_idx;
 	uint32_t		 list_id;
 	uint8_t			 flags;
 	uint8_t			*params;


More information about the svn-src-all mailing list