svn commit: r342939 - stable/11/sys/cam/scsi
Andriy Gapon
avg at FreeBSD.org
Fri Jan 11 11:43:38 UTC 2019
Author: avg
Date: Fri Jan 11 11:43:36 2019
New Revision: 342939
URL: https://svnweb.freebsd.org/changeset/base/342939
Log:
MFC r342169: add a knob that disables detection of write protected disks
PR: 225794
Modified:
stable/11/sys/cam/scsi/scsi_da.c
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/cam/scsi/scsi_da.c
==============================================================================
--- stable/11/sys/cam/scsi/scsi_da.c Fri Jan 11 11:42:25 2019 (r342938)
+++ stable/11/sys/cam/scsi/scsi_da.c Fri Jan 11 11:43:36 2019 (r342939)
@@ -1420,6 +1420,7 @@ static int da_retry_count = DA_DEFAULT_RETRY;
static int da_default_timeout = DA_DEFAULT_TIMEOUT;
static sbintime_t da_default_softtimeout = DA_DEFAULT_SOFTTIMEOUT;
static int da_send_ordered = DA_DEFAULT_SEND_ORDERED;
+static int da_disable_wp_detection = 0;
static SYSCTL_NODE(_kern_cam, OID_AUTO, da, CTLFLAG_RD, 0,
"CAM Direct Access Disk driver");
@@ -1431,6 +1432,9 @@ SYSCTL_INT(_kern_cam_da, OID_AUTO, default_timeout, CT
&da_default_timeout, 0, "Normal I/O timeout (in seconds)");
SYSCTL_INT(_kern_cam_da, OID_AUTO, send_ordered, CTLFLAG_RWTUN,
&da_send_ordered, 0, "Send Ordered Tags");
+SYSCTL_INT(_kern_cam_da, OID_AUTO, disable_wp_detection, CTLFLAG_RWTUN,
+ &da_disable_wp_detection, 0,
+ "Disable detection of write-protected disks");
SYSCTL_PROC(_kern_cam_da, OID_AUTO, default_softtimeout,
CTLTYPE_UINT | CTLFLAG_RW, NULL, 0, dasysctlsofttimeout, "I",
@@ -3117,12 +3121,22 @@ out:
void *mode_buf;
int mode_buf_len;
+ if (da_disable_wp_detection) {
+ if ((softc->flags & DA_FLAG_CAN_RC16) != 0)
+ softc->state = DA_STATE_PROBE_RC16;
+ else
+ softc->state = DA_STATE_PROBE_RC;
+ goto skipstate;
+ }
mode_buf_len = 192;
mode_buf = malloc(mode_buf_len, M_SCSIDA, M_NOWAIT);
if (mode_buf == NULL) {
xpt_print(periph->path, "Unable to send mode sense - "
"malloc failure\n");
- softc->state = DA_STATE_PROBE_RC;
+ if ((softc->flags & DA_FLAG_CAN_RC16) != 0)
+ softc->state = DA_STATE_PROBE_RC16;
+ else
+ softc->state = DA_STATE_PROBE_RC;
goto skipstate;
}
scsi_mode_sense_len(&start_ccb->csio,
More information about the svn-src-all
mailing list