FULFS -- Fuse Using Large File System
-------------------------------------
The FULFS is a simple hack to store and read very large files on/from a
filesystem with small maximum file size. The primary purpose was putting
DVD-size images on FAT32 and use it transparently. The files are stored in the
form name.aa, name.ab, ...
Usage:
./fulfs physical-storage-dir virtual-dir [ chunk size ]
where the chunk size can be completed with a k/K/m/M/g/G suffix, meaning a
decimal or binary (upper case) factor of the particular unit.
Limitations:
- Uses only two letter suffix, resulting in 26^2 files. Which means a maximum
file size of about 1.3TB on a 2GB-limited filesystem.
- owner and permission change is not allowed since atomic operations are not
implemented yet.
Installation:
Install pkgconfig, install fuse library (version >>2.5.0, from
http://fuse.sourceforge.net or a modern Linux distribution, including the
development files (eg. libfuse-dev on Debian).
Run "make".
LICENSE:
3-clause BSD style license, see COPYING file inside of this distribution.
THANKS:
Many thanks to Miklos Szeredi for the FUSE package which allowed a quick and
almost painless implementation.
HISTORY:
- clean rewrite of my previous solution, the vlfs plugin for LUFS
DOWNLOAD:
See recent versions in the download directory.
Demo:
demo:~/work$ ls -la /tmp/f/
insgesamt 2097176
drwxrwxrwx 2 root root 16384 2006-10-04 17:19 .
drwxrwxrwt 9 root root 4096 2006-10-04 18:13 ..
-rwxrwxrwx 1 root root 8807364608 2006-10-04 17:15 test.iso
demo:~/work$ ls -la /mnt/hdb8/tmp/
insgesamt 8600976
drwxrwxrwx 2 root root 16384 2006-10-04 17:19 .
drwxrwxrwx 12 root root 16384 2006-10-04 17:06 ..
-rwxrwxrwx 1 root root 2147483647 2006-10-04 17:15 test.iso.aa
-rwxrwxrwx 1 root root 2147483647 2006-10-04 17:16 test.iso.ab
-rwxrwxrwx 1 root root 2147483647 2006-10-04 17:18 test.iso.ac
-rwxrwxrwx 1 root root 2147483647 2006-10-04 17:19 test.iso.ad
-rwxrwxrwx 1 root root 217430020 2006-10-04 17:19 test.iso.ae
demo:~/work$ md5sum /tmp/f/test.iso ; cat /mnt/hdb8/tmp/test.iso.a* | md5sum -
89d3b6fb1b0cdae512ac473b40fbcfa6 /tmp/f/test.iso
89d3b6fb1b0cdae512ac473b40fbcfa6 -
|