ufs2 / softupdates / ZFS / disk write cache

Erik Trulsson ertr1013 at student.uu.se
Sun Jun 21 09:27:41 UTC 2009

On Sun, Jun 21, 2009 at 05:18:39AM +0300, Dan Naumov wrote:
> Uh oh.... After some digging around, I found the following quote: "ZFS
> is designed to work with storage devices that manage a disk-level
> cache. ZFS commonly asks the storage device to ensure that data is
> safely placed on stable storage by requesting a cache flush." at
> http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuning_Guide I
> guess this might be somewhat related to why in the "disk cache
> disabled" scenario, ZFS suffers bigger losses than UFS2.

If that quote is correct (and I have no real reason to doubt it) then
it should probably be safe to enable the disk's write cache when used with
ZFS.  (That would make sense since UFS/FFS was originally designed to work
with an older generation of disks that did not do any significant amount
of write-caching (partly due to having very little cache on them), while
ZFS has been designed to be used on modern hardware, and to be reliable even
on cheap consumer-grade disks.)

> It is quite obvious at this point that disabling disk cache in order
> have softupdates live in harmony with disks "lying" about whether disk
> cache contents have actually been committed to the disk in not in any
> way, shape or form a viable solution to the problem. On a sidenote, is
> there any way I can test whether *MY* disk is truthful about writing
> cache to disk or not?

If you have IDE/SATA disks they will "lie".  SCSI/SAS disks won't.
SATA disks using NCQ should probably also be safe -- too bad FreeBSD
does not support NCQ yet.

> In the past (this was during my previous foray into the FreeBSD world,
> circa-2001/2002) I have suffered severe data corruption (leading to an
> unbootable system) using UFS2 + softupdates on 2 different occasions
> due to power losses and this past experience has me very worried about
> the proper way to configure my system to avoid such incidents in the
> future.
> - Sincerely,
> Dan Naumov

<Insert your favourite quote here.>
Erik Trulsson
ertr1013 at student.uu.se

More information about the freebsd-fs mailing list