This patchset makes use of the posix_fallocate() call to allocate
chunks of files whenever needed if it's available.
We fallback to using safewrite() if it's not available.
mmap() could be used instead of safewrite too; I have a patch in case
someone is interested in seeing it.