2012-01-21 20:50, Bob Friesenhahn wrote:
> TXGs get forgotten from memory as soon as they are written.
As I said, that can be arranged - i.e. free the TXG cache
after the corresponding TXG number has been verified?
Point about ARC being overwritten seems valid...
Zfs already knows how to by-pass the ARC. However, any "media" reads are
subject to caching since the underlying devices try very hard to cache
data in order to improve read performance.
As a pointer, the "format" command presents options to
disable (separately) read and write caching on drives
it sees. MAYBE there is some option to explicitly read
data from media, like sync-writes. Whether the drive
firmwares honor that (disabling caching and/or such
hypothetical sync-reads) - it's something out of ZFS's
control. But we can do the best effort...
As an extreme case of caching, consider a device represented by an iSCSI
LUN on a OpenSolaris server with 512GB of RAM. If you request to read
data you are exceedingly likely to read data from the zfs ARC on that
server rather than underlying "media".
So far I rather considered "flaky" hardware with lousy
consumer qualities. The server you describe is likely
to exceed that bar ;)
Besides, if this OpenSolaris server is up-to-date, it
would do such media checks itself, and/or honour the
sync-read requests or temporary cache disabling ;)
Of course, this can't be guaranteed of other devices,
so in general ZFS can do best-effort verification.
zfs-discuss mailing list