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.

gollark: Well, yes, but I still like the start menu design.
gollark: Come to think of it I probably *could* design my own HTML/JS/CSS-based reimplementation, and that would be neat.
gollark: As heretical as it is I actually do really like the design of Windows 8's start menu.
gollark: They could just put "thunder".
gollark: ```<86.169.15.51> 195.54.160.135 [13/Jun/2020:07:43:36 +0000] "POST /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36" secure```Here's a sample HTTP request.

See also

  • GoogleFS – Google's proprietary distributed filesystem
  • "Fossil", Cat v (manual page).
  • "Fossil console commands", Cat v (manual page).
  • "Fossil", Cat v (technical paper), about data structures written to venti
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.