On Feb 1, 2008 2:14 AM, Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:Some OSes use fcntl() F_FREESP/F_FREESP64 to be able to free allocated space in files (ie make holes if supported by underlying fs)
Lars Noschinski <lklml@xxxxxxxxxxxxxxxx> writes:
For an university project, we had to write a toy filesystem (ext2-like),It does not explicitely detect holes; holey data is just never written
for which I would like to implement sparse file support. For this, I
digged through the ext2 source code; but I could not find the point,
where ext2 detects holes.
As far as I can see from fs/buffer.c, an hole is a buffer_head which is
not mapped, but uptodate. But I cannot find a relevant source line,
where ext2 makes usage of this information.
so no space for it is allocated.
does anybody know how to make a hole in a large file which already has
real content from user space application?
In my project I need this function to delete a piece of content from
an exist large effectively.
thanks.