
On 5/25/06, Slava, Alex <raf.devel@gmail.com> wrote:
ZFS on Solaris 10 has an extension to the the Posix lseek() flags, SEEK_DATA and SEEK_HOLE. It makes it easy to find the holes in your files. I may be wrong here but I don't think Linux supports this.
Sparce file handling was described in Kernighan book more then 20 years ago. I think that most UNIX-systems produces "holes" by default (Linux do this on ext2/ext3 and XFS for sure). It is not a problem to RAF. It just ask a system to allocate space and it is not important whether the data allocated or "hole" created. when writing in the "hole" system will allocate blocks for a file. There may be a problem that there is no more space on device, exactly such case is descried in MSDN (using memory-maped file on sparce or comprressed file). We will just check for an error in such cases.
What about (avoiding) fragmentation? I think a way to allocate the entire file at one time should be available.