> 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).

Reply via email to