Re: Editing-in-place of a large file

Daniel Phillips
2001-09-03T01:23:40Z

On September 3, 2001 02:59 am, Larry McVoy wrote:
> > What's needed is a generalisation of sparse files and truncate().
> > They both handle similar problems.
>
> how about
>
> fzero(int fd, off_t off, size_t len)

sys_clear :-)

> which zeros the blocks and if it can creates a holey file?
>
> However, that's not what Bob wants, he wants to remove commercials from
> recorded TV. So what he wants is
>
> fdelete(int fd, off_t off, size_t len)
>
> which has the semantics of shifting the rest of the file backwards to "off".
>
> The main problem with this is if the off/len are not block aligned. If they
> are, then this is just block twiddling, if they aren't, then this is a file
> rewrite anyway.

He could insert blank video frames to pad to the edges of blocks. Very
theoretical since we are ages away from having fzero/sys_clear. Ask Al Viro
if you want to hear the whole ugly story. (Executive summary: it's hard
enough handling remove/create races with just one boundary per file, now try
it with an unbounded number.)

--
Daniel