Date: Mon, 2 Mar 2015 18:09:50 +0000 (UTC) From: "Kenneth D. Merry" <ken@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279534 - head/sys/cam/scsi Message-ID: <201503021809.t22I9oIC095372@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201503021809.t22I9oIC095372>