Smart File System

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Smart File System
Features
Transparent encryption No (provided at the block device level)
Supported operating systems AmigaOS, AROS, MorphOS

The Smart File System (SFS) is a journaling filesystem used on Amiga computers. It is designed for performance, scalability and integrity. It uses block sizes ranging from 512 (29) to 32768 (215) bytes with a maximum partition size of 128 GB.

Contents

[edit] Features

Good performance of the filesystem is realised by grouping multiple directory entries into a single block and by grouping meta data blocks together into clusters. A bitmap is used to keep track of free space, and file data is kept track of using extents arranged into a B+ tree structure.

Integrity is maintained by keeping a rollback log of all changes made to metadata over a certain period of time. The log is written to disk first into free space and then meta data blocks are overwritten directly. Should the system crash, the next time the filesystem is mounted it will notice the uncompleted operation and roll it back to the last known consistent state. For performance reasons, only metadata integrity is ensured. Actual data in files can still be corrupted if a write operation is terminated half way through.[1] Unlike the original Amiga filesystems, FFS and OFS, filesystem integrity is very rarely compromised by this.

One particularly interesting feature of SFS (and almost unique to Amiga filesystems) is its ability to defragment itself while the filesystem is in use, even for locked files. The defragmentation process is almost completely stateless (apart from the location it is working on), which means it can be stopped and started instantly. During defragmentation data integrity is ensured of both meta data and normal data.

[edit] History

SFS is a free filesystem written in C originally created in 1998 by John Hendrikx. After the original author left the Amiga scene in 2000, the sources for SFS were released and its development continued by Ralph Schmidt in MorphOS. Another MorphOS developer, Joerg Storhmayer, left the team few years later and contributed MorphOS SFS to AmigaOS 4.

Since May 2005 the SFS source code is available under the LGPL license. Its development has now forked; as well as the original Amiga version, there are now versions for MorphOS, AROS, AmigaOS 3, and a version for AmigaOS 4, which have different feature sets but remain compatible to each other. In addition, there is a driver for Linux to read Amiga SFS volumes.[2]

[edit] Versions

  • AROS: 1.84
  • AmigaOS 3: 1.279
  • AmigaOS 4: 1.279
  • MorphOS: 1.219
  • Linux: 1.0beta12

Versions for AROS, AmigaOS and MorphOS are based on different branch.

[edit] See also

[edit] References

  1. ^ Hendrikx, J: Smart Filesystem documentation. 1999
  2. ^ "asfs.txt". http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/asfs.txt. Retrieved November 10, 2011. 

[edit] External links


Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages