smaFS is a generic file system overlay implemented using FUSE which is capable of providing file-level snapshots, transparent versioning and recovery to any-point-in-time on top of any existing file system.
This is an old project of mine from year 2009.
- Calculate hash and perform compression blockwise within with make_copy() function loop. The implementation should be straightforward and save on multiple duplicate file read operations. The current version of smaFS does extra reads for implementing compression and hashing.
- Lazy metadata commit: Metadata can be cached in memory and flushed to disk later. This should boost the performane on update intensive workload.
- .store directory where metadata and version history is stored is weakly protected by and setuid utitlities. A better security should be researched.
- reaper requires complete re-write of metadata file.
- Requires "user_allow_other" option in /etc/fuse.conf
- Add support for directory versioning.
- Better security.
What bugs? This software has no bugs!