VeryBigFS is a trivial MacFUSE file system—about 60 lines of C code—that creates a huge volume with a huge file in it. “Huge” would be 512TB in this case.
This is useful if you want to see how a program will deal with unusually large files. Since it is extremely unlikely for the majority of us to be able to actually create files that are 512TB in size any time in the near future, faking is the way to go. Assuming you have MacFUSE installed, here is how you can try this file system.
$ ls Makefile verybigfs.c $ make ... $ mkdir "/Volumes/Very Big HD" $ ./verybigfs "/Volumes/Very Big HD" $ ls -lh ... -r--r--r-- 1 singh wheel 512T Nov 28 05:38 copyme.txt
As an aside, note that HFS+ does not support sparse files. In fact, if you create a large scratch file on HFS+, it will be zero filled “soon”. This can take a long time depending upon the file size, the hardware, and the resources available. Mac OS X provides a way for a privileged process to set a file’s size without zero filling: it’s the
F_SETSIZE command of the
fcntl() system call.
Here is what the Finder tells you about the file
copyme.txt inside the volume.
Note that although the tantalizingly named file is fictitious in that it doesn’t occupy any real disk space, you will read 512TB of zero-filled data if you choose to do so.
$ od -Xv copyme.txt ... 1357500 00000000 00000000 00000000 00000000 1357520 00000000 00000000 00000000 00000000 1357540 00000000 00000000 00000000 00000000 1357560 00000000 00000000 00000000 00000000 1357600 00000000 00000000 00000000 00000000 ... # A very, very, very long undetermined length of time...