3 ms·
Does this have a practical use? It's definitely a novel application of a property of Rust. It's also been my impression filesystem consistency is largely a so
by metadat 2y ago
Does this have a practical use? It's definitely a novel application of a property of Rust. It's also been my impression filesystem consistency is largely a solved problem thanks to write-ahead logs (WAL) and the like.
It's nice the authors included a link to the underlying source code in the last paragraph:
https://github.com/utsaslab/squirrelfs https://github.com/utsaslab/squirrelfs
- vlovich123 2y agoThere’s a pretty big difference between leveraging the compiler to do a formal proof of the codebase on your behalf vs runtime tests to make sure your WAL is maintaining the invariants you expect it to have.
- IshKebab 2y agoDoes what have a practical use? The actual filesystem, or using the typestate pattern to prove the absence of bugs? 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)?
- jmartin2683 2y agoThe idea of typestate programming and how it allows you to model all of the valid states and transitions between them is definitely useful in a lot of contexts. if you’ve ever had to call some init() method on an object in an OO language before you could call something else, this pattern would throw a compile time error if you violate that.