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.
This commit is contained in:
mjacob 1999-10-02 20:17:16 +00:00
parent fa22555284
commit f8d4915bca

View File

@ -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 @@ samount(struct cam_periph *periph, int oflags, dev_t dev)
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);