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

From: Jörn Engel
Date: Thu Dec 11 2003 - 14:52:52 EST


On Thu, 11 December 2003 11:15:28 -0800, Hua Zhong wrote:
>
> > The abstract interface for make_hole() is simple, but it turns into a
> > pretty expensive filesystem operation, I think. After many cycles of
> > free/allocate, your file would be badly fragmented across the
> > filesystem.
>
> 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)

Jörn

--
The story so far:
In the beginning the Universe was created. This has made a lot
of people very angry and been widely regarded as a bad move.
-- Douglas Adams?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/