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