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.numcwdcalls 89Number of current directory resolution calls. 90.It Va vfs.cache.numcwdfailnf 91Number of current directory failures due to lack of file. 92.It Va vfs.cache.numcwdfailsz 93Number of current directory failures due to large result. 94.It Va vfs.cache.numcwdfound 95Number of current directory resolution successes. 96.It Va vfs.cache.numleafs 97Number of namecaches entries. 98.It Va vfs.cache.numneg 99Number of negative namecache entries. 100.It Va vfs.check_buf_overlap 101Controls overlapping buffer checking. 102.It Va vfs.debug_bufbio , Va vfs.debug_commit Va vfs.debug_kvabio 103Enables debugging of specific sub systems. 104.It Va vfs.dirtybufcount 105Pending number of dirty buffers. 106.It Va vfs.dirtybufcounthw 107Pending number of dirty buffers (heavy weight). 108.It Va vfs.dirtybufspace 109Pending bytes of dirty buffers (all). 110.It Va vfs.dirtybufspacehw 111Pending bytes of dirty buffers (heavy weight). 112.It Va vfs.dirtykvaspace 113KVA reserved by dirty buffers (all). 114.It Va vfs.flushperqueue 115Number of buffers to flush from each per-cpu queue. 116.It Va vfs.getnewbufcalls 117New buffer header acquisition requests. 118.It Va vfs.hibufspace 119Minimum amount of memory to reserve for system buffer space. 120.It Va vfs.hidirtybufspace 121High watermark used to trigger explicit flushing of dirty buffers. 122.It Va vfs.hirunningspace 123Sysctl determines how much outstanding write I/O may be queued to 124disk controllers system wide at any given instance. 125.It Va vfs.lobufspace 126Minimum amount of memory to reserve for system buffer space. 127.It Va vfs.lodirtybufspace 128Number of dirty buffers to flush before bufdaemon becomes inactive. 129.It Va vfs.lorunningspace 130Minimum amount of buffer space required for active I/O. 131.It Va vfs.lowmempgallocs 132Page allocations done during periods of very low free memory. 133.It Va vfs.max_readahead 134Limit in bytes for desired cluster read-ahead. 135.It Va vfs.maxbufspace 136Minimum amount of memory to reserve for system buffer space. 137.It Va vfs.maxmallocbufspace 138Maximum amount of memory reserved for buffers using malloc. 139.It Va vfs.nbuf 140Total number of buffers in buffer cache. 141.It Va vfs.quota_enabled 142Enables 143.Nm 144quota. 145.It Va vfs.real_root 146Prints real root mount string. 147.It Va vfs.reassignbufcalls 148Prints a number of times buffers have been reassigned to the proper list. 149Counter can be safely reseted back to 0. 150.It Va vfs.runningbufcount 151I/O buffers currently in progress due to asynchronous writes. 152.It Va vfs.runningbufspace 153I/O bytes currently in progress due to asynchronous writes. 154.It Va vfs.timestamp_precision 155Controls granularity used on file timestamps. 156.Bl -tag -width "X" 157.It 0 158- seconds only, nanoseconds zeroed. 159.It 1 160- seconds and nanoseconds, accurate within 1/HZ. 161.It 2 162- seconds and nanoseconds, truncated to microseconds. 163.It 3 164- seconds and nanoseconds, maximum precision. 165.El 166.It Va vfs.usermount 167Allows non-root users to mount filesystems. 168.It Va vfs.varsym_enable 169Enables Variant Symlinks. 170.It Va vfs.vm_cycle_point 171Controls active or inactive pages queue transition. 172.It Va vfs.write_behind 173Sysctl defaults to 1 (on). 174This tells the filesystem to issue media writes as full clusters are collected, 175which typically occurs when writing large sequential files. 176vfs.write_behind_minfilesize 177.It Va kern.chroot_allow_open_directories 178.Bl -tag -width "X" 179.It 0 - disallowed for all processes. 180.It 1 - allowed for processes that were not already chroot(2)'ed. 181.It 2 - allowed for all processes. 182.El 183.It Va kern.maxvnodes 184Specifies how many vnodes and related file structures the kernel will cache. 185The kernel uses a very generous default for this parameter based on 186available physical memory. 187.It Va security.hardlink_check_gid 188Unprivileged processes cannot create hard links to files owned by other groups. 189.It Va security.hardlink_check_uid 190Unprivileged processes cannot create hard links to files owned by other users. 191.El 192.Sh SEE ALSO 193.Xr autofs 5 , 194.Xr devfs 5 , 195.Xr ffs 5 , 196.Xr hammer 5 , 197.Xr tuning 7 , 198.Xr vkernel 7 , 199.Xr swapcache 8 , 200.Xr sysctl 8 , 201.Xr tunefs 8 202.Sh HISTORY 203The 204.Nm 205manual first appeared in 206.Dx 5.1 . 207