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]"