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

FreeBSD Manual Pages

  
 
  

home | help
VNODE_PAGER_SETSIZE(9) FreeBSD Kernel Developer's ManualVNODE_PAGER_SETSIZE(9)

NAME
     vnode_pager_setsize -- notify the VM system about updates in the file
     size

SYNOPSIS
     #include <sys/param.h>
     #include <vm/vm.h>
     #include <vm/vm_extern.h>

     void
     vnode_pager_setsize(struct	vnode *vp, vm_ooffset_t	nsize);

DESCRIPTION
     vnode_pager_setsize lets the VM system know about a change	in size	for a
     file, and updates the object size and vnode pager size of the vm object
     in	vp with	nsize.	Page faults on the object mapping with offset beyond
     the new object size results in SIGBUS.

     Pages between the old EOF and the new EOF are removed from	the object
     queue if the file size shrinks.  In case the new EOF specified by the
     nsize argument is not aligned to page boundary, partial-page area start-
     ing beyond	the EOF	is zeroed and marked invalid.  if the page exists res-
     ident.

     In	case the vnode vp does not have	a VM object allocated, the effect of
     calling this function is no-op.

     This function must	be used	within file system code	to implement trunca-
     tion if the file system allocates vm objects for vnodes.

LOCKS
     The vnode should be exclusively locked on entry and will still be locked
     on	exit.

SEE ALSO
     vnode(9)

HISTORY
     The vnode_pager_setsize manual page first appeared	in FreeBSD 14.

AUTHORS
     This manual page was written by Ka	Ho Ng <khng@FreeBSD.org>.

FreeBSD	13.0			 April 8, 2021			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | LOCKS | SEE ALSO | HISTORY | AUTHORS

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

home | help