svn commit: r352743 - head/sys/cam/scsi

Alexander Motin mav at FreeBSD.org
Thu Sep 26 14:48:40 UTC 2019


Author: mav
Date: Thu Sep 26 14:48:39 2019
New Revision: 352743
URL: https://svnweb.freebsd.org/changeset/base/352743

Log:
  Add kern.cam.da.X.quirks tunable, similar existing for ada.
  
  Submitted by:	Michael Lass
  MFC after:	2 weeks
  Differential Revision:	https://reviews.freebsd.org/D20677

Modified:
  head/sys/cam/scsi/scsi_da.c

Modified: head/sys/cam/scsi/scsi_da.c
==============================================================================
--- head/sys/cam/scsi/scsi_da.c	Thu Sep 26 13:27:25 2019	(r352742)
+++ head/sys/cam/scsi/scsi_da.c	Thu Sep 26 14:48:39 2019	(r352743)
@@ -2694,6 +2694,7 @@ daregister(struct cam_periph *periph, void *arg)
 	struct ccb_getdev *cgd;
 	char tmpstr[80];
 	caddr_t match;
+	int quirks;
 
 	cgd = (struct ccb_getdev *)arg;
 	if (cgd == NULL) {
@@ -2749,6 +2750,13 @@ daregister(struct cam_periph *periph, void *arg)
 	xpt_path_inq(&cpi, periph->path);
 	if (cpi.ccb_h.status == CAM_REQ_CMP && (cpi.hba_misc & PIM_NO_6_BYTE))
 		softc->quirks |= DA_Q_NO_6_BYTE;
+
+	/* Override quirks if tunable is set */
+	snprintf(tmpstr, sizeof(tmpstr), "kern.cam.da.%d.quirks",
+		 periph->unit_number);
+	quirks = softc->quirks;
+	TUNABLE_INT_FETCH(tmpstr, &quirks);
+	softc->quirks = quirks;
 
 	if (SID_TYPE(&cgd->inq_data) == T_ZBC_HM)
 		softc->zone_mode = DA_ZONE_HOST_MANAGED;


More information about the svn-src-head mailing list