Hi, In an old thread, the use of UFS soft updates was discussed: http://lists.debian.org/debian-bsd/2012/09/msg00011.html
I'm wondering if we could consider UFS+S, UFS+SUJ or UFS+J as a default for new installs. I've only tried UFS+S myself. On media that is slow to write metadata changes, it eliminates a major performance bottleneck. The drawbacks are explained at [0] but are mainly: 1. a 'rewinding' to a consistent state by as much as 30-60 seconds in the event of a crash; I think that is normal for ZFS though and maybe ext4. (I'm assuming/hoping synchronous writes still block until fully written out...) 2. deleting a file doesn't immediately free up disk space until (in the background) metadata changes are written out; this is also true of ZFS. 3. mounting a crashed filesystem should not be any slower, but a background fsck is started (somehow?) to reclaim unused blocks; I think the newer UFS+SUJ mode makes that unnecessary for a slight overhead. [0]: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/configtuning-disk.html#idp84024368 I'm not familiar with UFS+J but I imagine its overheads would be the highest of all these modes (and thus least worth changing to). It would also need to wait for a potentially slow rollback/replay to finish before mounting a crashed filesystem. For more than 10 years it seems that upstream FreeBSD uses plain UFS [1] only for its 1 GiB root partition. All other UFS filesystems are UFS+S, which in a typical default configuration would include /home, /usr, /tmp, /var [2] The release notes for 9.0-RELEASE [3] seems to imply that UFS+SUJ became the default but I can't find evidence of the change happening in code. [1]: http://svnweb.freebsd.org/base/stable/9/usr.sbin/sysinstall/label.c?annotate=88321#l331 [2]: http://svnweb.freebsd.org/base/stable/9/usr.sbin/sysinstall/label.c?view=markup#l85 [3]: http://www.freebsd.org/releases/9.0R/relnotes-detailed.html#FS To implement UFS+S on Debian GNU/kFreeBSD would be a simple change in d-i to use "newfs -U", but we may want it to be a user-configurable option too. It cannot be changed while a filesystem is mounted so only the installer can do it, or using tunefs from a rescue system. Any thoughts? My biggest question is why upstream FreeBSD chose not to use this on the root filesystem if it was safe enough for the others. If it was, for example, a bootloader limitation it may not be relevant to us. Do these modes of UFS satisfy dpkg's expectations to be able to operate safely? (I think so, and furthermore dpkg makes very liberal use of fsync() since ext4 was first introduced). Do our initscripts already launch whatever type of fsck / background fsck is needed to properly repair a filesystem after a crash? (I suspect not, and some unused blocks will go missing at each crash.) Regards, -- Steven Chamberlain ste...@pyro.eu.org -- To UNSUBSCRIBE, email to debian-bsd-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/51c75b4e.5060...@pyro.eu.org