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

From: Peter Chubb
Date: Thu Dec 04 2003 - 21:41:53 EST


>>>>> "Philippe" == Philippe Troin <phil@xxxxxxxx> writes:

Philippe> 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.

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

The original SVr4 worked in the middle of files too.

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