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

From: Philippe Troin
Date: Thu Dec 04 2003 - 20:06:43 EST


Peter Chubb <peter@xxxxxxxxxxxxxxxxxx> writes:

> >>>>> "Rob" == Rob Landley <rob@xxxxxxxxxxx> writes:
>
> Rob> You can make a file with a hole by seeking past it and never
> Rob> writing to that bit, but is there any way to punch a hole in a
> Rob> file after the fact? (I mean other with lseek and write. Having
> Rob> a sparse file as the result....)
>
> SVr4 has fcntl(fd, F_FREESP, flock) that frees the space covered by
> the struct flock in the file. Linux doesn't have this, at least in
> the baseline kernels.

However most SVr4 (at least Solaris and HP-UX) only implement FREESP
when the freed space is at the file's tail. In other words, FREESP can
only be used to implement ftruncate().

Phil.
-
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/