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