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

FreeBSD Manual Pages

  
 
  

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

NAME
       VOP_ALLOCATE -- allocate	storage	for a file

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

       int
       VOP_ALLOCATE(struct vnode *vp,  off_t *offset,  off_t *len, int ioflag,
	   struct ucred	*cred);

DESCRIPTION
       This call allocates storage for a range of offsets in a	file.	It  is
       used to implement the posix_fallocate(2)	system call.

       Its arguments are:

       vp      The vnode of the	file.

       offset  The start of the	range to allocate storage for in the file.

       len     The length of the range to allocate storage for in the file.

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

       cred    The credentials of the caller.

       The  offset and len arguments are updated to reflect the	portion	of the
       range that still	needs to be allocated on return.  A partial allocation
       is considered a successful operation.   The  file's  contents  are  not
       changed.

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

RETURN VALUES
       Zero  is	 returned  if the call is successful, otherwise	an appropriate
       error code is returned.

ERRORS
       [EFBIG]		  An attempt was made to write a file that exceeds the
			  process's file size limit or the maximum file	size.

       [ENOSPC]		  The file system is full.

       [EPERM]		  An append-only flag is set  on  the  file,  but  the
			  caller is attempting to write	before the current end
			  of file.

SEE ALSO
       vnode(9), VOP_READ(9), VOP_WRITE(9)

FreeBSD	14.3		       November	8, 2021		       VOP_ALLOCATE(9)

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

home | help