Author: ken
Date: Mon Mar  2 18:09:49 2015
New Revision: 279534
URL: https://svnweb.freebsd.org/changeset/base/279534

Log:
  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

Modified:
  head/sys/cam/scsi/scsi_sa.c

Modified: head/sys/cam/scsi/scsi_sa.c
==============================================================================
--- head/sys/cam/scsi/scsi_sa.c Mon Mar  2 18:08:39 2015        (r279533)
+++ head/sys/cam/scsi/scsi_sa.c Mon Mar  2 18:09:49 2015        (r279534)
@@ -2396,9 +2396,13 @@ saregister(struct cam_periph *periph, vo
         * 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) {
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to