A futuristic filesystem that's stuck in the past.
Features • How To Use • Credits • License
Features
- Multi-disk
- Spans a single filesystem across as many floppy disks as are required to store the data, treating them as a single pool.
- Disk failure detection
- Automatically detects and troubleshoot drive and disk issues.
- Automatic backups
- Floppy disks are unreliable, so every block operation is backed up to
/var/flusterin case disk recovery is required.
- Floppy disks are unreliable, so every block operation is backed up to
- Tiered caching
- Triple tiered, in-memory cache to minimize disk swapping, while only using 2 floppy disks worth of memory.
- Error checking
- Every 512 byte block has a 4 byte CRC to detect corruption or bad reads, and disk operations will automatically retry if the CRC fails.
- FUSE based
- Built on FUSE, which makes Fluster! mountable on any UNIX or UNIX-like system that supports FUSE.
How To Use
To clone and run Fluster!, you'll need Rust, a FUSE implementation, a floppy drive, and at least two floppy disks.
Prerequisites
For Linux & macOS
- Install:
- Rust: Follow the official installation guide.
- FUSE: On most Linux distributions, libfuse is available through your package manager (e.g., sudo apt-get install libfuse-dev).
- On macOS, you may need macFUSE, although I have not tested Fluster! on MacOS at all, since you should use a real operating system.
For Windows Users
- If you're running Fluster! on Windows, please read this guide.
Building and running
Build Fluster!:
# Clone the repository git clone https://github.com/DocJade/fluster_rs # Go into the repository cd fluster_fs # Build with the recommended 'floppy' profile cargo build --profile floppy
Run Fluster!:
# Example usage: # Create a directory to mount the filesystem mkdir ~/fluster_mount_point # Run the app (requires root privileges for mounting) sudo ./target/floppy/fluster_fs --block-device-path "/dev/sdX" --mount-point "~/fluster_mount_point"
- Replace /dev/sdX with the actual path to your floppy drive.
Unmounting Fluster!:
fusermount -u ~/fluster_mount_point- Do note that unmounting Fluster! does not immediately shut down fluster, you will still need to swap disks to flush the cache to disk.
Credits
- DocJade (That's me!)
- Rust (Not the bad Rust)
- The Rippingtons, who kept me from going insane while writing this.
- Femtanyl, who helped me go insane while writing this.
Notes:
Originally I planned to keep an up-to-date implementation spec of Fluster! in ./filesystem_design, but this slowly became more and more out of date, as is now very un-representative of the final product. Some information in there such as Inode blocks and how they are constructed should be mostly up to date. Dense disks aren't real, and they cannot hurt you.
If you're wondering "Where is the EXE so I can just run it myself!" Please understand that there isn't one, and for good reason. If you don't know how to build and run this project yourself, chances are you would use it improperly, and possibly wipe your C: drive.
See Fluster! in action
You may also like...
- Pornography, search "boobs" on google for more info.
License
Fluster! © 2025 by DocJade is licensed under Creative Commons Attribution 4.0 International
I should just come up with a cool name and the rest will like as itself.

