https://undeadly.org/cgi?action=article;...0706044554
It is cited as an impediment to properly implementing a VFS layer for OpenBSD.
Once upon a time maybe about 10 to 12 years ago I was a huge proponent of soft updates. However considering it never had wide use (NetBSD only briefly supported it and FreeBSD uses journaling primarily) it's not much of a loss seeing it go because it was never really able to be competitive with a journaling file system.
For those confused why journals or soft updates are necessary, it's a combination of performance and crash safety.
Old file systems like FAT32, EFS, Ext2 etc. Are synchronous file systems. Every operation is completed in the order it is specified and thus during an unclean shutdown it must be walked through with a file system checking utility such as fsck or chkdsk.
The problem with synchronous file systems is that it basically grinds performance to a halt if you have a very big file that needs to be written. Thus the first way of dealing with this was journaling or log file systems. Most journaling file systems only preserve the metadata of the files which basically is all of the referential information needed to retrieve that file. This might include size, sector locations etc depending upon the data structures in the file system. Journaling file systems work pretty well because they allow for decoupling operations in an asynchronous manner.
Soft Updates/ Soft Dependencies by comparison does not use a journaling structure. Instead it builds a dependency graph and using a small amount of memory as a writeback buffer, performs operations in a very specific order specified by the dependency graph. The benefit of this is that you can use asynchronous writes. The drawback is that it doesn't necessarily guarantee that your file system is always clean. On reboot instead of simply checking the index for a file system check you instead have to walk through the entire file system but that can be done in the background _because_ the file system can only have a storage leak or so the original paper involved claimed. A storage link is when a file is deleted but the space is marked used or that an incomplete file write was in progress but not not completed and thus the file is removed.
The main issues with soft updates were that it didn't provide the performance benefits promised and didn't make maintenance necessarily easier. Instead I would say the ultimate issue with UFS is that it is an obsolete file system. It has never been very fast, it's not well optimized for modern use cases and when you really pull away the layer of fanboyism overlaying all of it, it's an ancient file system that's not capable of keeping up with today's performance demands.
At the end of the day, many BSD users use ZFS instead but that has never been available for OpenBSD. ZFS is not a horrible file system but it is not a general purpose file system. Using it for all general purpose situations is a lot like using a hydraulic ram to crack open peanuts.
Ultimately I hope that one or more of the BSDs decides to ditch the file system but I'm not holding my breath.
I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast.
https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently.
https://codeberg.org/SolusRaion -- Code repos I control
Technical problems should be sent my way.