xref: /dflybsd-src/share/man/man7/vfs.7 (revision 0df73a27dd640d01de73e09458010f32e78d89db)
1*fe93222dSSascha Wildner.\"
2*fe93222dSSascha Wildner.\" Copyright (c) 2018 The DragonFly Project.
3*fe93222dSSascha Wildner.\" All rights reserved.
4*fe93222dSSascha Wildner.\"
5*fe93222dSSascha Wildner.\" 1. Redistributions of source code must retain the above copyright
6*fe93222dSSascha Wildner.\"    notice, this list of conditions and the following disclaimer.
7*fe93222dSSascha Wildner.\" 2. Redistributions in binary form must reproduce the above copyright
8*fe93222dSSascha Wildner.\"    notice, this list of conditions and the following disclaimer in
9*fe93222dSSascha Wildner.\"    the documentation and/or other materials provided with the
10*fe93222dSSascha Wildner.\"    distribution.
11*fe93222dSSascha Wildner.\" 3. Neither the name of The DragonFly Project nor the names of its
12*fe93222dSSascha Wildner.\"    contributors may be used to endorse or promote products derived
13*fe93222dSSascha Wildner.\"    from this software without specific, prior written permission.
14*fe93222dSSascha Wildner.\"
15*fe93222dSSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16*fe93222dSSascha Wildner.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17*fe93222dSSascha Wildner.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18*fe93222dSSascha Wildner.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19*fe93222dSSascha Wildner.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20*fe93222dSSascha Wildner.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21*fe93222dSSascha Wildner.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22*fe93222dSSascha Wildner.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23*fe93222dSSascha Wildner.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24*fe93222dSSascha Wildner.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25*fe93222dSSascha Wildner.\" SUCH DAMAGE.
26*fe93222dSSascha Wildner.\"
27*fe93222dSSascha Wildner.\"
28*fe93222dSSascha Wildner.Dd February 17, 2018
29*fe93222dSSascha Wildner.Dt VFS 7
30*fe93222dSSascha Wildner.Os
31*fe93222dSSascha Wildner.Sh NAME
32*fe93222dSSascha Wildner.Nm vfs
33*fe93222dSSascha Wildner.Nd vfs layer under DragonFly
34*fe93222dSSascha Wildner.Sh DESCRIPTION
35*fe93222dSSascha WildnerOn
36*fe93222dSSascha Wildner.Dx
37*fe93222dSSascha Wildnerall filesystems are handled through the
38*fe93222dSSascha Wildner.Nm
39*fe93222dSSascha Wildnerabstraction layer.
40*fe93222dSSascha Wildner.Sh SYSCTL VARIABLES
41*fe93222dSSascha Wildner.Xr sysctl 8
42*fe93222dSSascha Wildnervariables permit system behavior to be monitored and controlled at run-time.
43*fe93222dSSascha WildnerSome sysctls simply report on the behavior of the system; others allow
44*fe93222dSSascha Wildnerthe
45*fe93222dSSascha Wildner.Nm
46*fe93222dSSascha Wildnerbehavior to be modified;
47*fe93222dSSascha WildnerIn this document we will only cover the ones that are generic to
48*fe93222dSSascha Wildner.Nm
49*fe93222dSSascha Wildnerand not specific to any of filesystems.
50*fe93222dSSascha Wildner.Bl -tag -width "xxxxxx"
51*fe93222dSSascha Wildner.It Va debug.disablecwd
52*fe93222dSSascha WildnerDisables the
53*fe93222dSSascha Wildner.Fn getcwd
54*fe93222dSSascha Wildnerfunctionality.
55*fe93222dSSascha Wildner.It Va debug.disablefullpath
56*fe93222dSSascha WildnerDisables fullpath lookups.
57*fe93222dSSascha Wildner.It Va debug.nchash
58*fe93222dSSascha WildnerSize of namecache hash table.
59*fe93222dSSascha Wildner.It Va debug.nclockwarn
60*fe93222dSSascha WildnerWarn on locked namecache entries in ticks.
61*fe93222dSSascha Wildner.It Va debug.ncmount_cache_enable
62*fe93222dSSascha WildnerPrints the status if mount point cache is enabled.
63*fe93222dSSascha Wildner.It Va debug.ncnegfactor
64*fe93222dSSascha WildnerRatio of namecache negative entries.
65*fe93222dSSascha Wildner.It Va debug.ncp_shared_lock_disable
66*fe93222dSSascha WildnerDisables shared namecache locks.
67*fe93222dSSascha Wildner.It Va debug.ncnegflush
68*fe93222dSSascha WildnerBatch flush negative entries.
69*fe93222dSSascha Wildner.It Va debug.ncposflush
70*fe93222dSSascha WildnerBatch flush positive entries.
71*fe93222dSSascha Wildner.It Va debug.ncposlimit
72*fe93222dSSascha WildnerNumber of cache entries allocated.
73*fe93222dSSascha Wildner.It Va debug.ncvp_debug
74*fe93222dSSascha WildnerControls namecache debug level (0-3).
75*fe93222dSSascha Wildner.It Va debug.numdefered
76*fe93222dSSascha WildnerNumber of cache entries allocated.
77*fe93222dSSascha Wildner.It Va debug.numvnodes
78*fe93222dSSascha WildnerPrints currently allocated vnode count.
79*fe93222dSSascha Wildner.\" XXX CTLFLAG_RD is this a tunable?
80*fe93222dSSascha Wildner.It Va debug.verbose_reclaims
81*fe93222dSSascha WildnerOutputs filename of reclaimed vnodes.
82*fe93222dSSascha Wildner.It Va vfs.bufcache_bw
83*fe93222dSSascha WildnerControls data cycling within the buffer cache.
84*fe93222dSSascha Wildner.It Va vfs.bufspace
85*fe93222dSSascha WildnerAmount of memory available for buffers.
86*fe93222dSSascha Wildner.It Va vfs.cache.numcache
87*fe93222dSSascha WildnerNumber of namecaches entries.
88*fe93222dSSascha Wildner.It Va vfs.cache.numleafs
89*fe93222dSSascha WildnerNumber of namecaches entries.
90*fe93222dSSascha Wildner.It Va vfs.cache.numneg
91*fe93222dSSascha WildnerNumber of negative namecache entries.
92*fe93222dSSascha Wildner.It Va vfs.check_buf_overlap
93*fe93222dSSascha WildnerControls overlapping buffer checking.
94*fe93222dSSascha Wildner.It Va vfs.debug_bufbio , Va vfs.debug_commit Va vfs.debug_kvabio
95*fe93222dSSascha WildnerEnables debugging of specific sub systems.
96*fe93222dSSascha Wildner.It Va vfs.dirtybufcount
97*fe93222dSSascha WildnerPending number of dirty buffers.
98*fe93222dSSascha Wildner.It Va vfs.dirtybufcounthw
99*fe93222dSSascha WildnerPending number of dirty buffers (heavy weight).
100*fe93222dSSascha Wildner.It Va vfs.dirtybufspace
101*fe93222dSSascha WildnerPending bytes of dirty buffers (all).
102*fe93222dSSascha Wildner.It Va vfs.dirtybufspacehw
103*fe93222dSSascha WildnerPending bytes of dirty buffers (heavy weight).
104*fe93222dSSascha Wildner.It Va vfs.dirtykvaspace
105*fe93222dSSascha WildnerKVA reserved by dirty buffers (all).
106*fe93222dSSascha Wildner.It Va vfs.flushperqueue
107*fe93222dSSascha WildnerNumber of buffers to flush from each per-cpu queue.
108*fe93222dSSascha Wildner.It Va vfs.getnewbufcalls
109*fe93222dSSascha WildnerNew buffer header acquisition requests.
110*fe93222dSSascha Wildner.It Va vfs.hibufspace
111*fe93222dSSascha WildnerMinimum amount of memory to reserve for system buffer space.
112*fe93222dSSascha Wildner.It Va vfs.hidirtybufspace
113*fe93222dSSascha WildnerHigh watermark used to trigger explicit flushing of dirty buffers.
114*fe93222dSSascha Wildner.It Va vfs.hirunningspace
115*fe93222dSSascha WildnerSysctl determines how much outstanding write I/O may be queued to
116*fe93222dSSascha Wildnerdisk controllers system wide at any given instance.
117*fe93222dSSascha Wildner.It Va vfs.lobufspace
118*fe93222dSSascha WildnerMinimum amount of memory to reserve for system buffer space.
119*fe93222dSSascha Wildner.It Va vfs.lodirtybufspace
120*fe93222dSSascha WildnerNumber of dirty buffers to flush before bufdaemon becomes inactive.
121*fe93222dSSascha Wildner.It Va vfs.lorunningspace
122*fe93222dSSascha WildnerMinimum amount of buffer space required for active I/O.
123*fe93222dSSascha Wildner.It Va vfs.lowmempgallocs
124*fe93222dSSascha WildnerPage allocations done during periods of very low free memory.
125*fe93222dSSascha Wildner.It Va vfs.max_readahead
126*fe93222dSSascha WildnerLimit in bytes for desired cluster read-ahead.
127*fe93222dSSascha Wildner.It Va vfs.maxbufspace
128*fe93222dSSascha WildnerMinimum amount of memory to reserve for system buffer space.
129*fe93222dSSascha Wildner.It Va vfs.maxmallocbufspace
130*fe93222dSSascha WildnerMaximum amount of memory reserved for buffers using malloc.
131*fe93222dSSascha Wildner.It Va vfs.nbuf
132*fe93222dSSascha WildnerTotal number of buffers in buffer cache.
133*fe93222dSSascha Wildner.It Va vfs.quota_enabled
134*fe93222dSSascha WildnerEnables
135*fe93222dSSascha Wildner.Nm
136*fe93222dSSascha Wildnerquota.
137*fe93222dSSascha Wildner.It Va vfs.real_root
138*fe93222dSSascha WildnerPrints real root mount string.
139*fe93222dSSascha Wildner.It Va vfs.reassignbufcalls
140*fe93222dSSascha WildnerPrints a number of times buffers have been reassigned to the proper list.
141*fe93222dSSascha WildnerCounter can be safely reseted back to 0.
142*fe93222dSSascha Wildner.It Va vfs.runningbufcount
143*fe93222dSSascha WildnerI/O buffers currently in progress due to asynchronous writes.
144*fe93222dSSascha Wildner.It Va vfs.runningbufspace
145*fe93222dSSascha WildnerI/O bytes currently in progress due to asynchronous writes.
146*fe93222dSSascha Wildner.It Va vfs.timestamp_precision
147*fe93222dSSascha WildnerControls granularity used on file timestamps.
148*fe93222dSSascha Wildner.Bl -tag -width "X"
149*fe93222dSSascha Wildner.It 0
150*fe93222dSSascha Wildner- seconds only, nanoseconds zeroed.
151*fe93222dSSascha Wildner.It 1
152*fe93222dSSascha Wildner- seconds and nanoseconds, accurate within 1/HZ.
153*fe93222dSSascha Wildner.It 2
154*fe93222dSSascha Wildner- seconds and nanoseconds, truncated to microseconds.
155*fe93222dSSascha Wildner.It 3
156*fe93222dSSascha Wildner- seconds and nanoseconds, maximum precision.
157*fe93222dSSascha Wildner.El
158*fe93222dSSascha Wildner.It Va vfs.usermount
159*fe93222dSSascha WildnerAllows non-root users to mount filesystems.
160*fe93222dSSascha Wildner.It Va vfs.varsym_enable
161*fe93222dSSascha WildnerEnables Variant Symlinks.
162*fe93222dSSascha Wildner.It Va vfs.vm_cycle_point
163*fe93222dSSascha WildnerControls active or inactive pages queue transition.
164*fe93222dSSascha Wildner.It Va vfs.write_behind
165*fe93222dSSascha WildnerSysctl defaults to 1 (on).
166*fe93222dSSascha WildnerThis tells the filesystem to issue media writes as full clusters are collected,
167*fe93222dSSascha Wildnerwhich typically occurs when writing large sequential files.
168*fe93222dSSascha Wildnervfs.write_behind_minfilesize
169*fe93222dSSascha Wildner.It Va kern.chroot_allow_open_directories
170*fe93222dSSascha Wildner.Bl -tag -width "X"
171*fe93222dSSascha Wildner.It 0 - disallowed for all processes.
172*fe93222dSSascha Wildner.It 1 - allowed for processes that were not already chroot(2)'ed.
173*fe93222dSSascha Wildner.It 2 - allowed for all processes.
174*fe93222dSSascha Wildner.El
175*fe93222dSSascha Wildner.It Va kern.maxvnodes
176*fe93222dSSascha WildnerSpecifies how many vnodes and related file structures the kernel will cache.
177*fe93222dSSascha WildnerThe kernel uses a very generous default for this parameter based on
178*fe93222dSSascha Wildneravailable physical memory.
179*fe93222dSSascha Wildner.It Va security.hardlink_check_gid
180*fe93222dSSascha WildnerUnprivileged processes cannot create hard links to files owned by other groups.
181*fe93222dSSascha Wildner.It Va security.hardlink_check_uid
182*fe93222dSSascha WildnerUnprivileged processes cannot create hard links to files owned by other users.
183*fe93222dSSascha Wildner.El
184*fe93222dSSascha Wildner.Sh SEE ALSO
185*fe93222dSSascha Wildner.Xr autofs 5 ,
186*fe93222dSSascha Wildner.Xr devfs 5 ,
187*fe93222dSSascha Wildner.Xr ffs 5 ,
188*fe93222dSSascha Wildner.Xr hammer 5 ,
189*fe93222dSSascha Wildner.Xr tuning 7 ,
190*fe93222dSSascha Wildner.Xr vkernel 7 ,
191*fe93222dSSascha Wildner.Xr swapcache 8 ,
192*fe93222dSSascha Wildner.Xr sysctl 8 ,
193*fe93222dSSascha Wildner.Xr tunefs 8
194*fe93222dSSascha Wildner.Sh HISTORY
195*fe93222dSSascha WildnerThe
196*fe93222dSSascha Wildner.Nm
197*fe93222dSSascha Wildnermanual first appeared in
198*fe93222dSSascha Wildner.Dx 5.1 .
199