Nowadays, the journalized filesystems of Linux, and also NTFS of Windows are quite mature and many of their early bugs have been fixed.
Many years ago that was not true.
In the early years after 2000, I have witnessed a great number of computer crashes caused by power failures.
All the HDDs using journalized filesystems were corrupted sooner or later, including NTFS, ext3, reiserfs, XFS.
The only filesystem that was completely unaffected by any power failure was UFS, on FreeBSD (obviously with "soft updates" enabled).
UFS with "soft updates", does not use a journal, but it carefully orders the data writes to the HDD/SSD, to ensure that any power failure will not cause corruption.
Unfortunately, it is said that modern programmers have difficulty to understand the old "soft updates" code, so it seems that it might have not been maintained well, so I do not know whether today it continues to work as well as 2 decades ago (though I have seen during the last year a few power failures that did not have any effect upon a FreeBSD-running computer using UFS with soft updates).
Moreover, even the best journaling filesystems or UFS with "soft updates" can be fooled by dishonest SSD/HDD firmware, which does not write the data when it reports it as written, so the only complete guarantee against power failures is to use a good UPS.
OpenBSD has removed the "soft updates" code from their UFS implementation a couple of years ago, apparently for the same maintenance problems caused by it being difficult to understand. Therefore OpenBSD should be used with an UPS (or on a laptop).
No filesystem, regardless of what kind of journaling is used, can guarantee anything else except that after a power failure you will get the same filesystem as it was a few minutes before the power failure.
If there was anything written to the HDD/SSD during those minutes, it would be lost.
For better guarantees than this you need special hardware, e.g. SSDs with big capacitors that can maintain the local power supply for a fraction of a second, during which the SSD controller can flush to non-volatile storage all buffered data.
> In the early years after 2000, I have witnessed a great number of computer crashes caused by power failures.
Don't enable write cache without a power backup, or on an unstable machine.
> Therefore OpenBSD should be used with an UPS (or on a laptop).
NVMe with PLP is suffice.
The same helps me on my NAS as well, with ZFS and Linux. No need for OpenBSD.
Soft updates was very cool when I first used it, like 25 years ago. Linux didn't have Ext3FS yet, or just about got it. ZFS also worked very early on FreeBSD, but nowadays the standard is OpenZFS.
There's a couple of cool things coming from OpenBSD camp, most notably OpenSSH and PF.
Many years ago that was not true.
In the early years after 2000, I have witnessed a great number of computer crashes caused by power failures.
All the HDDs using journalized filesystems were corrupted sooner or later, including NTFS, ext3, reiserfs, XFS.
The only filesystem that was completely unaffected by any power failure was UFS, on FreeBSD (obviously with "soft updates" enabled).
UFS with "soft updates", does not use a journal, but it carefully orders the data writes to the HDD/SSD, to ensure that any power failure will not cause corruption.
Unfortunately, it is said that modern programmers have difficulty to understand the old "soft updates" code, so it seems that it might have not been maintained well, so I do not know whether today it continues to work as well as 2 decades ago (though I have seen during the last year a few power failures that did not have any effect upon a FreeBSD-running computer using UFS with soft updates).
Moreover, even the best journaling filesystems or UFS with "soft updates" can be fooled by dishonest SSD/HDD firmware, which does not write the data when it reports it as written, so the only complete guarantee against power failures is to use a good UPS.
OpenBSD has removed the "soft updates" code from their UFS implementation a couple of years ago, apparently for the same maintenance problems caused by it being difficult to understand. Therefore OpenBSD should be used with an UPS (or on a laptop).