€•ÁàŒsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ)/translations/zh_CN/admin-guide/sysctl/fs”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/zh_TW/admin-guide/sysctl/fs”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/it_IT/admin-guide/sysctl/fs”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/ja_JP/admin-guide/sysctl/fs”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/ko_KR/admin-guide/sysctl/fs”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/pt_BR/admin-guide/sysctl/fs”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/sp_SP/admin-guide/sysctl/fs”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒDocumentation for /proc/sys/fs/”h]”hŒDocumentation for /proc/sys/fs/”…”�”}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³ŒC/var/lib/git/docbuild/linux/Documentation/admin-guide/sysctl/fs.rst”h´KubhŒ paragraph”“”)�”}”(hŒ;Copyright (c) 1998, 1999, Rik van Riel ”h]”(hŒ)Copyright (c) 1998, 1999, Rik van Riel <”…”�”}”(hhÍh²hh³Nh´NubhŒ reference”“”)�”}”(hŒriel@nl.linux.org”h]”hŒriel@nl.linux.org”…”�”}”(hh×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:riel@nl.linux.org”uh1hÕhhÍubhŒ>”…”�”}”(hhÍh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubhÌ)�”}”(hŒ9Copyright (c) 2009, Shen Feng”h]”(hŒ%Copyright (c) 2009, Shen Feng<”…”�”}”(hhñh²hh³Nh´NubhÖ)�”}”(hŒshen@cn.fujitsu.com”h]”hŒshen@cn.fujitsu.com”…”�”}”(hhùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:shen@cn.fujitsu.com”uh1hÕhhñubhŒ>”…”�”}”(hhñh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubhÌ)�”}”(hŒ;For general info and legal blurb, please look in intro.rst.”h]”hŒ;For general info and legal blurb, please look in intro.rst.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hh·h²hubhŒ transition”“”)�”}”(hŒN------------------------------------------------------------------------------”h]”h}”(h]”h ]”h"]”h$]”h&]”uh1j!h³hÊh´K hh·h²hubhÌ)�”}”(hŒ[This file contains documentation for the sysctl files and directories in ``/proc/sys/fs/``.”h]”(hŒIThis file contains documentation for the sysctl files and directories in ”…”�”}”(hj-h²hh³Nh´NubhŒliteral”“”)�”}”(hŒ``/proc/sys/fs/``”h]”hŒ /proc/sys/fs/”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj-ubhŒ.”…”�”}”(hj-h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hh·h²hubhÌ)�”}”(hXThe files in this directory can be used to tune and monitor miscellaneous and general things in the operation of the Linux kernel. Since some of the files *can* be used to screw up your system, it is advisable to read both documentation and source before actually making adjustments.”h]”(hŒ›The files in this directory can be used to tune and monitor miscellaneous and general things in the operation of the Linux kernel. Since some of the files ”…”�”}”(hjOh²hh³Nh´NubhŒemphasis”“”)�”}”(hŒ*can*”h]”hŒcan”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jWhjOubhŒ{ be used to screw up your system, it is advisable to read both documentation and source before actually making adjustments.”…”�”}”(hjOh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubh¶)�”}”(hhh]”(h»)�”}”(hŒ1. /proc/sys/fs”h]”hŒ1. /proc/sys/fs”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjqh²hh³hÊh´KubhÌ)�”}”(hŒ[Currently, these files might (depending on your configuration) show up in ``/proc/sys/fs``:”h]”(hŒJCurrently, these files might (depending on your configuration) show up in ”…”�”}”(hj‚h²hh³Nh´Nubj6)�”}”(hŒ``/proc/sys/fs``”h]”hŒ /proc/sys/fs”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj‚ubhŒ:”…”�”}”(hj‚h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khjqh²hubhŒtopic”“”)�”}”(hhh]”hŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hhh]”hÌ)�”}”(hhh]”hÖ)�”}”(hhh]”hŒaio-nr & aio-max-nr”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”Œid1”ah ]”h"]”h$]”h&]”Œrefid”Œaio-nr-aio-max-nr”uh1hÕhj±ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhj®ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hj©ubj­)�”}”(hhh]”hÌ)�”}”(hhh]”hÖ)�”}”(hhh]”hŒdentry-negative”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”Œid2”ah ]”h"]”h$]”h&]”Œrefid”Œdentry-negative”uh1hÕhjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhjÐubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hj©ubj­)�”}”(hhh]”hÌ)�”}”(hhh]”hÖ)�”}”(hhh]”hŒ dentry-state”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”Œid3”ah ]”h"]”h$]”h&]”Œrefid”Œ dentry-state”uh1hÕhjõubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhjòubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hj©ubj­)�”}”(hhh]”hÌ)�”}”(hhh]”hÖ)�”}”(hhh]”hŒfile-max & file-nr”…”�”}”(hjh²hh³Nh´Nubah}”(h]”Œid4”ah ]”h"]”h$]”h&]”Œrefid”Œfile-max-file-nr”uh1hÕhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hj©ubj­)�”}”(hhh]”hÌ)�”}”(hhh]”hÖ)�”}”(hhh]”hŒinode-nr & inode-state”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”Œid5”ah ]”h"]”h$]”h&]”Œrefid”Œinode-nr-inode-state”uh1hÕhj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hj©ubj­)�”}”(hhh]”hÌ)�”}”(hhh]”hÖ)�”}”(hhh]”hŒ mount-max”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”Œid6”ah ]”h"]”h$]”h&]”Œrefid”Œ mount-max”uh1hÕhj[ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhjXubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hj©ubj­)�”}”(hhh]”hÌ)�”}”(hhh]”hÖ)�”}”(hhh]”hŒnr_open”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”Œid7”ah ]”h"]”h$]”h&]”Œrefid”Œnr-open”uh1hÕhj}ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhjzubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hj©ubj­)�”}”(hhh]”hÌ)�”}”(hhh]”hÖ)�”}”(hhh]”hŒoverflowgid & overflowuid”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”Œid8”ah ]”h"]”h$]”h&]”Œrefid”Œoverflowgid-overflowuid”uh1hÕhjŸubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhjœubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hj©ubj­)�”}”(hhh]”hÌ)�”}”(hhh]”hÖ)�”}”(hhh]”hŒpipe-user-pages-hard”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”Œid9”ah ]”h"]”h$]”h&]”Œrefid”Œpipe-user-pages-hard”uh1hÕhjÁubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hj©ubj­)�”}”(hhh]”hÌ)�”}”(hhh]”hÖ)�”}”(hhh]”hŒpipe-user-pages-soft”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”Œid10”ah ]”h"]”h$]”h&]”Œrefid”Œpipe-user-pages-soft”uh1hÕhjãubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhjàubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hj©ubj­)�”}”(hhh]”hÌ)�”}”(hhh]”hÖ)�”}”(hhh]”hŒprotected_fifos”…”�”}”(hjh²hh³Nh´Nubah}”(h]”Œid11”ah ]”h"]”h$]”h&]”Œrefid”Œprotected-fifos”uh1hÕhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hj©ubj­)�”}”(hhh]”hÌ)�”}”(hhh]”hÖ)�”}”(hhh]”hŒprotected_hardlinks”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”Œid12”ah ]”h"]”h$]”h&]”Œrefid”Œprotected-hardlinks”uh1hÕhj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhj$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hj©ubj­)�”}”(hhh]”hÌ)�”}”(hhh]”hÖ)�”}”(hhh]”hŒprotected_regular”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”Œid13”ah ]”h"]”h$]”h&]”Œrefid”Œprotected-regular”uh1hÕhjIubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhjFubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hj©ubj­)�”}”(hhh]”hÌ)�”}”(hhh]”hÖ)�”}”(hhh]”hŒprotected_symlinks”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”Œid14”ah ]”h"]”h$]”h&]”Œrefid”Œprotected-symlinks”uh1hÕhjkubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhjhubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hj©ubj­)�”}”(hhh]”hÌ)�”}”(hhh]”hÖ)�”}”(hhh]”hŒ suid_dumpable”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”Œid15”ah ]”h"]”h$]”h&]”Œrefid”Œ suid-dumpable”uh1hÕhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hj©ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j§hj¤h²hh³Nh´Nubah}”(h]”Œcontents”ah ]”(Œcontents”Œlocal”eh"]”Œcontents”ah$]”h&]”uh1j¢h³hÊh´Khjqh²hubh¶)�”}”(hhh]”(h»)�”}”(hŒaio-nr & aio-max-nr”h]”hŒaio-nr & aio-max-nr”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefid”j½uh1hºhj¼h²hh³hÊh´K ubhÌ)�”}”(hXb``aio-nr`` shows the current system-wide number of asynchronous io requests. ``aio-max-nr`` allows you to change the maximum value ``aio-nr`` can grow to. If ``aio-nr`` reaches ``aio-nr-max`` then ``io_setup`` will fail with ``EAGAIN``. Note that raising ``aio-max-nr`` does not result in the pre-allocation or re-sizing of any kernel data structures.”h]”(j6)�”}”(hŒ ``aio-nr``”h]”hŒaio-nr”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÎubhŒD shows the current system-wide number of asynchronous io requests. ”…”�”}”(hjÎh²hh³Nh´Nubj6)�”}”(hŒ``aio-max-nr``”h]”hŒ aio-max-nr”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÎubhŒ( allows you to change the maximum value ”…”�”}”(hjÎh²hh³Nh´Nubj6)�”}”(hŒ ``aio-nr``”h]”hŒaio-nr”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÎubhŒ can grow to. If ”…”�”}”(hjÎh²hh³Nh´Nubj6)�”}”(hŒ ``aio-nr``”h]”hŒaio-nr”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÎubhŒ reaches ”…”�”}”(hjÎh²hh³Nh´Nubj6)�”}”(hŒ``aio-nr-max``”h]”hŒ aio-nr-max”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÎubhŒ then ”…”�”}”(hjÎh²hh³Nh´Nubj6)�”}”(hŒ ``io_setup``”h]”hŒio_setup”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÎubhŒ will fail with ”…”�”}”(hjÎh²hh³Nh´Nubj6)�”}”(hŒ ``EAGAIN``”h]”hŒEAGAIN”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÎubhŒ. Note that raising ”…”�”}”(hjÎh²hh³Nh´Nubj6)�”}”(hŒ``aio-max-nr``”h]”hŒ aio-max-nr”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÎubhŒR does not result in the pre-allocation or re-sizing of any kernel data structures.”…”�”}”(hjÎh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K"hj¼h²hubeh}”(h]”jÃah ]”h"]”Œaio-nr & aio-max-nr”ah$]”h&]”uh1hµhjqh²hh³hÊh´K ubh¶)�”}”(hhh]”(h»)�”}”(hŒdentry-negative”h]”hŒdentry-negative”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”jÍjßuh1hºhjoh²hh³hÊh´K*ubhÌ)�”}”(hŒ–Policy for negative dentries. Set to 1 to always delete the dentry when a file is removed, and 0 to disable it. By default, this behavior is disabled.”h]”hŒ–Policy for negative dentries. Set to 1 to always delete the dentry when a file is removed, and 0 to disable it. By default, this behavior is disabled.”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K,hjoh²hubeh}”(h]”jåah ]”h"]”Œdentry-negative”ah$]”h&]”uh1hµhjqh²hh³hÊh´K*ubh¶)�”}”(hhh]”(h»)�”}”(hŒ dentry-state”h]”hŒ dentry-state”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”jÍjuh1hºhj•h²hh³hÊh´K0ubhÌ)�”}”(hŒWThis file shows the values in ``struct dentry_stat_t``, as defined in ``fs/dcache.c``::”h]”(hŒThis file shows the values in ”…”�”}”(hj¦h²hh³Nh´Nubj6)�”}”(hŒ``struct dentry_stat_t``”h]”hŒstruct dentry_stat_t”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj¦ubhŒ, as defined in ”…”�”}”(hj¦h²hh³Nh´Nubj6)�”}”(hŒ``fs/dcache.c``”h]”hŒ fs/dcache.c”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj¦ubhŒ:”…”�”}”(hj¦h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K2hj•h²hubhŒ literal_block”“”)�”}”(hX@struct dentry_stat_t dentry_stat { long nr_dentry; long nr_unused; long age_limit; /* age in seconds */ long want_pages; /* pages requested by system */ long nr_negative; /* # of unused negative dentries */ long dummy; /* Reserved for future use */ };”h]”hX@struct dentry_stat_t dentry_stat { long nr_dentry; long nr_unused; long age_limit; /* age in seconds */ long want_pages; /* pages requested by system */ long nr_negative; /* # of unused negative dentries */ long dummy; /* Reserved for future use */ };”…”�”}”hjÚsbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1jØh³hÊh´K5hj•h²hubhÌ)�”}”(hŒ3Dentries are dynamically allocated and deallocated.”h]”hŒ3Dentries are dynamically allocated and deallocated.”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K>hj•h²hubhÌ)�”}”(hŒÄ``nr_dentry`` shows the total number of dentries allocated (active + unused). ``nr_unused shows`` the number of dentries that are not actively used, but are saved in the LRU list for future reuse.”h]”(j6)�”}”(hŒ ``nr_dentry``”h]”hŒ nr_dentry”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjøubhŒA shows the total number of dentries allocated (active + unused). ”…”�”}”(hjøh²hh³Nh´Nubj6)�”}”(hŒ``nr_unused shows``”h]”hŒnr_unused shows”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjøubhŒc the number of dentries that are not actively used, but are saved in the LRU list for future reuse.”…”�”}”(hjøh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K@hj•h²hubhÌ)�”}”(hŒÒ``age_limit`` is the age in seconds after which dcache entries can be reclaimed when memory is short and ``want_pages`` is nonzero when ``shrink_dcache_pages()`` has been called and the dcache isn't pruned yet.”h]”(j6)�”}”(hŒ ``age_limit``”h]”hŒ age_limit”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj&ubhŒ\ is the age in seconds after which dcache entries can be reclaimed when memory is short and ”…”�”}”(hj&h²hh³Nh´Nubj6)�”}”(hŒ``want_pages``”h]”hŒ want_pages”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj&ubhŒ is nonzero when ”…”�”}”(hj&h²hh³Nh´Nubj6)�”}”(hŒ``shrink_dcache_pages()``”h]”hŒshrink_dcache_pages()”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj&ubhŒ3 has been called and the dcache isn’t pruned yet.”…”�”}”(hj&h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KDhj•h²hubhÌ)�”}”(hŒÈ``nr_negative`` shows the number of unused dentries that are also negative dentries which do not map to any files. Instead, they help speeding up rejection of non-existing files provided by the users.”h]”(j6)�”}”(hŒ``nr_negative``”h]”hŒ nr_negative”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjfubhŒ¹ shows the number of unused dentries that are also negative dentries which do not map to any files. Instead, they help speeding up rejection of non-existing files provided by the users.”…”�”}”(hjfh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KIhj•h²hubeh}”(h]”jah ]”h"]”Œ dentry-state”ah$]”h&]”uh1hµhjqh²hh³hÊh´K0ubh¶)�”}”(hhh]”(h»)�”}”(hŒfile-max & file-nr”h]”hŒfile-max & file-nr”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”jÍj#uh1hºhj‰h²hh³hÊh´KPubhÌ)�”}”(hŒØThe value in ``file-max`` denotes the maximum number of file- handles that the Linux kernel will allocate. When you get lots of error messages about running out of file handles, you might want to increase this limit.”h]”(hŒ The value in ”…”�”}”(hjšh²hh³Nh´Nubj6)�”}”(hŒ ``file-max``”h]”hŒfile-max”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjšubhŒ¿ denotes the maximum number of file- handles that the Linux kernel will allocate. When you get lots of error messages about running out of file handles, you might want to increase this limit.”…”�”}”(hjšh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KRhj‰h²hubhÌ)�”}”(hXÒHistorically,the kernel was able to allocate file handles dynamically, but not to free them again. The three values in ``file-nr`` denote the number of allocated file handles, the number of allocated but unused file handles, and the maximum number of file handles. Linux 2.6 and later always reports 0 as the number of free file handles -- this is not an error, it just means that the number of allocated file handles exactly matches the number of used file handles.”h]”(hŒwHistorically,the kernel was able to allocate file handles dynamically, but not to free them again. The three values in ”…”�”}”(hjºh²hh³Nh´Nubj6)�”}”(hŒ ``file-nr``”h]”hŒfile-nr”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjºubhXP denote the number of allocated file handles, the number of allocated but unused file handles, and the maximum number of file handles. Linux 2.6 and later always reports 0 as the number of free file handles -- this is not an error, it just means that the number of allocated file handles exactly matches the number of used file handles.”…”�”}”(hjºh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KWhj‰h²hubhÌ)�”}”(hŒeAttempts to allocate more file descriptors than ``file-max`` are reported with ``printk``, look for::”h]”(hŒ0Attempts to allocate more file descriptors than ”…”�”}”(hjÚh²hh³Nh´Nubj6)�”}”(hŒ ``file-max``”h]”hŒfile-max”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÚubhŒ are reported with ”…”�”}”(hjÚh²hh³Nh´Nubj6)�”}”(hŒ ``printk``”h]”hŒprintk”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÚubhŒ , look for:”…”�”}”(hjÚh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K`hj‰h²hubjÙ)�”}”(hŒ$VFS: file-max limit reached”h]”hŒ$VFS: file-max limit reached”…”�”}”hj sbah}”(h]”h ]”h"]”h$]”h&]”jèjéuh1jØh³hÊh´Kchj‰h²hubhÌ)�”}”(hŒin the kernel logs.”h]”hŒin the kernel logs.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kehj‰h²hubeh}”(h]”j)ah ]”h"]”Œfile-max & file-nr”ah$]”h&]”uh1hµhjqh²hh³hÊh´KPubh¶)�”}”(hhh]”(h»)�”}”(hŒinode-nr & inode-state”h]”hŒinode-nr & inode-state”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”jÍjEuh1hºhj/h²hh³hÊh´KiubhÌ)�”}”(hŒeAs with file handles, the kernel allocates the inode structures dynamically, but can't free them yet.”h]”hŒgAs with file handles, the kernel allocates the inode structures dynamically, but can’t free them yet.”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kkhj/h²hubhÌ)�”}”(hŒfThe file ``inode-nr`` contains the first two items from ``inode-state``, so we'll skip to that file...”h]”(hŒ The file ”…”�”}”(hjNh²hh³Nh´Nubj6)�”}”(hŒ ``inode-nr``”h]”hŒinode-nr”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjNubhŒ# contains the first two items from ”…”�”}”(hjNh²hh³Nh´Nubj6)�”}”(hŒ``inode-state``”h]”hŒ inode-state”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjNubhŒ!, so we’ll skip to that file...”…”�”}”(hjNh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Knhj/h²hubhÌ)�”}”(hŒ¤``inode-state`` contains three actual numbers and four dummies. The actual numbers are, in order of appearance, ``nr_inodes``, ``nr_free_inodes`` and ``preshrink``.”h]”(j6)�”}”(hŒ``inode-state``”h]”hŒ inode-state”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj€ubhŒa contains three actual numbers and four dummies. The actual numbers are, in order of appearance, ”…”�”}”(hj€h²hh³Nh´Nubj6)�”}”(hŒ ``nr_inodes``”h]”hŒ nr_inodes”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj€ubhŒ, ”…”�”}”(hj€h²hh³Nh´Nubj6)�”}”(hŒ``nr_free_inodes``”h]”hŒnr_free_inodes”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj€ubhŒ and ”…”�”}”(hj€h²hh³Nh´Nubj6)�”}”(hŒ ``preshrink``”h]”hŒ preshrink”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj€ubhŒ.”…”�”}”(hj€h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kqhj/h²hubhÌ)�”}”(hŒG``nr_inodes`` stands for the number of inodes the system has allocated.”h]”(j6)�”}”(hŒ ``nr_inodes``”h]”hŒ nr_inodes”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÒubhŒ: stands for the number of inodes the system has allocated.”…”�”}”(hjÒh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kuhj/h²hubhÌ)�”}”(hŒž``nr_free_inodes`` represents the number of free inodes (?) and preshrink is nonzero when the system needs to prune the inode list instead of allocating more.”h]”(j6)�”}”(hŒ``nr_free_inodes``”h]”hŒnr_free_inodes”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjîubhŒŒ represents the number of free inodes (?) and preshrink is nonzero when the system needs to prune the inode list instead of allocating more.”…”�”}”(hjîh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kxhj/h²hubeh}”(h]”jKah ]”h"]”Œinode-nr & inode-state”ah$]”h&]”uh1hµhjqh²hh³hÊh´Kiubh¶)�”}”(hhh]”(h»)�”}”(hŒ mount-max”h]”hŒ mount-max”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”jÍjguh1hºhjh²hh³hÊh´KubhÌ)�”}”(hŒNThis denotes the maximum number of mounts that may exist in a mount namespace.”h]”hŒNThis denotes the maximum number of mounts that may exist in a mount namespace.”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K�hjh²hubeh}”(h]”jmah ]”h"]”Œ mount-max”ah$]”h&]”uh1hµhjqh²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒnr_open”h]”hŒnr_open”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”jÍj‰uh1hºhj7h²hh³hÊh´K†ubhÌ)�”}”(hŒÐThis denotes the maximum number of file-handles a process can allocate. Default value is 1024*1024 (1048576) which should be enough for most machines. Actual limit depends on ``RLIMIT_NOFILE`` resource limit.”h]”(hŒ¯This denotes the maximum number of file-handles a process can allocate. Default value is 1024*1024 (1048576) which should be enough for most machines. Actual limit depends on ”…”�”}”(hjHh²hh³Nh´Nubj6)�”}”(hŒ``RLIMIT_NOFILE``”h]”hŒ RLIMIT_NOFILE”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjHubhŒ resource limit.”…”�”}”(hjHh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kˆhj7h²hubeh}”(h]”j�ah ]”h"]”Œnr_open”ah$]”h&]”uh1hµhjqh²hh³hÊh´K†ubh¶)�”}”(hhh]”(h»)�”}”(hŒoverflowgid & overflowuid”h]”hŒoverflowgid & overflowuid”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”jÍj«uh1hºhjoh²hh³hÊh´K�ubhÌ)�”}”(hXSome filesystems only support 16-bit UIDs and GIDs, although in Linux UIDs and GIDs are 32 bits. When one of these filesystems is mounted with writes enabled, any UID or GID that would exceed 65535 is translated to a fixed value before being written to disk.”h]”hXSome filesystems only support 16-bit UIDs and GIDs, although in Linux UIDs and GIDs are 32 bits. When one of these filesystems is mounted with writes enabled, any UID or GID that would exceed 65535 is translated to a fixed value before being written to disk.”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K‘hjoh²hubhÌ)�”}”(hŒ[These sysctls allow you to change the value of the fixed UID and GID. The default is 65534.”h]”hŒ[These sysctls allow you to change the value of the fixed UID and GID. The default is 65534.”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K–hjoh²hubeh}”(h]”j±ah ]”h"]”Œoverflowgid & overflowuid”ah$]”h&]”uh1hµhjqh²hh³hÊh´K�ubh¶)�”}”(hhh]”(h»)�”}”(hŒpipe-user-pages-hard”h]”hŒpipe-user-pages-hard”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”jÍjÍuh1hºhj£h²hh³hÊh´K›ubhÌ)�”}”(hŒïMaximum total number of pages a non-privileged user may allocate for pipes. Once this limit is reached, no new pipes may be allocated until usage goes below the limit again. When set to 0, no limit is applied, which is the default setting.”h]”hŒïMaximum total number of pages a non-privileged user may allocate for pipes. Once this limit is reached, no new pipes may be allocated until usage goes below the limit again. When set to 0, no limit is applied, which is the default setting.”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K�hj£h²hubeh}”(h]”jÓah ]”h"]”Œpipe-user-pages-hard”ah$]”h&]”uh1hµhjqh²hh³hÊh´K›ubh¶)�”}”(hhh]”(h»)�”}”(hŒpipe-user-pages-soft”h]”hŒpipe-user-pages-soft”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”jÍjïuh1hºhjÉh²hh³hÊh´K¤ubhÌ)�”}”(hXÏMaximum total number of pages a non-privileged user may allocate for pipes before the pipe size gets limited to two pages. Once this limit is reached, new pipes will be limited to two pages in size for this user in order to limit total memory usage, and trying to increase them using ``fcntl()`` will be denied until usage goes below the limit again. The default value allows to allocate up to 1024 pipes at their default size. When set to 0, no limit is applied.”h]”(hXMaximum total number of pages a non-privileged user may allocate for pipes before the pipe size gets limited to two pages. Once this limit is reached, new pipes will be limited to two pages in size for this user in order to limit total memory usage, and trying to increase them using ”…”�”}”(hjÚh²hh³Nh´Nubj6)�”}”(hŒ ``fcntl()``”h]”hŒfcntl()”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÚubhŒ¨ will be denied until usage goes below the limit again. The default value allows to allocate up to 1024 pipes at their default size. When set to 0, no limit is applied.”…”�”}”(hjÚh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K¦hjÉh²hubeh}”(h]”jõah ]”h"]”Œpipe-user-pages-soft”ah$]”h&]”uh1hµhjqh²hh³hÊh´K¤ubh¶)�”}”(hhh]”(h»)�”}”(hŒprotected_fifos”h]”hŒprotected_fifos”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”jÍjuh1hºhjh²hh³hÊh´K°ubhÌ)�”}”(hŒ‘The intent of this protection is to avoid unintentional writes to an attacker-controlled FIFO, where a program expected to create a regular file.”h]”hŒ‘The intent of this protection is to avoid unintentional writes to an attacker-controlled FIFO, where a program expected to create a regular file.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K²hjh²hubhÌ)�”}”(hŒ2When set to "0", writing to FIFOs is unrestricted.”h]”hŒ6When set to “0â€�, writing to FIFOs is unrestricted.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K¶hjh²hubhÌ)�”}”(hŒ¢When set to "1" don't allow ``O_CREAT`` open on FIFOs that we don't own in world writable sticky directories, unless they are owned by the owner of the directory.”h]”(hŒ"When set to “1â€� don’t allow ”…”�”}”(hj.h²hh³Nh´Nubj6)�”}”(hŒ ``O_CREAT``”h]”hŒO_CREAT”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj.ubhŒ} open on FIFOs that we don’t own in world writable sticky directories, unless they are owned by the owner of the directory.”…”�”}”(hj.h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K¸hjh²hubhÌ)�”}”(hŒEWhen set to "2" it also applies to group writable sticky directories.”h]”hŒIWhen set to “2â€� it also applies to group writable sticky directories.”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K¼hjh²hubhÌ)�”}”(hŒ9This protection is based on the restrictions in Openwall.”h]”hŒ9This protection is based on the restrictions in Openwall.”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K¾hjh²hubeh}”(h]”jah ]”h"]”Œprotected_fifos”ah$]”h&]”uh1hµhjqh²hh³hÊh´K°Œ referenced”Kubh¶)�”}”(hhh]”(h»)�”}”(hŒprotected_hardlinks”h]”hŒprotected_hardlinks”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”jÍj3uh1hºhjrh²hh³hÊh´KÂubhÌ)�”}”(hXA long-standing class of security issues is the hardlink-based time-of-check-time-of-use race, most commonly seen in world-writable directories like ``/tmp``. The common method of exploitation of this flaw is to cross privilege boundaries when following a given hardlink (i.e. a root process follows a hardlink created by another user). Additionally, on systems without separated partitions, this stops unauthorized users from "pinning" vulnerable setuid/setgid files against being upgraded by the administrator, or linking to special files.”h]”(hŒ•A long-standing class of security issues is the hardlink-based time-of-check-time-of-use race, most commonly seen in world-writable directories like ”…”�”}”(hjƒh²hh³Nh´Nubj6)�”}”(hŒ``/tmp``”h]”hŒ/tmp”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjƒubhX„. The common method of exploitation of this flaw is to cross privilege boundaries when following a given hardlink (i.e. a root process follows a hardlink created by another user). Additionally, on systems without separated partitions, this stops unauthorized users from “pinningâ€� vulnerable setuid/setgid files against being upgraded by the administrator, or linking to special files.”…”�”}”(hjƒh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KÄhjrh²hubhÌ)�”}”(hŒWhen set to “0â€�, writing to regular files is unrestricted.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KÜhjÔh²hubhÌ)�”}”(hŒªWhen set to "1" don't allow ``O_CREAT`` open on regular files that we don't own in world writable sticky directories, unless they are owned by the owner of the directory.”h]”(hŒ"When set to “1â€� don’t allow ”…”�”}”(hj h²hh³Nh´Nubj6)�”}”(hŒ ``O_CREAT``”h]”hŒO_CREAT”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj ubhŒ… open on regular files that we don’t own in world writable sticky directories, unless they are owned by the owner of the directory.”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KÞhjÔh²hubhÌ)�”}”(hŒEWhen set to "2" it also applies to group writable sticky directories.”h]”hŒIWhen set to “2â€� it also applies to group writable sticky directories.”…”�”}”(hj6 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KâhjÔh²hubeh}”(h]”j[ah ]”h"]”Œprotected_regular”ah$]”h&]”uh1hµhjqh²hh³hÊh´KÖubh¶)�”}”(hhh]”(h»)�”}”(hŒprotected_symlinks”h]”hŒprotected_symlinks”…”�”}”(hjN h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”jÍjwuh1hºhjK h²hh³hÊh´KæubhÌ)�”}”(hXØA long-standing class of security issues is the symlink-based time-of-check-time-of-use race, most commonly seen in world-writable directories like ``/tmp``. The common method of exploitation of this flaw is to cross privilege boundaries when following a given symlink (i.e. a root process follows a symlink belonging to another user). For a likely incomplete list of hundreds of examples across the years, please see: https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=/tmp”h]”(hŒ”A long-standing class of security issues is the symlink-based time-of-check-time-of-use race, most commonly seen in world-writable directories like ”…”�”}”(hj\ h²hh³Nh´Nubj6)�”}”(hŒ``/tmp``”h]”hŒ/tmp”…”�”}”(hjd h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj\ ubhX. The common method of exploitation of this flaw is to cross privilege boundaries when following a given symlink (i.e. a root process follows a symlink belonging to another user). For a likely incomplete list of hundreds of examples across the years, please see: ”…”�”}”(hj\ h²hh³Nh´NubhÖ)�”}”(hŒ5https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=/tmp”h]”hŒ5https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=/tmp”…”�”}”(hjv h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jx uh1hÕhj\ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KèhjK h²hubhÌ)�”}”(hŒ`) is set to either a pipe handler or a fully qualified path. (For more details on this limitation, see CVE-2006-2451.) This mode is appropriate when administrators are attempting to debug problems in a normal environment, and either have a core dump pipe handler that knows to treat privileged core dumps with care, or specific directory defined for catching core dumps. If a core dump happens without a pipe handler or fully qualified path, a message will be emitted to syslog warning about the lack of a correct setting.”h]”(hŒPAny binary which normally would not be dumped is dumped anyway, but only if the ”…”�”}”(hjÞ h²hh³Nh´Nubj6)�”}”(hŒ``core_pattern``”h]”hŒ core_pattern”…”�”}”(hjæ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÞ ubhŒ kernel sysctl (see ”…”�”}”(hjÞ h²hh³Nh´Nubh)�”}”(hŒA:ref:`Documentation/admin-guide/sysctl/kernel.rst `”h]”hŒinline”“”)�”}”(hjú h]”hŒ+Documentation/admin-guide/sysctl/kernel.rst”…”�”}”(hjþ h²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jü hjø ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œadmin-guide/sysctl/fs”Œ refdomain”j Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆŒ reftarget”Œ core_pattern”uh1hh³hÊh´M hjÞ ubhX ) is set to either a pipe handler or a fully qualified path. (For more details on this limitation, see CVE-2006-2451.) This mode is appropriate when administrators are attempting to debug problems in a normal environment, and either have a core dump pipe handler that knows to treat privileged core dumps with care, or specific directory defined for catching core dumps. If a core dump happens without a pipe handler or fully qualified path, a message will be emitted to syslog warning about the lack of a correct setting.”…”�”}”(hjÞ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´MhjÛ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjª ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjâ ubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1jà hjÝ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛ hj¼ h²hh³hÊh´Nubeh}”(h]”jŸah ]”h"]”Œ suid_dumpable”ah$]”h&]”uh1hµhjqh²hh³hÊh´Kúubeh}”(h]”Œ proc-sys-fs”ah ]”h"]”Œ1. /proc/sys/fs”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒ2. /proc/sys/fs/binfmt_misc”h]”hŒ2. /proc/sys/fs/binfmt_misc”…”�”}”(hjX h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjU h²hh³hÊh´MubhÌ)�”}”(hŒlDocumentation for the files in ``/proc/sys/fs/binfmt_misc`` is in Documentation/admin-guide/binfmt-misc.rst.”h]”(hŒDocumentation for the files in ”…”�”}”(hjf h²hh³Nh´Nubj6)�”}”(hŒ``/proc/sys/fs/binfmt_misc``”h]”hŒ/proc/sys/fs/binfmt_misc”…”�”}”(hjn h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjf ubhŒ1 is in Documentation/admin-guide/binfmt-misc.rst.”…”�”}”(hjf h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´MhjU h²hubeh}”(h]”Œproc-sys-fs-binfmt-misc”ah ]”h"]”Œ2. /proc/sys/fs/binfmt_misc”ah$]”h&]”uh1hµhh·h²hh³hÊh´Mubh¶)�”}”(hhh]”(h»)�”}”(hŒ83. /proc/sys/fs/mqueue - POSIX message queues filesystem”h]”hŒ83. /proc/sys/fs/mqueue - POSIX message queues filesystem”…”�”}”(hj‘ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjŽ h²hh³hÊh´M!ubhÌ)�”}”(hXThe "mqueue" filesystem provides the necessary kernel features to enable the creation of a user space library that implements the POSIX message queues API (as noted by the MSG tag in the POSIX 1003.1-2001 version of the System Interfaces specification.)”h]”hX The “mqueueâ€� filesystem provides the necessary kernel features to enable the creation of a user space library that implements the POSIX message queues API (as noted by the MSG tag in the POSIX 1003.1-2001 version of the System Interfaces specification.)”…”�”}”(hjŸ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´M$hjŽ h²hubhÌ)�”}”(hŒpThe "mqueue" filesystem contains values for determining/setting the amount of resources used by the file system.”h]”hŒtThe “mqueueâ€� filesystem contains values for determining/setting the amount of resources used by the file system.”…”�”}”(hj­ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´M)hjŽ h²hubhÌ)�”}”(hŒ‡``/proc/sys/fs/mqueue/queues_max`` is a read/write file for setting/getting the maximum number of message queues allowed on the system.”h]”(j6)�”}”(hŒ"``/proc/sys/fs/mqueue/queues_max``”h]”hŒ/proc/sys/fs/mqueue/queues_max”…”�”}”(hj¿ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj» ubhŒe is a read/write file for setting/getting the maximum number of message queues allowed on the system.”…”�”}”(hj» h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´M,hjŽ h²hubhÌ)�”}”(hX"``/proc/sys/fs/mqueue/msg_max`` is a read/write file for setting/getting the maximum number of messages in a queue value. In fact it is the limiting value for another (user) limit which is set in ``mq_open`` invocation. This attribute of a queue must be less than or equal to ``msg_max``.”h]”(j6)�”}”(hŒ``/proc/sys/fs/mqueue/msg_max``”h]”hŒ/proc/sys/fs/mqueue/msg_max”…”�”}”(hjÛ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj× ubhŒ¦ is a read/write file for setting/getting the maximum number of messages in a queue value. In fact it is the limiting value for another (user) limit which is set in ”…”�”}”(hj× h²hh³Nh´Nubj6)�”}”(hŒ ``mq_open``”h]”hŒmq_open”…”�”}”(hjí h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj× ubhŒF invocation. This attribute of a queue must be less than or equal to ”…”�”}”(hj× h²hh³Nh´Nubj6)�”}”(hŒ ``msg_max``”h]”hŒmsg_max”…”�”}”(hjÿ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj× ubhŒ.”…”�”}”(hj× h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´M0hjŽ h²hubhÌ)�”}”(hŒ±``/proc/sys/fs/mqueue/msgsize_max`` is a read/write file for setting/getting the maximum message size value (it is an attribute of every message queue, set during its creation).”h]”(j6)�”}”(hŒ#``/proc/sys/fs/mqueue/msgsize_max``”h]”hŒ/proc/sys/fs/mqueue/msgsize_max”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj ubhŒŽ is a read/write file for setting/getting the maximum message size value (it is an attribute of every message queue, set during its creation).”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´M6hjŽ h²hubhÌ)�”}”(hX``/proc/sys/fs/mqueue/msg_default`` is a read/write file for setting/getting the default number of messages in a queue value if the ``attr`` parameter of ``mq_open(2)`` is ``NULL``. If it exceeds ``msg_max``, the default value is initialized to ``msg_max``.”h]”(j6)�”}”(hŒ#``/proc/sys/fs/mqueue/msg_default``”h]”hŒ/proc/sys/fs/mqueue/msg_default”…”�”}”(hj7 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj3 ubhŒa is a read/write file for setting/getting the default number of messages in a queue value if the ”…”�”}”(hj3 h²hh³Nh´Nubj6)�”}”(hŒ``attr``”h]”hŒattr”…”�”}”(hjI h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj3 ubhŒ parameter of ”…”�”}”(hj3 h²hh³Nh´Nubj6)�”}”(hŒ``mq_open(2)``”h]”hŒ mq_open(2)”…”�”}”(hj[ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj3 ubhŒ is ”…”�”}”(hj3 h²hh³Nh´Nubj6)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjm h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj3 ubhŒ. If it exceeds ”…”�”}”(hj3 h²hh³Nh´Nubj6)�”}”(hŒ ``msg_max``”h]”hŒmsg_max”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj3 ubhŒ&, the default value is initialized to ”…”�”}”(hj3 h²hh³Nh´Nubj6)�”}”(hŒ ``msg_max``”h]”hŒmsg_max”…”�”}”(hj‘ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj3 ubhŒ.”…”�”}”(hj3 h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´M:hjŽ h²hubhÌ)�”}”(hŒü``/proc/sys/fs/mqueue/msgsize_default`` is a read/write file for setting/getting the default message size value if the ``attr`` parameter of ``mq_open(2)`` is ``NULL``. If it exceeds ``msgsize_max``, the default value is initialized to ``msgsize_max``.”h]”(j6)�”}”(hŒ'``/proc/sys/fs/mqueue/msgsize_default``”h]”hŒ#/proc/sys/fs/mqueue/msgsize_default”…”�”}”(hj­ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj© ubhŒP is a read/write file for setting/getting the default message size value if the ”…”�”}”(hj© h²hh³Nh´Nubj6)�”}”(hŒ``attr``”h]”hŒattr”…”�”}”(hj¿ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj© ubhŒ parameter of ”…”�”}”(hj© h²hh³Nh´Nubj6)�”}”(hŒ``mq_open(2)``”h]”hŒ mq_open(2)”…”�”}”(hjÑ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj© ubhŒ is ”…”�”}”(hj© h²hh³Nh´Nubj6)�”}”(hŒ``NULL``”h]”hŒNULL”…”�”}”(hjã h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj© ubhŒ. If it exceeds ”…”�”}”(hj© h²hh³Nh´Nubj6)�”}”(hŒ``msgsize_max``”h]”hŒ msgsize_max”…”�”}”(hjõ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj© ubhŒ&, the default value is initialized to ”…”�”}”(hj© h²hh³Nh´Nubj6)�”}”(hŒ``msgsize_max``”h]”hŒ msgsize_max”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj© ubhŒ.”…”�”}”(hj© h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´M?hjŽ h²hubeh}”(h]”Œ2proc-sys-fs-mqueue-posix-message-queues-filesystem”ah ]”h"]”Œ83. /proc/sys/fs/mqueue - posix message queues filesystem”ah$]”h&]”uh1hµhh·h²hh³hÊh´M!ubh¶)�”}”(hhh]”(h»)�”}”(hŒE4. /proc/sys/fs/epoll - Configuration options for the epoll interface”h]”hŒE4. /proc/sys/fs/epoll - Configuration options for the epoll interface”…”�”}”(hj* h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj' h²hh³hÊh´MEubhÌ)�”}”(hŒIThis directory contains configuration options for the epoll(7) interface.”h]”hŒIThis directory contains configuration options for the epoll(7) interface.”…”�”}”(hj8 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´MGhj' h²hubh¶)�”}”(hhh]”(h»)�”}”(hŒmax_user_watches”h]”hŒmax_user_watches”…”�”}”(hjI h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjF h²hh³hÊh´MJubhÌ)�”}”(hXÏEvery epoll file descriptor can store a number of files to be monitored for event readiness. Each one of these monitored files constitutes a "watch". This configuration option sets the maximum number of "watches" that are allowed for each user. Each "watch" costs roughly 90 bytes on a 32-bit kernel, and roughly 160 bytes on a 64-bit one. The current default value for ``max_user_watches`` is 4% of the available low memory, divided by the "watch" cost in bytes.”h]”(hX~Every epoll file descriptor can store a number of files to be monitored for event readiness. Each one of these monitored files constitutes a “watchâ€�. This configuration option sets the maximum number of “watchesâ€� that are allowed for each user. Each “watchâ€� costs roughly 90 bytes on a 32-bit kernel, and roughly 160 bytes on a 64-bit one. The current default value for ”…”�”}”(hjW h²hh³Nh´Nubj6)�”}”(hŒ``max_user_watches``”h]”hŒmax_user_watches”…”�”}”(hj_ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjW ubhŒM is 4% of the available low memory, divided by the “watchâ€� cost in bytes.”…”�”}”(hjW h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´MLhjF h²hubeh}”(h]”Œmax-user-watches”ah ]”h"]”Œmax_user_watches”ah$]”h&]”uh1hµhj' h²hh³hÊh´MJubeh}”(h]”Œ?proc-sys-fs-epoll-configuration-options-for-the-epoll-interface”ah ]”h"]”ŒE4. /proc/sys/fs/epoll - configuration options for the epoll interface”ah$]”h&]”uh1hµhh·h²hh³hÊh´MEubh¶)�”}”(hhh]”(h»)�”}”(hŒA5. /proc/sys/fs/fuse - Configuration options for FUSE filesystems”h]”hŒA5. /proc/sys/fs/fuse - Configuration options for FUSE filesystems”…”�”}”(hjŠ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj‡ h²hh³hÊh´MVubhÌ)�”}”(hŒQThis directory contains the following configuration options for FUSE filesystems:”h]”hŒQThis directory contains the following configuration options for FUSE filesystems:”…”�”}”(hj˜ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´MXhj‡ h²hubhÌ)�”}”(hŒ›``/proc/sys/fs/fuse/max_pages_limit`` is a read/write file for setting/getting the maximum number of pages that can be used for servicing requests in FUSE.”h]”(j6)�”}”(hŒ%``/proc/sys/fs/fuse/max_pages_limit``”h]”hŒ!/proc/sys/fs/fuse/max_pages_limit”…”�”}”(hjª h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj¦ ubhŒv is a read/write file for setting/getting the maximum number of pages that can be used for servicing requests in FUSE.”…”�”}”(hj¦ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´M[hj‡ h²hubhÌ)�”}”(hXº``/proc/sys/fs/fuse/default_request_timeout`` is a read/write file for setting/getting the default timeout (in seconds) for a fuse server to reply to a kernel-issued request in the event where the server did not specify a timeout at mount. If the server set a timeout, then default_request_timeout will be ignored. The default "default_request_timeout" is set to 0. 0 indicates no default timeout. The maximum value that can be set is 65535.”h]”(j6)�”}”(hŒ-``/proc/sys/fs/fuse/default_request_timeout``”h]”hŒ)/proc/sys/fs/fuse/default_request_timeout”…”�”}”(hjÆ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj ubhX‘ is a read/write file for setting/getting the default timeout (in seconds) for a fuse server to reply to a kernel-issued request in the event where the server did not specify a timeout at mount. If the server set a timeout, then default_request_timeout will be ignored. The default “default_request_timeoutâ€� is set to 0. 0 indicates no default timeout. The maximum value that can be set is 65535.”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´M_hj‡ h²hubhÌ)�”}”(hXµ``/proc/sys/fs/fuse/max_request_timeout`` is a read/write file for setting/getting the maximum timeout (in seconds) for a fuse server to reply to a kernel-issued request. A value greater than 0 automatically opts the server into a timeout that will be set to at most "max_request_timeout", even if the server did not specify a timeout and default_request_timeout is set to 0. If max_request_timeout is greater than 0 and the server set a timeout greater than max_request_timeout or default_request_timeout is set to a value greater than max_request_timeout, the system will use max_request_timeout as the timeout. 0 indicates no max request timeout. The maximum value that can be set is 65535.”h]”(j6)�”}”(hŒ)``/proc/sys/fs/fuse/max_request_timeout``”h]”hŒ%/proc/sys/fs/fuse/max_request_timeout”…”�”}”(hjâ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÞ ubhX� is a read/write file for setting/getting the maximum timeout (in seconds) for a fuse server to reply to a kernel-issued request. A value greater than 0 automatically opts the server into a timeout that will be set to at most “max_request_timeoutâ€�, even if the server did not specify a timeout and default_request_timeout is set to 0. If max_request_timeout is greater than 0 and the server set a timeout greater than max_request_timeout or default_request_timeout is set to a value greater than max_request_timeout, the system will use max_request_timeout as the timeout. 0 indicates no max request timeout. The maximum value that can be set is 65535.”…”�”}”(hjÞ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Mghj‡ h²hubhÌ)�”}”(hXkFor timeouts, if the server does not respond to the request by the time the set timeout elapses, then the connection to the fuse server will be aborted. Please note that the timeouts are not 100% precise (eg you may set 60 seconds but the timeout may kick in after 70 seconds). The upper margin of error for the timeout is roughly FUSE_TIMEOUT_TIMER_FREQ seconds.”h]”hXkFor timeouts, if the server does not respond to the request by the time the set timeout elapses, then the connection to the fuse server will be aborted. Please note that the timeouts are not 100% precise (eg you may set 60 seconds but the timeout may kick in after 70 seconds). The upper margin of error for the timeout is roughly FUSE_TIMEOUT_TIMER_FREQ seconds.”…”�”}”(hjú h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Mrhj‡ h²hubeh}”(h]”Œ;proc-sys-fs-fuse-configuration-options-for-fuse-filesystems”ah ]”h"]”ŒA5. /proc/sys/fs/fuse - configuration options for fuse filesystems”ah$]”h&]”uh1hµhh·h²hh³hÊh´MVubeh}”(h]”Œdocumentation-for-proc-sys-fs”ah ]”h"]”Œdocumentation for /proc/sys/fs/”ah$]”h&]”uh1hµhhh²hh³hÊh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÊuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hºNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”j Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j:Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÊŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œprotected_fifos”]”jíasŒrefids”}”Œnameids”}”(jjjR jO j¹j´jljÃj’jåj†jj,j)jjKj4jmjlj�j j±jÆjÓjþjõjnjjÑj9jH j[j¹ j}jJ jŸj‹ jˆ j$ j! j„ j� j| jy j j uŒ nametypes”}”(j‰jR ‰j¹‰jl‰j’‰j†‰j,‰j‰j4‰jl‰j ‰jƉjþ‰jn‰jщjH ‰j¹ ‰jJ ‰j‹ ‰j$ ‰j„ ‰j| ‰j ‰uh}”(jh·jO jqj´j¤jÃj¼jåjojj•j)j‰jKj/jmjj�j7j±jojÓj£jõjÉjjj9jrj[jÔj}jK jŸj¼ jˆ jU j! jŽ j� j' jy jF j j‡ j½j´jßjÖjjøj#jjEj<jgj^j‰j€j«j¢jÍjÄjïjæjjj3j*jUjLjwjnj™j�uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”jHKs…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.