SFFS#

SFFS stands for "Suri's Fantastic File System" and is the native file system of the THOS8 operating system. It has version control, native trash and a shared partition design, with a journal for instant file searches.

SFFS is proprietary software developed for THOS8, and its on-disk format is not publicly documented. It is written in Rust and is designed around one goal above all: never lose or silently corrupt data, even if the power dies mid-write.

Design#

SFFS combines ideas from three existing file systems: volumes that share free space from APFS, copy-on-write and checksums from Btrfs, and a central file table with a change journal from NTFS.

Technical terms stay out of the user's way. THOS8 talks about "Versions", "Restore points" and "Trash" rather than subvolumes or inodes.

Drives and volumes#

Each drive holds one SFFS container, which is split into volumes. Volumes have no fixed sizes and draw from the same pool of free space, so none of them runs out of room early while another sits empty.

Drive Purpose Notes
a:/ User files, with one a:/<name> per user Each user's files are encrypted with their own key
sys:/ The operating system Sealed and read-only
temp:/ Temporary files Wiped at every mount
b:/, c:/, … Additional drives Options are chosen when formatting

System-wide apps are installed to sys:/apps, which requires uac to change, while personal apps live in a:/<name>/apps.

Outside the Unix compatibility area and sys:/, file names ignore case but keep it for display. Names can be up to 255 bytes long.

Features#

SFFS keeps one central record of every file on a volume and logs every change to it in the Change Journal. Search can stay up to date without crawling through folders, and users only see results for files they are allowed to open.

Versions and restore points#

SFFS never overwrites data in place, so keeping old copies costs very little.

  • Versions keep a history of individual files, with older versions thinned out automatically.
  • Restore points capture a whole volume at a moment in time.
  • Clones make copying a file instant, however large it is. Space is only used once one of the copies changes.

Trash#

Trash is built into the file system instead of being a hidden folder. Trashing a folder of any size is instant, and restored items return to the right place even if their parent folder has since been moved or renamed. Deletions are grouped by action, so everything removed at once can be restored at once.

Sealed system#

sys:/ cannot be modified while THOS8 is running, even by an administrator. Its contents are verified as they are read, so tampering is detected. Updates are prepared alongside the running system, and if a new system fails to boot, THOS8 falls back to the previous one.

Ransomware protection#

SFFS records which app changed which file and keeps older contents out of reach of regular apps. If an app scrambles or deletes files, "Undo what this app did" reverts only that app's changes and leaves everything else in place. It cannot recover data that was already sent elsewhere.

Integrity#

All data and metadata are checksummed and verified on every read. Damaged files are reported by name rather than silently passed on, and damaged metadata is repaired automatically from a second copy. After a crash, a volume returns to its last consistent state.

Encryption#

The main drive is always encrypted. Every user's files are a separate volume, unlocked by that user's own password. Other drives can be regular or portable, and portable drives can be open or password-protected so they can be unlocked on any THOS8 machine.

Permissions#

Access rules are shown in plain language under "Who can open this". Rules can apply to apps as well as users, so an app can be given access to a single folder without seeing the rest of a user's files.

Compatibility#

SFFS is built for THOS8 and is not intended to run on other operating systems. A hidden POSIX view lets Unix software, such as FreeBSD tools and Proton, work with files on SFFS.

A free, read-only tool called the SFFS Reader is planned for Windows, macOS and Linux, so that files can always be recovered from an SFFS drive on another computer.

Development#

SFFS is under active development alongside THOS8 and its SFOK kernel. RAID, multi-disk pools, compression and deduplication are not part of the first version, but may be added later.