Yes, you correct in assuming that soft-writes is bsd's answer to journaling. I really don't know enough about it, nor care enough to argue about it. I use UFS for all file systems permanently attached to my system and I haven't had any problems with it. FSCK's *can* take a long time but it is very rarely necessary.
Let me start out by saying that I don't want a flame war, but not misinformation either. Please weigh what you say before you say it. Along that line of thought, I will do my best to take my own advice, and will only speak from my own experience on this matter.
Please don't assume that because I prefer Linux that I don't know BSD. :) What I meant earlier was that as far as I know, the way the BSD kernel interacts with the filesystem has something to do with Linux not supporting UFS fantastically well. So there's more to it than something as simple as a poorly-implemented UFS kernel module,
* but a fundamental design issue which keeps UFS in Linux from being perfect. Not to say I don't have my hangups with Linux at all...
(WTF Stallman! What is wrong with the wheel group? WTF Ubuntu! What is wrong with running as a non-privileged user...?):P
I work with FreeBSD every single day of the work week. As such, I can say with some assurance that UFS
does have its problems, in fact I have seen at least dozens of corrupted UFS filesystems over time. Furthermore, soft-writes do not handle hard power-offs very gracefully, which further compounds the issue. Incidentally they don't handle failing hardware very well either, and when clusters start going bad your data starts getting very corrupt very quickly.
So here's the bottom line: in my hands-on experience, soft-writes is good in theory and fairly poor in reality. BSD is slow to adopt newer concepts because of mostly political hang-ups, and as such they don't support journaling. Ext3, JFS and XFS are good filesystems if you want to read, write and store a lot of data for a long time. UFS is not. In a perfect world it might be, but the world is far from perfect and the conditions far from ideal. If you'd like a real-world example, visit my
home web server. The HDD has been bad for months now, and yet the journaled Ext3 filesystem, not available on BSD, has been able to keep it afloat with no data corruption this whole time. In all likeliness it may be able to do so until I can acquire a replacement drive. This would not be possible on UFS.
*UFS support in Linux is actually fairly good, but I don't know anybody who runs it on a Linux system as the primary FS.