Supported Features
- Basic POSIX file system features
- Snapshots
- Automatically and continuously taken, you can retrieve past state of NILFS file system.
- No limit on the number of snapshots until the volume gets full
- Mountable as read-only file systems
- Simultaneously mountable
- Mountable concurrently with the writable mount (convenient for online backup)
- Quick listing
- Easy adminstration
- Online disk space reclamation
- Can maintain multiple snapshots
- Selectable GC Policy, which is given by a userland daemon.
- Quick crash recovery on-mount
- Less use of barrier with keeping reliability; barrier is enabled by default.
- Read-ahead for meta data files as well as data files
- Block sizes smaller than page size (e.g. 1KB or 2KB)
TODO List
- Performance improvement (Better Block I/O submission)
- Redundant super block support
- Faster inode allocation
- atime support
- fsck
- Extended attribute
- POSIX ACLs
- Source code cleanups, further simplification
- Design document
- Optimization for silicon disks (e.g. SSD)
- Better support of fsync, mmap, and direct I/O.
- Online resizing
- Quota support
- Filesystem label support
- "Time-based" tools (e.g. tls, tdiff, tgrep, tfind, ttar and so on. They come from the Elephant file system)
- Time-machine like browser.
Long term TODO list:
- Writable snapshots
- Variety of Garbage Collection policies
- Data integrity support
- Integrated remote backup support (CDP)
- B-tree base directory management
- Extent support
