svn commit: r255915 - head/sys/cam

Nathan Whitehorn nwhitehorn at FreeBSD.org
Fri Sep 27 16:02:41 UTC 2013


Author: nwhitehorn
Date: Fri Sep 27 16:02:40 2013
New Revision: 255915
URL: http://svnweb.freebsd.org/changeset/base/255915

Log:
  Make sure the CCB xflags field is initialized to zero so that
  CAM_EXTLUN_VALID is not erroneously set. Also add an XPORT_SRP
  identifier to the known SCSI transports for the SCSI RDMA protocol, as
  used, for example with Infiniband storage.
  
  Reviewed by:	scottl
  Approved by:	re (marius)

Modified:
  head/sys/cam/cam_ccb.h
  head/sys/cam/cam_xpt.c

Modified: head/sys/cam/cam_ccb.h
==============================================================================
--- head/sys/cam/cam_ccb.h	Fri Sep 27 15:22:08 2013	(r255914)
+++ head/sys/cam/cam_ccb.h	Fri Sep 27 16:02:40 2013	(r255915)
@@ -262,6 +262,7 @@ typedef enum {
 	XPORT_SAS,	/* Serial Attached SCSI */
 	XPORT_SATA,	/* Serial AT Attachment */
 	XPORT_ISCSI,	/* iSCSI */
+	XPORT_SRP,	/* SCSI RDMA Protocol */
 } cam_xport;
 
 #define XPORT_IS_ATA(t)		((t) == XPORT_ATA || (t) == XPORT_SATA)
@@ -1233,6 +1234,7 @@ cam_fill_csio(struct ccb_scsiio *csio, u
 {
 	csio->ccb_h.func_code = XPT_SCSI_IO;
 	csio->ccb_h.flags = flags;
+	csio->ccb_h.xflags = 0;
 	csio->ccb_h.retry_count = retries;	
 	csio->ccb_h.cbfcnp = cbfcnp;
 	csio->ccb_h.timeout = timeout;
@@ -1252,6 +1254,7 @@ cam_fill_ctio(struct ccb_scsiio *csio, u
 {
 	csio->ccb_h.func_code = XPT_CONT_TARGET_IO;
 	csio->ccb_h.flags = flags;
+	csio->ccb_h.xflags = 0;
 	csio->ccb_h.retry_count = retries;	
 	csio->ccb_h.cbfcnp = cbfcnp;
 	csio->ccb_h.timeout = timeout;

Modified: head/sys/cam/cam_xpt.c
==============================================================================
--- head/sys/cam/cam_xpt.c	Fri Sep 27 15:22:08 2013	(r255914)
+++ head/sys/cam/cam_xpt.c	Fri Sep 27 16:02:40 2013	(r255915)
@@ -3337,6 +3337,7 @@ xpt_setup_ccb(struct ccb_hdr *ccb_h, str
 	}
 	ccb_h->pinfo.index = CAM_UNQUEUED_INDEX;
 	ccb_h->flags = 0;
+	ccb_h->xflags = 0;
 }
 
 /* Path manipulation functions */
@@ -3891,6 +3892,7 @@ xpt_bus_register(struct cam_sim *sim, de
 		case XPORT_FC:
 		case XPORT_USB:
 		case XPORT_ISCSI:
+		case XPORT_SRP:
 		case XPORT_PPB:
 			new_bus->xport = scsi_get_xport();
 			break;


More information about the svn-src-head mailing list