Fossil (file system)
Fossil is the default file system in Plan 9 from Bell Labs. It serves the network protocol 9P and runs as a user space daemon, like most Plan 9 file servers. Fossil is different from most other file systems due to its snapshot/archival feature. It can take snapshots of the entire file system on command or automatically (at a user-set interval). These snapshots can be kept on the Fossil partition as long as disk space allows; if the partition fills up then old snapshots will be removed to free up disk space. A snapshot can also be saved permanently to Venti. Fossil and Venti are typically installed together.
Important features include:
- Snapshots are available to all users. No administrator intervention is needed to access old data. (This is possible because Fossil enforces file permissions; users can only access data which they would be allowed to access anyway; thus a user cannot snoop on another's old files or look at old passwords or such.)
- Data in permanent snapshots (sometimes called archives) cannot be modified. Only the non-permanent snapshots can be removed.
To access a snapshot, one would connect to a running fossil instance (“mount” it) and change directory to the desired snapshot, e.g. /snapshot/yyyy/mmdd/hhmm (with yyyy, mm, dd, hh, mm meaning year, month, day, hour, minute). To access an archive (permanent snapshot), a directory of the form /archive/yyyy/mmdds (with yyyy, mm, dd, s meaning year, month, day, sequence number) would be used. Plan 9 allows modifying the namespace in advanced ways, like redirecting one path to another path (e.g. /bin/ls to /archive/2005/1012/bin/ls). This significantly eases working with old versions of files.
Fossil was designed and implemented by Sean Quinlan, Jim McKie and Russ Cox at Bell Labs and added to the Plan 9 distribution at the end of 2002. It became the default file system in 2003, replacing Kfs and the previous Plan 9 archival file system, dubbed The Plan 9 File Server, or "fs". fs is also an archival file system which originally was designed to store data on a WORM optical disc system. The permanent storage for fossil is provided by Venti, which typically stores data on hard drives, which have much lower access times than optical discs.