Re: [PATCH] 64 bit scsi read/write

Jonathan Lundell
2001-07-15T15:07:41Z

At 2:39 AM +1200 2001-07-16, Chris Wedgwood wrote:
>On Sun, Jul 15, 2001 at 03:44:14PM +0200, Daniel Phillips wrote:
>
> The only requirement here is that the checksum be correct. And
> sure, that's not a hard guarantee because, on average, you will
> get a good checksum for bad data once every 4 billion power events
> that mess up the final superblock transfer. Let me see, if that
> happens once a year, your data should still be good when the
> warrantee on the sun expires. :-)
>
>the sun will probably last a tad longer than that even contuing to
>burn hydrogen, if you allow for helium burning, you will probably get
>errors to sneak by
>
> Surely it can't be that *all* IDE disks can fail in that way? And
> it seems the jury is still out on SCSI, I'm interested to see
> where that discussion goes.
>
>Alan said *ALL* disks appear to lie, and I'm not going to argue with
>him :)
>
>I only have SCSI disks to test with, but they are hot-plug, so I guess
>I can write a whole bunch of blocks with different numbers on them,
>all over the disk, if I can figure out how to place SCSI barriers and
>then pull the drive and see what gives?

Consider the possibility (probability, I think) that SCSI drives blow
away their (unwritten) write cache buffers on a SCSI bus reset, and
that a SCSI bus reset is a routine, albeit last-resort, error
recovery technique. (It's also necessary; by the time a driver gets
to a bus reset, all else has failed. It's also, in my experience, not
especially rare.)

The fix for that particular problem--disabling write caching--is
simple enough, though it presumably has a performance consequence. A
second benefit of disabling write caching is that the drive can't
reorder writes (though of course the system still might).

At first glance, by the way, the only write barrier I see in the SCSI
command set is the synchronize-cache command, which completes only
after all the drive's dirty buffers are written out. Of course,
without write caching, it's not an issue.
--
/Jonathan Lundell.