Home page of Spad Filesystem for Linux
SpadFS is a new filesystem that I design and develop as my PhD thesis.
It is an attempt to bring features of advanced filesystems (crash recovery, fast
directories) and good performance without increasing code complexity too much.
Uses crash counts instead of journaling (because journaling is too complex and
bug-prone) and uses hash instead of btrees for directory organization.
Features:
-
New method to maintain consistency across crashes --- crash counts.
-
48-bit sector numbers. Supports device size up to 144PB.
-
Variable block size from 512 bytes to machine page size. Due to design of Linux
page cache, small blocksize increases CPU consumption considerably.
-
Large directories are organized in a similar way as
Fagin's
extendible hashing.
Does not use btrees.
-
Files are embedded directly in directory structure (unless hardlink is
created). Thus, ls -la command doesn't have to seek to inodes.
-
Free space is described in lists of extents rather than bitmaps like in
most common filesystem. If a filesystem becomes too fragmented, list of free
extents is converted to bitmap.
Current version is 1.0.20.
Go to download directory.
Read user's manual or
description of filesystem internals.