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.
Features
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 is available on several other platforms via Plan 9 from User Space.
History
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.
See also
- GoogleFS – Google's proprietary distributed filesystem
External links
- "Fossil", Cat v (manual page).
- "Fossil console commands", Cat v (manual page).
- "Fossil", Cat v (technical paper), about data structures written to venti