> I mean the hardware write cache built into the ATA drives In principle this is a problem. I reality it is not, or at least, it bites us very rarely.
> I read somewhere that, unlike SCSI drives, the write cache in ATA > drives results in misinformation about when data was actually written > to disk. No. We use SCSI tagged queueing to get data onto the disks in the wrong order today. Thus, the exact same problem exists. And in some ways it can be worse, since the caches end up being substantially larger on SCSI drives. That is because our buffer cache (in particular in soft updates mode) does not yet put barriers between operations to require that the back end device satisfies the dependency graph. Or at least, it thinks that it is asking for the operations to happen in order, but then the scsi subsystem goes and asks the drive to re-order the operations. soft updates has such a dependency graph, even our standard ffs behaviour has such a dependency graph, but by the time it gets to the drive that information is lost, and operations really do happen out of order. It is sad. But... in most other operating systems this is handled even poorer. Because it is poorly understood (and even more poorly understood that it is fixable -- for instance, some real commercial raw-drive database subsystems do this right).

