Skip to content

Commit 6426170

Browse files
committed
readme: add references and similar projects
Closes #47
1 parent d5103c8 commit 6426170

File tree

1 file changed

+38
-1
lines changed

1 file changed

+38
-1
lines changed

README.md

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[![Build Status](https://api.cirrus-ci.com/github/ligurio/unreliablefs.svg)](https://cirrus-ci.com/github/ligurio/unreliablefs)
44

55
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.
77

88
Supported fault injections are:
99

@@ -43,3 +43,40 @@ EOF
4343
$ ls -la
4444
$ umount /tmp/fs
4545
```
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

Comments
 (0)