UnFuseFS
UnFuseFS is a simple FUSE implementation which divides the input file into equal-sized chunks, or to put it simply, it takes a file and cuts it up into multiple files in a virtual directory without taking any additional space on disk.
Usage
$ stat foobar
File: foobar
Size: 4000000000 Blocks: 0 IO Block: 4096 regular file
...
$ unfusefs foobar
Chunk Size: 1.9 GiB (2000000000 bytes)
Mounting "foobar" to "/tmp/split/foobar.split"
$ ls foobar.split
foobar.01 foobar.02
$ unfusefs --help # For more info
Build
Use your usual Cargo commands or run ./build-release.sh to build a size-optimized release binary, you can also optionally set TARGET_PLATFORM for cross-compiliation.
NOTE: libfuse is not required since this project uses the fuser library to implement the FS in Rust entirely :)