VOP_DEALLOCATE(9)
π NAME π
VOP_DEALLOCATE β zero and/or deallocate storage from a file. Welcome to VOP_DEALLOCATE(9) from the Kernel Developer's Manual, bestie β this is your kernel-devtools moment β¨.
πΈ SYNOPSIS πΈ
#include <sys/param.h>
#include <sys/vnode.h>
int
VOP_DEALLOCATE(struct vnode *vp, off_t *offset, off_t *len, int flags,
int ioflag, struct ucred *cred);
π¦ DESCRIPTION π¦
Okay so this VOP call zeroes/deallocates storage for an offset range in a file. It is used to implement the fspacectl(2) system call β thatβs the whole reason this VOP exists, no cap π«Ά.
Its arguments are:
vpβ the vnode of the file.offsetβ the start of the range to deallocate storage in the file.lenβ the length of the range to deallocate storage in the file.flagsβ the flags of this call. This should be set to0for now.ioflagβ directives and hints to be given to the file system.credβ the credentials of the caller.
*offset and *len are updated to reflect the portion of the range that still needs to be zeroed/deallocated on return. A partial result is considered a successful operation. For a non-partial successful completion, *len is updated to be the value 0, and *offset is incremented by the number of bytes zeroed before the end-of-file. π
π LOCKS π
The vnode should be locked on entry and will still be locked on exit. Keep that lock energy, bestie β it stays locked the whole time β.
π RETURN VALUES π
Zero is returned if the call is successful, otherwise an appropriate error code is returned. Fr fr, 0 is the slay outcome β¨.
π ERRORS π
[EINVAL]β Invalidoffset,lenorflagsparameters are passed into this VOP call.[ENODEV]β The vnode type is not supported by this VOP call.[ENOSPC]β The file system is full.[EPERM]β An append-only flag is set on the file, but the caller is attempting to zero before the current end of file.
π«Ά SEE ALSO π«Ά
vnode(9)β iconic supporting character, obviously π
π AUTHORS π
VOP_DEALLOCATE and this manual page was written by Ka Ho Ng <khng@FreeBSD.org> under sponsorship from the FreeBSD Foundation. Respect the author, bestie π.
π Cute sign-off: this page is from Debian, dated August 25, 2021, and itβs for VOP_DEALLOCATE(9) β mwah, bestie π.
π¦ where this page comes from
- freebsd 14.5: base 14.5
- freebsd 15.1: base 15.1
- nixpkgs unstable: source
- π the page's license: BSD-2-Clause
- Copyright (c) 2021 The FreeBSD Foundation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms