Barrus Filesystem: A Reliable Filesystem
Original Publication Date: 2001-Oct-28
Included in the Prior Art Database: 2003-Jun-20
This articles describes a reliable storage filesystem that is used to reliably store configuration data for an embedded computing system. The Barrus (Latin for elephant) Filesystem solves the problem of corrupted critical configuration data preventing an embedded computing system (Internet Access Device) from booting when its configuration files have been corrupted. The Barrus Filesystem was developed because there were a number of critical configuration files that could be corrupted if power was removed from the device at an inopportune moment. Corruption of any of these critical configuration files would prevent the device from booting. The Barrus Filesystem solves the problem by implementing a filesystem that checksums data stored in it, and maintains backup copies of the data written to the filesystem. The filesystem acts as a filter, in that it does not actually manage the storage, it relies on an underlying filesystem for storage. The Barrus Filesystem adds reliability to the underlying filesystem. The Barrus Filesystem adds reliability using the following techniques: Cheksum file data When files are written to the Barrus Filesystem, the data is checksummed at file close time and the checksum is appended to the underlying filesystem. Backup files When files are modified in the Barrus Filesystem, the original file data is never modified, a new copy of the data is created in the underlying raw filesystem. There can be up to three backup files stored in the raw filesystem: (1) .new file for a new version of a file, (2) .old version for data that has been superseded, and (3) .rm version for data that has been deleted.