summaryrefslogtreecommitdiffstats
path: root/sys/cam
diff options
context:
space:
mode:
authormjacob <mjacob@FreeBSD.org>1999-10-02 20:17:16 +0000
committermjacob <mjacob@FreeBSD.org>1999-10-02 20:17:16 +0000
commit657dce6759e8a0c536bea1d9e8cbe6aecf78e596 (patch)
tree2fed4a6a6c563b543bfdf28a03eaa7881cb16036 /sys/cam
parentbc8fdc1ce7adeb3b6bf708bbc80027a48b93a8ca (diff)
downloadFreeBSD-src-657dce6759e8a0c536bea1d9e8cbe6aecf78e596.zip
FreeBSD-src-657dce6759e8a0c536bea1d9e8cbe6aecf78e596.tar.gz
Another 1FM@EOD quirk (from mike@sentex.net for a Seagate STT20000),
and add a config option that allows one to default to 1FM@EOD for tapes otherwise unquirked or unknown as to which to prefer. Note that tcopy will be broken for these tapes until tcopy is fixed.
Diffstat (limited to 'sys/cam')
-rw-r--r--sys/cam/scsi/scsi_sa.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/sys/cam/scsi/scsi_sa.c b/sys/cam/scsi/scsi_sa.c
index 3a58ba7..0d5326c 100644
--- a/sys/cam/scsi/scsi_sa.c
+++ b/sys/cam/scsi/scsi_sa.c
@@ -78,15 +78,9 @@
#ifndef SA_ERASE_TIMEOUT
#define SA_ERASE_TIMEOUT 4 * 60
#endif
-
/*
- * Default to old FreeBSD behaviour of 2 filemarks
- * at EOD for all (except QIC) devices.
+ * Additional options that can be set for config: SA_1FM_AT_EOT
*/
-#ifndef SA_2FM_AT_EOD
-#define SA_2FM_AT_EOD 1
-#endif
-
#ifndef UNUSED_PARAMETER
#define UNUSED_PARAMETER(x) x = x
#endif
@@ -249,6 +243,10 @@ static struct sa_quirk_entry sa_quirk_table[] =
{ T_SEQUENTIAL, SIP_MEDIA_REMOVABLE, "Seagate",
"STT8000N*", "*"}, SA_QUIRK_1FM, 0
},
+ { /* mike@sentex.net */
+ { T_SEQUENTIAL, SIP_MEDIA_REMOVABLE, "Seagate",
+ "STT20000*", "*"}, SA_QUIRK_1FM, 0
+ },
{
{ T_SEQUENTIAL, SIP_MEDIA_REMOVABLE, "TANDBERG",
" TDC 3600", "U07:"}, SA_QUIRK_NOCOMP|SA_QUIRK_1FM, 512
@@ -1973,12 +1971,12 @@ exit:
softc->fileno = softc->blkno = 0;
softc->dsreg = MTIO_DSREG_REST;
}
-#if SA_2FM_AT_EOD == 1
- if ((softc->quirks & SA_QUIRK_1FM) == 0)
- softc->quirks |= SA_QUIRK_2FM;
-#else
+#ifdef SA_1FM_AT_EOD
if ((softc->quirks & SA_QUIRK_2FM) == 0)
softc->quirks |= SA_QUIRK_1FM;
+#else
+ if ((softc->quirks & SA_QUIRK_1FM) == 0)
+ softc->quirks |= SA_QUIRK_2FM;
#endif
} else
xpt_release_ccb(ccb);
OpenPOWER on IntegriCloud