Michel Talon talon at lpthe.jussieu.fr
Sat Sep 27 16:56:36 UTC 2008

Jeremy Chadwick wrote:

> I believe we're in overall agreement with regards to background_fsck
> (should be disabled by default).

In fact background fsck has been introduced for a good reason:
waiting for a full fsck on modern big disks is far too long.
Similarly write cache is enabled on ata disks for the reason that
without it performance sucks too much. My humble opinion is that you
attach far far too much importance to reliability in this game.
There are many reasons why corruption may happen in the files, most
of them being hardware related (bad ram, overheating chipset, etc.)
Hence you can never be assured that your data is perfectly reliable
(except perhaps ZFS permanent checksumming), all you have is some
probability of reliability. I think that for most people what is
important is a good balance between the risk of catastrophic failure
(which is always here, and is increased little by background fsck)
and the performance and ease of use. The FreeBSD developers have
chosen this middle ground, with good reason, in my opinion. People
who are more concerned with the reliability of their data, and
want to pay the price can always disable background fsck, maintain
backups, etc. Personnally i would run away from a system requiring
hours of fsck before being able to run multiuser. Neither Windows,
with NTFS, nor Linux, with ext3, reiserfs, xfs, jfs, etc. require
any form of scandisk or fsck. Demanding that full fsck is the default in
FreeBSD is akin to alienating a large fraction of users who have greener
pasture easily available. Idem for asking to disable write caching on
the disks. So for most people there is a probability to get some day
the UNEXPECTED SOFT UPDATE INCONSISTENCY message. They will run a full
fsck in that occasion, not a terrible thing. In many years of FreeBSD
use, it happened me a small number of times, and i have still to loose
a file, at least that i remarked.


Michel TALON

More information about the freebsd-stable mailing list