Re: Proposing space management API to perform hole-punching

Ka Ho Ng via freebsd-arch <[email protected]>
Newsgroups gmane.os.freebsd.architechture
Message-ID <[email protected]>
> On Feb 12, 2021, at 3:00 AM, Poul-Henning Kamp <[email protected]> wrote:
> 
> --------
> 
> Ka Ho Ng via freebsd-arch writes:
> 
>> The proposal contains fspacectl(2), VOP_DEALLOCATE(9) and vn_deallocate(9). fspacectl(2) is a space management API that takes a file descriptor, a command value, a range and flags.  The system call is responsible for doing space management operations such as punching holes, which is the only operation supported so far. [...]
> 
> 1. Which other operations are/can be foreseen ?
Besides SPACECTL_DEALLOC, it would be foreseeable to implement SPACECTL_ALLOC.
> 
> 2. What arguments would they need ?
The same, a tuple of offset and length.
> 
> 3. Should the syscall definition take this into account already now ?
kib@ thinks it is a bonus to simplify the number of system calls in the original fdeallocate(2) +
fzero(2) draft under the same differential, as we already got posix_fallocate.
Besides, one of the consideration behind is to implement linuxulator’s fallocate, which does
also does FALLOC_FL_KEEP_SIZE. 
> 
> 4. Are there any existing APIs for this ?
> 5. Should we stick closely to them ?  If not, why not ?
posix_fallocate. The system call however does not consider the case if file extending is not
required, nor does it do hole-punching.
> 
> -- 
> Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
> [email protected]         | TCP/IP since RFC 956
> FreeBSD committer       | BSD since 4.3-tahoe    
> Never attribute to malice what can adequately be explained by incompetence.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.