Change the sa(4) driver to check for long position support on
SCSI-2 devices. Some older tape devices claim to be SCSI-2, but actually do support long position information. (Long position information includes the current file mark.) For example, the COMPAQ SuperDLT1. So we now only disable the check on SCSI-1 and older devices. sys/cam/scsi/scsi_sa.c: In saregister(), only disable fetching long position information on SCSI-1 and older drives. Update the comment to explain why. Confirmed by: dvl Sponsored by: Spectra Logic MFC after: 3 weeks
This commit is contained in:
parent
2f529cb858
commit
a9347ea330
@ -2396,9 +2396,13 @@ saregister(struct cam_periph *periph, void *arg)
|
||||
* Long format data for READ POSITION was introduced in SSC, which
|
||||
* was after SCSI-2. (Roughly equivalent to SCSI-3.) If the drive
|
||||
* reports that it is SCSI-2 or older, it is unlikely to support
|
||||
* long position data.
|
||||
* long position data, but it might. Some drives from that era
|
||||
* claim to be SCSI-2, but do support long position information.
|
||||
* So, instead of immediately disabling long position information
|
||||
* for SCSI-2 devices, we'll try one pass through sagetpos(), and
|
||||
* then disable long position information if we get an error.
|
||||
*/
|
||||
if (cgd->inq_data.version <= SCSI_REV_2)
|
||||
if (cgd->inq_data.version <= SCSI_REV_CCS)
|
||||
softc->quirks |= SA_QUIRK_NO_LONG_POS;
|
||||
|
||||
if (cgd->inq_data.spc3_flags & SPC3_SID_PROTECT) {
|
||||
|
Loading…
Reference in New Issue
Block a user