home | help
POSIX_FADVISE(2)	       System Calls Manual		POSIX_FADVISE(2)

NAME
     posix_fadvise -- give advice about use of file data

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <fcntl.h>

     int
     posix_fadvise(int fd, off_t offset, off_t len, int advice);

DESCRIPTION
     The  posix_fadvise() system call allows a process to describe to the system
     its data access behavior for an open file descriptor fd.  The advice covers
     the data starting at offset offset and continuing for len bytes.  If len is
     zero, all data from offset to the end of the file is covered.

     The behavior is specified by the advice parameter and may be one of:

     POSIX_FADV_NORMAL	    Tells the system to revert to the default  data  ac-
			    cess behavior.

     POSIX_FADV_RANDOM	    Is	a hint that file data will be accessed randomly,
			    and prefetching is likely not advantageous.

     POSIX_FADV_SEQUENTIAL  Tells the system that file data will be accessed se-
			    quentially.  This currently does nothing as the  de-
			    fault  behavior uses heuristics to detect sequential
			    behavior.

     POSIX_FADV_WILLNEED    Tells the system that the specified data will be ac-
			    cessed in the near future.	The system may	initiate
			    an	asynchronous  read  of the data if it is not al-
			    ready present in memory.

     POSIX_FADV_DONTNEED    Tells the system that the specified data will not be
			    accessed in the near future.   The	system	may  de-
			    crease  the  in-memory priority of clean data within
			    the specified range and future access to  this  data
			    may require a read operation.

     POSIX_FADV_NOREUSE     Tells  the	system that the specified data will only
			    be accessed once and then not reused.   Accesses  to
			    data  within  the  specified range are treated as if
			    the file descriptor has the O_DIRECT flag enabled.

RETURN VALUES
     The posix_fadvise() function returns the value 0 if  successful;  otherwise
     the  value  -1 is returned and the global variable errno is set to indicate
     the error.

ERRORS
     The posix_fadvise() system call will fail if:

     [EBADF]		The fd argument is not a valid file descriptor.

     [EINVAL]		The advice argument is not valid.

     [EINVAL]		The offset or len arguments are negative,  or  offset  +
			len is greater than the maximum file size.

     [ENODEV]		The fd argument does not refer to a regular file.

     [ESPIPE]		The fd argument is associated with a pipe or FIFO.

SEE ALSO
     madvise(2)

STANDARDS
     The posix_fadvise() interface conforms to IEEE Std 1003.1-2001 ("POSIX.1").

HISTORY
     The posix_fadvise() system call first appeared in FreeBSD 10.0.

FreeBSD 9.1			February 25, 2012		POSIX_FADVISE(2)

home | help