|
3 | 3 | [](https://cirrus-ci.com/github/ligurio/unreliablefs)
|
4 | 4 |
|
5 | 5 | is a FUSE-based fault injection filesystem that allows to change
|
6 |
| -fault-injections in runtime. |
| 6 | +fault-injections in runtime using simple configuration file. |
7 | 7 |
|
8 | 8 | Supported fault injections are:
|
9 | 9 |
|
|
43 | 43 | $ ls -la
|
44 | 44 | $ umount /tmp/fs
|
45 | 45 | ```
|
| 46 | + |
| 47 | +See documentation in [unreliablefs.1](https://ligurio.github.io/unreliablefs/unreliablefs.1.html) and |
| 48 | +[unreliablefs.conf.5](https://ligurio.github.io/unreliablefs/unreliablefs.conf.5.html). |
| 49 | + |
| 50 | +### References |
| 51 | + |
| 52 | +- "Can Applications Recover from fsync Failures?" - Anthony Rebello, Yuvraj |
| 53 | + Patel, Ramnatthan Alagappan, Andrea C. Arpaci-Dusseau and Remzi H. |
| 54 | +- "All File Systems Are Not Created Equal: On the Complexity of Crafting |
| 55 | + Crash-Consistent Applications" - Thanumalayan Sankaranarayana Pillai, Vijay |
| 56 | + Chidambaram, Ramnatthan Alagappan, Samer Al-Kiswany, Andrea C. |
| 57 | + Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau, University of Wisconsin–Madison |
| 58 | +- "A survey on simulation-based fault injection tools for complex systems" - |
| 59 | + Maha Kooli, Giorgio Di Natale |
| 60 | +- "To FUSE or Not to FUSE: Performance of User-Space File Systems" - Bharath |
| 61 | + Kumar Reddy Vangoor, Vasily Tarasov, Erez Zadok |
| 62 | +- "Performance and Resource Utilization of FUSE User-Space File Systems" |
| 63 | + Bharath Kumar Reddy Vangoor, Prafful Agarwal, Manu Mathew, Arun Ramachandran, |
| 64 | + and Swaminathan Sivaraman, Vasily Tarasov, Erez Zadok. |
| 65 | +- "Performance and Extension of User Space File Systems" - Aditya Rajgarhia, Ashish Gehani |
| 66 | +- "Files are hard" - Dan Luu |
| 67 | +- "Systematic Testing of Fault Handling Code in Linux Kernel" - Alexey |
| 68 | + Khoroshilov, Andrey Tsyvarev |
| 69 | +- "Software-Based Fault Injection Framework For Storage Systems" - Vinod |
| 70 | + Eswaraprasad, Smitha Jayaram |
| 71 | +- Many consumer-grade SSD drives can ignore disk flushes and falsely report to |
| 72 | + operating systems that data was written while it in fact was not. See [Virtuozzo Storage Documentation](https://docs.virtuozzo.com/virtuozzo_hybrid_server_7_installation_guide/preparing-for-installation/planning-storage-gui.html#planning-node-hardware-configurations) and [PostgreSQL Documentation](https://www.postgresql.org/docs/current/wal-reliability.html). |
| 73 | + |
| 74 | +### Similar projects |
| 75 | + |
| 76 | +- CuttleFS - FUSE-based file system with private page cache to simulate post fsync |
| 77 | + failure characteristics of modern file systems. |
| 78 | +- libeatmydata - `LD_PRELOAD` library that disables all forms of writing data |
| 79 | + safely to disk. `fsync()` becomes a NO-OP, `O_SYNC` is removed etc. |
| 80 | +- CharybdeFS - FUSE-based fault injection filesystem with a Thrift RPC |
| 81 | + interface for instrumentation. |
| 82 | +- PetardFS - FUSE-based file system for injecting intentional errors. |
0 commit comments