xref: /freebsd/share/man/man9/VOP_ADVISE.9 (revision ea41f49fc5516590544503f6d1a29a87ee62c485)
1*ea41f49fSJohn Baldwin.\" -*- nroff -*-
2*ea41f49fSJohn Baldwin.\"
3*ea41f49fSJohn Baldwin.\" Copyright (c) 2013 Advanced Computing Technologies LLC
4*ea41f49fSJohn Baldwin.\" Written by: John H. Baldwin <jhb@FreeBSD.org>
5*ea41f49fSJohn Baldwin.\" All rights reserved.
6*ea41f49fSJohn Baldwin.\"
7*ea41f49fSJohn Baldwin.\" Redistribution and use in source and binary forms, with or without
8*ea41f49fSJohn Baldwin.\" modification, are permitted provided that the following conditions
9*ea41f49fSJohn Baldwin.\" are met:
10*ea41f49fSJohn Baldwin.\" 1. Redistributions of source code must retain the above copyright
11*ea41f49fSJohn Baldwin.\"    notice, this list of conditions and the following disclaimer.
12*ea41f49fSJohn Baldwin.\" 2. Redistributions in binary form must reproduce the above copyright
13*ea41f49fSJohn Baldwin.\"    notice, this list of conditions and the following disclaimer in the
14*ea41f49fSJohn Baldwin.\"    documentation and/or other materials provided with the distribution.
15*ea41f49fSJohn Baldwin.\"
16*ea41f49fSJohn Baldwin.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17*ea41f49fSJohn Baldwin.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18*ea41f49fSJohn Baldwin.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19*ea41f49fSJohn Baldwin.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20*ea41f49fSJohn Baldwin.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21*ea41f49fSJohn Baldwin.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22*ea41f49fSJohn Baldwin.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23*ea41f49fSJohn Baldwin.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24*ea41f49fSJohn Baldwin.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25*ea41f49fSJohn Baldwin.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26*ea41f49fSJohn Baldwin.\" SUCH DAMAGE.
27*ea41f49fSJohn Baldwin.\"
28*ea41f49fSJohn Baldwin.\" $FreeBSD$
29*ea41f49fSJohn Baldwin.\"
30*ea41f49fSJohn Baldwin.Dd October 3, 2013
31*ea41f49fSJohn Baldwin.Dt VOP_ADVISE 9
32*ea41f49fSJohn Baldwin.Os
33*ea41f49fSJohn Baldwin.Sh NAME
34*ea41f49fSJohn Baldwin.Nm VOP_ADVISE
35*ea41f49fSJohn Baldwin.Nd apply advice about use of file data
36*ea41f49fSJohn Baldwin.Sh SYNOPSIS
37*ea41f49fSJohn Baldwin.In sys/param.h
38*ea41f49fSJohn Baldwin.In sys/vnode.h
39*ea41f49fSJohn Baldwin.Ft int
40*ea41f49fSJohn Baldwin.Fn VOP_ADVISE "struct vnode *vp" "off_t start" "off_t end" "int advice"
41*ea41f49fSJohn Baldwin.Sh DESCRIPTION
42*ea41f49fSJohn BaldwinThis call applies advice for a range of a file's data.
43*ea41f49fSJohn BaldwinIt is used to implement the
44*ea41f49fSJohn Baldwin.Xr posix_fadvise
45*ea41f49fSJohn Baldwinsystem call.
46*ea41f49fSJohn Baldwin.Pp
47*ea41f49fSJohn BaldwinIts arguments are:
48*ea41f49fSJohn Baldwin.Bl -tag -width offset
49*ea41f49fSJohn Baldwin.It Fa vp
50*ea41f49fSJohn BaldwinThe vnode of the file.
51*ea41f49fSJohn Baldwin.It Fa start
52*ea41f49fSJohn BaldwinThe start of the range of file data.
53*ea41f49fSJohn Baldwin.It Fa end
54*ea41f49fSJohn BaldwinThe end of the range of file data.
55*ea41f49fSJohn Baldwin.It Fa advice
56*ea41f49fSJohn BaldwinThe type of operation to apply to the file data.
57*ea41f49fSJohn BaldwinPossible values are:
58*ea41f49fSJohn Baldwin.Bl -tag -width POSIX_FADV_WILLNEED
59*ea41f49fSJohn Baldwin.It Dv POSIX_FADV_WILLNEED
60*ea41f49fSJohn BaldwinInitiate an asynchronous read of the file data if it is not already resident.
61*ea41f49fSJohn Baldwin.It Dv POSIX_FADV_DONTNEED
62*ea41f49fSJohn BaldwinDecrease the in-memory priority of clean file data or discard clean file data.
63*ea41f49fSJohn Baldwin.El
64*ea41f49fSJohn Baldwin.El
65*ea41f49fSJohn Baldwin.Pp
66*ea41f49fSJohn BaldwinIf the
67*ea41f49fSJohn Baldwin.Fa start
68*ea41f49fSJohn Baldwinand
69*ea41f49fSJohn Baldwin.Fa end
70*ea41f49fSJohn Baldwinoffsets are both zero,
71*ea41f49fSJohn Baldwinthen the operation should be applied to the entire file.
72*ea41f49fSJohn BaldwinNote that this call is advisory only and may perform the requested
73*ea41f49fSJohn Baldwinoperation on a subset of the requested range
74*ea41f49fSJohn Baldwin.Pq including not performing it at all
75*ea41f49fSJohn Baldwinand still return success.
76*ea41f49fSJohn Baldwin.Sh LOCKS
77*ea41f49fSJohn BaldwinThe file should be unlocked on entry.
78*ea41f49fSJohn Baldwin.Sh RETURN VALUES
79*ea41f49fSJohn BaldwinZero is returned if the call is successful, otherwise an appropriate
80*ea41f49fSJohn Baldwinerror code is returned.
81*ea41f49fSJohn Baldwin.Sh ERRORS
82*ea41f49fSJohn Baldwin.Bl -tag -width Er
83*ea41f49fSJohn Baldwin.It Bq Er EINVAL
84*ea41f49fSJohn BaldwinAn invalid value was given for
85*ea41f49fSJohn Baldwin.Fa advice .
86*ea41f49fSJohn Baldwin.El
87*ea41f49fSJohn Baldwin.Sh SEE ALSO
88*ea41f49fSJohn Baldwin.Xr vnode 9
89