commit 22d4fa8e3e478b48d456bd21bab50570d131affb from: Sergey Bronnikov date: Fri Apr 30 22:27:31 2021 UTC Update README Closes #47 commit - f923f0253af63c48b2b8df7d3da6727116b20076 commit + 22d4fa8e3e478b48d456bd21bab50570d131affb blob - 7279944faea1fd360a270e4a5296980a9b5f2e45 blob + 4bd468155a94ba500080d38f69ed3e2cab91f31f --- README.md +++ README.md @@ -5,6 +5,25 @@ is a FUSE-based fault injection filesystem that allows to change fault-injections in runtime. +### Simulation of real errors + +- https://danluu.com/file-consistency/ +- see Phoebe https://github.com/gluckzhang/phoebe +- All File Systems Are Not Created Equal: On the Complexity of Crafting Crash-Consistent Applications +https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-pillai.pdf +https://www.usenix.org/sites/default/files/conference/protected-files/osdi14_slides_pillai.pdf +- https://www.snia.org/sites/default/files/files2/files2/SDC2013/presentations/TestingMethodologies/VinodEswaraprasad_Software-Based_Fault-Storage-v1-0.pdf +- http://pages.cs.wisc.edu/~gibson/pdf/fault-injector.pdf +- A survey on simulation-based fault injection tools for complex systems +https://hal-auf.archives-ouvertes.fr/hal-01075473/document +- Describe a reasons to test with noop for `fsync(2)` [^1] and [^2] +- Eat My Data: How Everybody gets File IO Wrong +https://www.youtube.com/watch?v=LMe7hf2G1po +https://www.slideshare.net/nan1nan1/eat-my-data + +[^1]: https://docs.virtuozzo.com/virtuozzo_hybrid_server_7_installation_guide/preparing-for-installation/planning-storage-gui.html#planning-node-hardware-configurations +[^2]: https://www.postgresql.org/docs/current/wal-reliability.html + Supported fault injections are: - `errinj_noop` - replace file operation with no operation @@ -40,3 +59,11 @@ EOF $ ls -la $ umount /tmp/fs ``` + +### Performance + +- [To FUSE or Not to FUSE: Performance of User-Space File Systems](https://www.usenix.org/conference/fast17/technical-sessions/presentation/vangoor) +- [Performance and Resource Utilization of FUSE User-Space File Systems](https://dl.acm.org/doi/fullHtml/10.1145/3310148) +- [Performance and Extension of User Space File Systems∗](https://core.ac.uk/download/pdf/193586624.pdf) +- TODO: `FUSE_PASSTHROUGH`, see https://lkml.org/lkml/2020/8/12/547 +- TODO: https://chubaofs.readthedocs.io/en/latest/user-guide/fuse.html