fossil (file system)
{{Short description|File system for Plan 9 operating system}}
{{distinguish|Fossil (software)}}
{{more citations needed|date=February 2024}}
{{Infobox file system
| name = Fossil
| full_name =
| developer = Bell Labs
| variants =
| introduction_date = {{Start date and age|2002}}
| discontinuation_date =
| succeeded_by =
| preceded_by = Kfs
| partition_id =
| directory_struct =
| file_struct =
| bad_blocks_struct =
| min_volume_size =
| max_volume_size =
| max_file_size =
| max_files_no =
| max_filename_size =
| max_dirname_size =
| max_directory_depth =
| dates_recorded =
| date_range =
| date_resolution =
| forks_streams =
| attributes =
| file_system_permissions =
| compression = Yes
| encryption = No
| data_deduplication = Yes
| OS = Plan 9 from Bell Labs
| bootable =
| filename_character_set =
| file_types =
| introduction_os =
| file_size_granularity =
| copy_on_write =
| website =
}}
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.{{cite web | title=Fossil, an Archival File Server | website=cat-v.org Documentation archive | url=https://doc.cat-v.org/plan_9/4th_edition/papers/fossil/ }}
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.
References
{{reflist}}
See also
- GoogleFS – Google's proprietary distributed filesystem
External links
- {{Citation | url = http://man.cat-v.org/plan_9/4/fossil | contribution = Fossil | type = manual page | title = Cat -v}}.
- {{Citation | url = http://man.cat-v.org/plan_9/8/fossilcons | contribution = Fossil console commands | type = manual page | title = Cat -v}}.
{{File systems}}