Page MenuHomeFreeBSD

D20677.id62279.diff
No OneTemporary

D20677.id62279.diff

Index: sys/cam/scsi/scsi_da.c
===================================================================
--- sys/cam/scsi/scsi_da.c
+++ sys/cam/scsi/scsi_da.c
@@ -2694,6 +2694,7 @@
struct ccb_getdev *cgd;
char tmpstr[80];
caddr_t match;
+ int quirks;
cgd = (struct ccb_getdev *)arg;
if (cgd == NULL) {
@@ -2750,6 +2751,13 @@
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;
else if (softc->quirks & DA_Q_SMR_DM)

File Metadata

Mime Type
text/plain
Expires
Sun, Oct 4, 10:38 AM (5 m, 6 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
40183823
Default Alt Text
D20677.id62279.diff (789 B)

Event Timeline