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