VOP_ADVISE — apply
advice about use of file data
#include
<sys/param.h>
#include <sys/vnode.h>
int
VOP_ADVISE(struct
vnode *vp, off_t
start, off_t end,
int advice);
This call applies advice for a range of a file's data. It is used
to implement the
posix_fadvise(2)
system call.
Its arguments are:
- vp
- The vnode of the file.
- start
- The start of the range of file data.
- end
- The end of the range of file data. A value of
OFF_MAX indicates that the advice is to be applied
up to the end of the file.
- advice
- The type of operation to apply to the file data. Possible values are:
POSIX_FADV_WILLNEED
- Initiate an asynchronous read of the file data if it is not already
resident.
POSIX_FADV_DONTNEED
- Decrease the in-memory priority of clean file data or discard clean
file data.
If the start and end
offsets are both zero, then the operation should be applied to the entire
file. Note that this call is advisory only and may perform the requested
operation on a subset of the requested range (including not performing it at
all) and still return success.
The file should be unlocked on entry.
Zero is returned if the call is successful, otherwise an
appropriate error code is returned.
- [
EINVAL]
- An invalid value was given for advice.