Subject: Re: NetBSD master CVS tree commits
To: Jonathan Stone <jonathan@DSG.Stanford.EDU>
From: Justin T. Gibbs <gibbs@plutotech.com>
List: tech-kern
Date: 04/20/1997 10:30:43
>Justin,
>
>I freely confess that I've forgotten most of what I ever knew about
>the SCSI protocol, and even on a good day I now confuse SASI and CCS
>and SCSI-2.
>
>I'm convinced the write scenarios you described really are broken.

Why?  The drive doesn't care that the data pointers are saved because
it will never reference them again, so why should it waste a few extra
microseconds to have them saved (could be more if the controller takes
longer to actually perform the save)?  Most drives that I've looked at
on a SCSI bus analyzer will accept the data immediately into their cache
on a write, but will not acknowledge the write until they have at least
seeked to that cylinder, hence the disconnect.  (The wait until the head
is on cylinder is for drives that can use the inertia of the spinning down
disk to post writes in case of power failure - they can't spare juice for
a seek though).

>But will those scenarios really stop the sd driver from obtaining a
>vendor string from a drive?

If the problem is that you can't even get the vendor string, how does
a quirk entry help you?  But, I could see this being an issue if there
is a disconnect while the drive performs some diagnostics or such before
completing the command.  The point is that the residual can be mangled
meaning that there is perfectly valid data in the buffer that is being
ignored.

>--Jonathan

--
Justin T. Gibbs
===========================================
  FreeBSD: Turning PCs into workstations
===========================================