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