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