Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
VN_DEALLOCATE(9)	    Kernel Developer's Manual		VN_DEALLOCATE(9)

NAME
     vn_deallocate -- zero and/or deallocate storage from a file

SYNOPSIS
     #include <sys/param.h>
     #include <sys/vnode.h>

     int
     vn_deallocate(struct vnode *vp, off_t *offset, off_t *length, int flags,
	 int ioflag, struct ucred *active_cred, struct ucred *file_cred);

DESCRIPTION
     The vn_deallocate() function zeros and/or deallocates backing storage space
     from a file.  This function only works on vnodes with VREG type.

     The arguments are:

     vp 	  The vnode of the file.

     offset	  The starting offset of the operation range.

     length	  The  length of the operation range.  This must be greater than
		  0.

     flags	  The control flags of the operation.  This should be set  to  0
		  for now.

     ioflag	  Directives and hints to be given to the file system.

     active_cred  The user credentials of the calling thread.

     file_cred	  The  credentials installed on the file description pointing to
		  the vnode or NOCRED.

     The ioflag() argument gives directives and hints to the  file  system.   It
     may include one or more of the following flags:

     IO_NODELOCKED   The vnode was locked before the call.

     IO_RANGELOCKED  Rangelock was owned around the call.

     IO_NOMACCHECK   Skip MAC checking in the call.

     IO_SYNC	     Do I/O synchronously.

     IO_DIRECT	     Attempt to bypass buffer cache.

     *offset  and *length are updated to reflect the unprocessed operation range
     of the call.  For a successful completion, *length is  updated  to  be  the
     value  0,	and  *offset is incremented by the number of bytes zeroed before
     the end-of-file.

RETURN VALUES
     Upon successful completion, the value 0 is returned; otherwise  the  appro-
     priate error is returned.

SEE ALSO
     vnode(9), VOP_DEALLOCATE(9)

AUTHORS
     vn_deallocate   and   this   manual   page   was	written   by  Ka  Ho  Ng
     <khng@FreeBSD.org> under sponsorship from the FreeBSD Foundation.

FreeBSD ports 15.quarterly	 August 25, 2021		VN_DEALLOCATE(9)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=vn_deallocate&sektion=9&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help