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

Vladimir Saveliev
2003-12-12T13:28:22Z

Hi

On Fri, 2003-12-12 at 15:55, Jörn Engel wrote:
> On Thu, 11 December 2003 14:32:12 -0600, Rob Landley wrote:
> > On Thursday 11 December 2003 13:48, Jörn Engel wrote:
> > >
> > > 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)
> >
> > Cache poisoning, streaming writes to large RAID arrays... There are about 8
> > zllion reasons not to do this. Really. (It defeats the whole purpose of
> > DMA, doesn't it?)
>

Sorry,
but doesn't truncate do almost exactly what "make hole" is supposed to
do?

> Yes, the obvious and stupid implementation has a ton of problems.
> Most likely the right approach is some sort of background deamon
> (garbage collector, defragmenter, journald, whatever you may call it)
> that does exacly this even after the fact for the last unchecked
> writes. Asyncronous under load, possibly even synchronous when almost
> idle.
>
> A stupid implementation would still help for some workload (few, while
> hurting many) and already get the code tested, so even a stupid
> implementation helps.
>
> Jörn