RE: Is there a "make hole" (truncate in middle) syscall?

Hua Zhong
2003-12-11T19:55:23Z

> > Understood. Two filesystems we are using: tmpfs and ext3. For the
> > former, fragmentation doesn't matter.
> >
> > Hey, I think when I get some cycles I can try to implement this for
> > tmpfs (since it's simpler) myself, and post a patch. :-) But before
> > that, I want to make sure it's doable.
>
> If you really do it, please don't add a syscall for it. Simply check
> each written page if it is completely filled with zero. (This will be
> a very quick check for most pages, as they will contain something
> nonzero in the first couple of words)

You mean automatically punch it?

I don't think this is desirable. As someone else pointed out, "punch" might be an expensive operation and cause fragmentation (since you return the block in the middle to the fs).

I think this operation should be performed only when the application requires it.

> Jörn