SquirrelFS: Using the Rust compiler to check file-system crash consistency
arxiv.org
arxiv.org
It's nice the authors included a link to the underlying source code in the last paragraph:
The latter is clearly a practical use - no bugs (or at least vastly less likely bugs).
The former is maybe a no since it seems like the authors couldn't achieve their results for "normal" filesystems because they are asynchronous - only for "persistent memory" which is synchronous. I dunno exactly who has persistent memory though. I guess it's stuff like Intel's Optane (which was discontinued)?
Long ago an Apple engineer told me that one of the reasons Apple sold 68k Macs with Apple-branded SCSI hard drives (and disk utilities that wouldn't work with non-Apple drives) and continued to use Apple-branded drives well into the PowerPC and IDE era was because Apple had been burned by writing operating system / filesystem code that took what drives reported at face value and assumed they were doing what they were supposed to according to the specs for the interface standard they'd supposedly been certified to meet.
Sure, it also enabled markups, but it wasn't just about having a big margin on storage, and there are additional costs involved. It's also why often Apple/Quantum drives were slower - they were actually doing what they were supposed to be doing, whereas everyone else as doing what was fastest to juice reviews, and magazine reviewers were either too cozy with manufacturers, or too lazy/stupid, to actually test to see if a drive was doing what it was supposed to be doing.
The groups behind the interface standards? Trademark money printer go brrrrrrrrrrrrrr. Those golf balls and yachts and supercars aren't gonna drive themselves.
And yes, this has persisted into the age of NVMe flash. Power failures with SATA and NVMe flash drives can be a real risky business, because the controller is shifting data every which way. From OS memory (some NVMe drives use host memory for caching at the hardware level, which is real snake-oil salesman shit Barnum would be proud of) or drive RAM, SLC mode short term storage, and higher level cells (MLC, QLC, etc.) And the controller has to keep track of all this, in addition to its tables providing the mapping between what the OS considers physical blocks and where those blocks are actually written, due to wear leveling.
A power failure with an SSD can potentially brick the drive, (effectively) permanently.
Do reviewers test for this? Nope. Most of them didn't even realize manufacturers were sending higher-spec NVMe drives out for review and in initial distribution, and then very quickly shifting to much cheaper controllers and flash, or they were in on it and kept their mouths shut so they didn't lose access to review sample hardware.
Do not trust your storage, at all. Fault tolerance, backups, and power protection suitable for the importance of the data...
https://www.phoronix.com/forums/forum/software/bsd-mac-os-x-...