<scriptid="__config"type="application/json">{"base":"/mergerfs/preview","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"/mergerfs/preview/assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"/mergerfs/preview","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"/mergerfs/preview/assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -2136,10 +2158,10 @@ run before the read and write benchmarks as well just in case.</p>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1990,10 +2012,10 @@ the branches and continue on. The details will be
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -2264,10 +2286,10 @@ is not necessary and actually can become problematic.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -2229,10 +2251,10 @@ first. <a class="footnote-backref" href="#fnref:1" title="Jump back to foot
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1898,10 +1920,10 @@ function or have been replaced. <strong>They should not be used.</strong></p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1890,10 +1912,10 @@ initiated it is not possible to change during run time.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1955,10 +1977,10 @@ specific branch would be flushed on close.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1897,10 +1919,10 @@ file a ticket on <a href="https://github.com/trapexit/mergerfs/issues/new?assign
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1924,10 +1946,10 @@ controlled by <code>fuse.getattr</code>.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -2242,10 +2264,10 @@ policies is not appropriate.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<li>Performance improvements often peak at about <code>4M</code></li>
<li>If the value is a <code>SIZE</code> in the form of <code>xB</code>, <code>xK</code>, <code>xM</code>, <code>xG</code>, or
<code>xT</code> then it will choose the closest multiple of the system page
size</li>
<li>If the value is just an integer without a size multipler suffix then
it is treated as a page count</li>
</ul>
<p>FUSE applications communicate with the kernel over a special character
device: <code>/dev/fuse</code>. A large portion of the overhead associated with
@ -1822,8 +1849,6 @@ to peak around 4MiB.</p>
<p>On kernels before v4.20 the option has no effect. On kernels between
v4.20 and v6.13 the max value is 256. On kernels >= v6.13 the maximum
value is 65535.</p>
<p>Since page size can differ between systems mergerfs can take a value in
bytes and will convert it to the proper number of pages (rounded up).</p>
<p>NOTE: If you intend to enable <code>cache.files</code> you should also set
<ahref="../readahead/">readahead</a> to match <code>fuse_msg_size</code>.</p>
@ -1920,10 +1945,10 @@ bytes and will convert it to the proper number of pages (rounded up).</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1952,10 +1974,10 @@ removed. mergerfs should always be managing inode values.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1893,10 +1915,10 @@ link. In those cases, it is possible it will error or complain.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1889,10 +1911,10 @@ atomically "break" the link. After that it will open the new file.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1974,10 +1996,10 @@ that error will be returned back to the application making the
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1901,10 +1923,10 @@ which is empty is opened for writing.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -2166,10 +2188,10 @@ you're using. Not all features are available in older releases.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1900,10 +1922,10 @@ threads. Invalid values are ignored.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1911,10 +1933,10 @@ changed to only set mergerfs' readahead.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1896,10 +1918,10 @@ symlinks when multiple <code>oldpaths</code> exist.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1999,10 +2021,10 @@ returned but it will still be possible.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1898,10 +1920,10 @@ for general consumption.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<ahref="../resource_usage/"class="md-footer__link md-footer__link--next"aria-label="Next: Resource Usage and Management">
<divclass="md-footer__title">
<spanclass="md-footer__direction">
Next
</span>
<divclass="md-ellipsis">
Runtime Interfaces
Resource Usage and Management
</div>
</div>
<divclass="md-footer__button md-icon">
@ -2156,10 +2178,10 @@ performing maintenance tasks. These are logged via <code>syslog</code> and on
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<ahref="https://github.com/trapexit/mergerfs/edit/master/mkdocs/docs/usage_patterns.md"title="Edit this page"class="md-content__button md-icon"rel="edit">
<ahref="https://github.com/trapexit/mergerfs/edit/master/mkdocs/docs/extended_usage_patterns.md"title="Edit this page"class="md-content__button md-icon"rel="edit">
<ahref="https://github.com/trapexit/mergerfs/raw/master/mkdocs/docs/usage_patterns.md"title="View source of this page"class="md-content__button md-icon">
<ahref="https://github.com/trapexit/mergerfs/raw/master/mkdocs/docs/extended_usage_patterns.md"title="View source of this page"class="md-content__button md-icon">
<p>Some storage technologies support what is called "tiered" caching. The
placing of smaller, faster storage as a transparent cache to larger,
@ -2076,10 +2098,10 @@ respectively.</p>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1985,10 +2007,10 @@ WinFsp would first mean porting it to <code>libfuse</code>.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -2065,10 +2087,10 @@ wear on them and can lead to their death earlier than otherwise.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
availability you should stick with RAID. However, it is fine to put
a filesystem which is on a RAID setup in mergerfs.</li>
</ul>
<p><strong>However, if using <ahref="../../config/passthrough/">passthrough</a> the above
situations are less likely to be a concern. Best to do testing for
your specific use case.</strong></p>
<h2id="its-mentioned-that-there-are-some-security-issues-with-mhddfs-what-are-they-how-does-mergerfs-address-them">It's mentioned that there are some security issues with mhddfs. What are they? How does mergerfs address them?</h2>
<p><ahref="https://github.com/trapexit/mhddfs">mhddfs</a> manages running as
<code>root</code> by calling
@ -1997,10 +2022,10 @@ few users.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1999,10 +2021,10 @@ that will naturally impact performance more than low latency SSDs.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
How does mergerfs handle moving and copying of files?
</span>
</a>
@ -2004,6 +2026,14 @@ underlying filesystem are considered different devices. There is no
way to link or rename between them. You should mount in the highest
directory in the mergerfs pool that includes all the paths you need if
you want links and rename to work.</p>
<h2id="do-reflink-ficlone-or-ficlonerange-work">Do reflink, FICLONE, or FICLONERANGE work?</h2>
<p>Unfortunately not. FUSE, the technology mergerfs is based on, does not
support the <code>clone_file_range</code> feature needed for it to work. mergerfs
won't even know such a request is made. The kernel will simply return
an error back to the application making the request.</p>
<p>Should FUSE gain the ability mergerfs will be updated to support it.</p>
<p>That said: mergerfs itself will attempt to use <code>FICLONE</code> when copying
data between files in the limited cases where it copies/moves files.</p>
<h2id="how-does-mergerfs-handle-moving-and-copying-of-files">How does mergerfs handle moving and copying of files?</h2>
<p>This is a <em>very</em> common mistaken assumption regarding how filesystems
work. There is no such thing as "move" or "copy." These concepts are
@ -2047,12 +2077,8 @@ program to write to a temporary file first and then rename to its
final destination. That temporary file name will typically be random
and have no indication of the type of file being written. At best
something could be done on rename.</p>
<h2id="does-ficlone-or-ficlonerange-work">Does FICLONE or FICLONERANGE work?</h2>
<p>Unfortunately not. FUSE, the technology mergerfs is based on, does not
support the <code>clone_file_range</code> feature needed for it to work. mergerfs
won't even know such a request is made. The kernel will simply return
an error back to the application making the request.</p>
<p>Should FUSE gain the ability mergerfs will be updated to support it.</p>
<p>Additional reading: <ahref="../../intro_to_filesystems/#workflows">Intro to Filesystems:
Workflows</a></p>
<h2id="why-does-the-total-available-space-in-mergerfs-not-equal-outside">Why does the total available space in mergerfs not equal outside?</h2>
<p>Are you using ext2/3/4? With reserve for root? mergerfs uses available
space for statfs calculations. If you've reserved space for root then
@ -2122,23 +2148,28 @@ removed to simplify the codebase.</p>
<h2id="how-does-mergerfs-handle-credentials">How does mergerfs handle credentials?</h2>
<p>mergerfs is a multithreaded application in order to handle requests
from the kernel concurrently. Each FUSE message has a header with
certain details about the request include the process ID (pid) of the
requesting application, the process' effective user id (uid), and
certain details about the request including the process ID (pid) of
the requesting application, the process' effective user id (uid), and
group id (gid). To ensure proper POSIX filesystem behavior and
security mergerfs must change its identity to match that of the
requester when performing the core filesystem function on the
underlying filesystem. On most Unix/POSIX based system a process and
all its threads are under the same uid and gid. However, on Linux each
thread may have its own credentials. This allows mergerfs to be
multithreaded and for each thread to change to the credentials
(seteuid,setegid) as required by the incoming message it is
handling. However, on FreeBSD this is not possible at the moment
(though there has been
<ahref="https://wiki.freebsd.org/Per-Thread%20Credentials">discussions</a> and
requester when performing the certain functions on the underlying
filesystem. As required by standards most Unix/POSIX based systems a
process and all its threads are under the same uid and gid. However,
on Linux each thread <strong>may</strong> have its own credentials. This allows
mergerfs to be multithreaded and for each thread to change to the
credentials as required by the incoming message it is
handling. However, currently on FreeBSD this is not possible (though
there has been
<ahref="https://wiki.freebsd.org/Per-Thread%20Credentials">discussions</a>) and
as such must change the credentials of the whole application when
actioning messages. mergerfs does optimize this behavior by only
changing credentials and locking the thread to do so if the process is
currently not the same as what is necessary by the incoming request.</p>
currently not the same as what is necessary by the incoming
request. As a result of this design FreeBSD may experience more
contention and therefore lower performance than Linux.</p>
<p>Additionally, mergerfs <ahref="../../known_issues_bugs/#supplemental-user-groups">utilizes a cache for supplemental
groups</a> due the the
high cost of querying that information.</p>
@ -2233,10 +2264,10 @@ currently not the same as what is necessary by the incoming request.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<h1id="usage-and-functionality">Usage and Functionality</h1>
<h2id="what-happens-when-file-paths-overlap">What happens when file paths overlap?</h2>
<p>It depends on the situation and the configuration of mergerfs. The
user chooses the algorithm (policy) on how to behave when a particular
filesystem function is requested. Which file to select or act on.</p>
<p>See how <ahref="../../config/functions_categories_policies/">policies</a> work.</p>
<h2id="can-mergerfs-be-used-with-filesystems-which-already-have-data">Can mergerfs be used with filesystems which already have data?</h2>
<p>Yes. mergerfs is really just a proxy and does <strong>NOT</strong> interfere with
the normal form or function of the filesystems, mounts, or paths it
@ -2003,7 +2048,7 @@ does <strong>not</strong> shard data across filesystems. It only shards some
<p>Yes. See previous question's answer.</p>
<p>This is true for planned removal by unmounting mergerfs and changing
the config, changes made to mergerfs at
<ahref="../../runtime_interfaces/">runtime</a>, umounting of the branch's
<ahref="../../runtime_interface/">runtime</a>, umounting of the branch's
filesystem on the fly (whether on purpose or due to error), etc.</p>
<h2id="what-happens-if-a-filesystem-disappears-at-runtime">What happens if a filesystem disappears at runtime?</h2>
<p>By "disappear" meaning explicitly unmounted or due to an error the OS
@ -2151,10 +2196,10 @@ to clear or ignore the cache. This is the same issue you can have with
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -2288,7 +2310,7 @@ can use the <a href="../../runtime_interfaces/">runtime interface</a>.</p>
Previous
</span>
<divclass="md-ellipsis">
Usage Patterns
Extended Usage Patterns
</div>
</div>
</a>
@ -2337,10 +2359,10 @@ can use the <a href="../../runtime_interfaces/">runtime interface</a>.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<p>Head to the <ahref="quickstart/">quick start guide</a>.</p>
@ -2068,10 +2094,10 @@ here</a>.</p>
<scriptid="__config"type="application/json">{"base":".","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":".","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
flag. Since there is no link on creation should the program which
created the file then release the handle on that file the filesystem
would see it has no references and remove it. To keep the temporary
file around the program must explicitly create a link.</p>
<h3id="permissions">permissions</h3>
<h3id="owership">owership</h3>
<h2id="functions">functions</h2>
<h2id="workflows">workflows</h2>
<h3id="creating-a-file">creating a file</h3>
<h3id="reading-or-writing-to-a-file">reading or writing to a file</h3>
<h3id="copying-a-file">copying a file</h3>
<h3id="moving-a-file">moving a file</h3>
<p>File permissions are a security mechanism and apply to all files and
directories. They, in combination with ownership information, dictate
who is allowed to read, write, and execute a file (as well as some
other niche allowances and behaviors.)</p>
<p>While there are more advanced and complicated forms of permissioning
the traditional POSIX permissions come in the form of 3 sets of 3
permissions (the read, write, and execute.) One set for the individual
user owner of the file, one for the group owner, and one for "others".</p>
<p>Execute in POSIX systems indicates that a regular file is a piece of
software and can be run (like a Windows ".exe" file) and for
directories means you are allowed to list the contents. A directory
can be marked as "read" and not "executable" to allow users to access
content within the directory but not list it in a soft form of
security through obscurity. You must know the path and name of the
file to read it and can not simply search for it.</p>
<h3id="ownership">ownership</h3>
<p>Each file has 2 owner values. The individual user identifier and the
group identifier. These values are the raw integer value known to the
kernel and not the human readable user name or group name most people
typically use. In fact the kernel has no awareness of the human
readable identifiers. Those are managed entirely by userspace. This is
why if you mount a filesystem on a different system with different
users tools like <code>ls</code> may report different user names or only show
integer values for owners because the value stored in the inode is
"1000" and the name associated with integer 1000 on system A is
different from system B (or may not exist at all.)</p>
<h3id="timestamps">timestamps</h3>
<ul>
<li>mtime: The time the file <em>data</em> was last modified. Can be explicitly modified.</li>
<li>ctime: The time the file <em>metadata</em> was last modified. Can not be modified.</li>
<li>atime: The time the file was last accessed. Note that Linux
generally uses a heuristic to update atime so that it does not in
fact have to write to the filesystem every time a file is
accessed. Can be explicitly modified.</li>
<li>btime: The "birth" time of the file. Only available in certain
filesystems and via a newer system call. Can not be modified.</li>
</ul>
<h2id="functions">Functions</h2>
<ul>
<li>open():</li>
<li>creat():</li>
<li>close():</li>
<li>opendir():</li>
<li>readdir():</li>
<li>closedir():</li>
<li>mkdir():</li>
<li>link():</li>
<li>unlink():</li>
<li>symlink():</li>
<li>rename():</li>
<li>read():</li>
<li>write():</li>
<li>lseek():</li>
<li>tell():</li>
<li>stat():</li>
</ul>
<h2id="workflows">Workflows</h2>
<p>Filesystems tend to be
<ahref="../faq/technical_behavior_and_limitations/#how-does-mergerfs-handle-moving-and-copying-of-files">misunderstood</a>. A
number of behaviors users are familiar with are actually high level
concepts which are made up of numerous steps/functions. As a result
high level context that users expect to be available to mergerfs when
certain actions are taken and decisions made are in fact not
available. Below are explanations of a number of those situations.</p>
<h3id="creating-a-file">Creating a file</h3>
<p><ahref="https://www.man7.org/linux/man-pages/man3/creat.3p.html">Creating</a> a
file can range from a single call to a semi-complex procedure
depending on the requirements and expectations of the calling
application.</p>
<p>Most important to understand is that when a file is created there is
very limited information needed / provided. The file path, some flags
to control a bit how the file is created and if it is to be for
reading and/or writing, and the permissions. mergerfs knows a bit more
details like which user id is making the request and from what process
but that is all the data immediately available. There is no size. The
initial size is always zero. Any data that may be written to the file
would come in the future via other function calls. The source of that
data is completely unknown.</p>
<p>Keep in mind that while there exists this ability to create a file in
a single call to the operating system that call has numerous
aspects which my be exploitable by malicious software.</p>
<p>If software wishes to create a file in more secure manner it must do
some form of the following.</p>
<ol>
<li>Attempt to open the directory where you wish to create the file.</li>
<li>If that succeeds check the directory to ensure it is the directory
you expect it to be. Checking ownership, permissions, perhaps
existence of other files, the filesystem, etc.</li>
<li>Using the handle to the directory, attempt to open the file using a
flag which make the open fail should a file name/link already exist
with that same name. Also set the permissions to the absolute minimum
possible to ensure no interference from others.</li>
<li>If it succeeds then continue on with whatever you had planned. If
it fails try to unlink the unexpected file and try again at step 3. If
it fails multiple times then something is suspicious and the program
should stop trying to create the file and report an error.</li>
</ol>
<p>The above can be made even more involved as you will see below.</p>
<h3id="reading-or-writing-to-a-file">Reading or writing to a file</h3>
<p>To write:</p>
<ol>
<li>Assuming the file is already created/opened...</li>
<li>Allocate memory to hold a portion of the data.</li>
<li>Fill the memory with the data to write from wherever it may come
from. Another file, network, programmatically generated, etc.</li>
<li>Call <code>write()</code> function on the open file pointing to the memory to
write and how much to write.</li>
<li>The kernel will take the request and attempt it. On success it will
report back to the program how much was written from 1 byte to the
amount requested. A write of fewer than the requested amount is
called a <code>short write.</code></li>
<li>If a short write occurred the program must then adjust the data to
ensure it doesn't write the same data again and lower the amount to
write by the previously written amount and attempt another
write. Continuing this till there is nothing left to write. A short
write could also mean that the filesystem has no more available
space and following write requests may fail completely.</li>
<li>Go back to step 2 or 3 and do it all again with any additional data
to write.</li>
<li>If at any time there is an error it may be necessary to query the
size of the file or other details to know how to continue depending
on the needs of the program.</li>
</ol>
<p>Reading is similar and <code>short reads</code> are also possible.</p>
<h3id="copying-a-file">Copying a file</h3>
<p>The "proper" way to copy a file is quite involved.</p>
<ol>
<li>Open the source file. Do so with certain flags to ensure it is the
type of file you expect. You may also need to perform a similar
"open directory, check things out, then open file" workflow as
mentioned above for security purposes.</li>
<li><code>stat</code> the file to get its metadata such as the file size,
timestamps, etc.</li>
<li>Securely open a file as described previously. The name of the file
should not be that of the destination but a temporary file name
with some amount of randomness. Often also making it "hidden" by
prepending a "." to it.</li>
<li>In a loop read data from the source file and write it to the
temporary file as described above. There are some platform specific
ways to copy the data which may be tried first such as
FICLONE/reflink which takes advantage of CoW (copy-on-write)
filesystem features. Falling back to the read then write loop if
necessary.</li>
<li>Request a list of all the extended attribute keys from the source
file and one by one query the value. For each key value pair
attempt to write it to the destination file.</li>
<li>Request file attributes from the source file and write them to the
destination file but first filtering out flags such as "immutable"
as that would make it impossible to make further changes.</li>
<li>Using the details captured in step 2 change the ownership to the
destination file to match the source.</li>
<li>Using the details captured in step 2 change the permissions (mode)
of the destination file to match the source.</li>
<li>Using the details captured in step 2 change the mtime and atime of
the destination to match the source.</li>
<li>Query the source file's metadata again as in step 2. Using those
details as well as those from step 2 check the source file to see
if it may have changed since the copy procedure started. If it had
determine the changes and go back to step 4. Perhaps unlinking the
temporary file and going back to step 2.</li>
<li>Ensure the data and metadata are flushed to the storage device by
calling appropriate sync functions.</li>
<li><code>rename</code> the file from the temporary name to the destination name.</li>
<li>If the file had a special flag such as the immutable attribute set
then set such attribute.</li>
<li>Close the destination and source files.</li>
</ol>
<p>There can be additional steps too depending on the platform, available
features, and safety concerns. For instance it might be possible to
put a lock or lease on the source file to limit possibility of
changes while the copy occurs.</p>
<h3id="moving-a-file">Moving a file</h3>
<p>The moving of a file is similar to copying a file.</p>
<ol>
<li>Attempt a <code>rename</code> between source and destination. If it succeeds,
done. Note that the rename itself may require setup similar to
securely opening or creating a file. IE... requiring the opening of
the source and destination directories, confirming they are what is
expected, then issuing the actual rename.</li>
<li>If it fails... perform a copy of the file as described above.</li>
<li>After the rename and close'ing of the copy <code>unlink</code> the source
file.</li>
</ol>
<h3id="summary">Summary</h3>
<p>As seen in the above descriptions these high level concepts users
perceive are in fact involved sets of steps with loops and conditional
behaviors. All leveraging low level functions which alone have very
little context. For instance: there is no practical way of knowing a
file is being copied or from where. There is no way to decide at
creation time what to do based on size because its size doesn't exist
yet. Even making a decision based on the destination file name is
complicated by the fact that "well written" software will create
randomly named temporary files and then rename the file. Only at
<code>rename</code> would you know the name as the end user chose and at that
point it may be too late.</p>
@ -2201,10 +2545,10 @@ those needing that knowledge.</p>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<h1id="known-issues-and-bugs">Known Issues and Bugs</h1>
<h2id="mergerfs">mergerfs</h2>
<h3id="freebsd-version">FreeBSD version</h3>
<ul>
<li>FreeBSD doesn't have per thread credentials meaning threads must
block to change credentials as required by numerous filesystem
functions. This impacts performance.</li>
<li>FreeBSD's FUSE implementation is lacking many features of Linux.<ul>
<li>passthrough</li>
<li>statx</li>
<li>lazy umount</li>
<li>oom_score_adj</li>
<li>fuse_msg_size</li>
<li>kernel symlink caching</li>
<li>kernel readdir caching</li>
<li>writeback caching</li>
<li>...</li>
</ul>
</li>
</ul>
<h3id="supplemental-user-groups">Supplemental user groups</h3>
<h4id="supplemental-group-caching">Supplemental group caching</h4>
<p>Due to the overhead of
@ -2261,33 +2337,48 @@ from the branches directly.</p>
<p>Use <code>cache.files=off</code> and/or <code>dropcacheonclose=true</code>. See the section
on <ahref="../config/cache/">page caching</a>.</p>
<h2id="3rd-party-software">3rd Party Software</h2>
<h3id="nfs-clients-returning-estale-stale-file-handle">NFS clients returning ESTALE / Stale file handle</h3>
<p>NFS generally does not like out of band changes. Take a look at the
section on NFS in the <ahref="../remote_filesystems/">remote-filesystems</a> for
more details.</p>
<h3id="sqlite3-plex-jellyfin-do-not-work-with-mergerfs">SQLite3, Plex, Jellyfin do not work with mergerfs</h3>
<p>It does. If you're trying to put the software's config / metadata /
database on mergerfs you can't set
<ahref="../config/cache/">cache.files=off</a> (unless you use Linux v6.6 or
above) because they are using <strong>sqlite3</strong> with <strong>mmap</strong> enabled.</p>
database on mergerfs you can't set <ahref="../config/cache/">cache.files=off</a>
(unless you use Linux v6.6 or above and
<ahref="../config/options/">direct-io-allow-mmap</a> is enabled) because they are
using <strong>sqlite3</strong> with <strong>mmap</strong> enabled and have failed to properly
handle the situation where <strong>mmap</strong> may not be available.</p>
<p>That said it is recommended that config and runtime files be stored on
SSDs on a regular filesystem for performance reasons. See <ahref="../faq/recommendations_and_warnings/">What should
mergerfs NOT be used for?</a>.</p>
SSDs on a regular filesystem for performance reasons. See <ahref="../faq/recommendations_and_warnings/#what-should-mergerfs-not-be-used-for">What should
mergerfs NOT be used
for?</a>.</p>
<p>Other software that leverages <strong>sqlite3</strong> which require <strong>mmap</strong>
includes Radarr, Sonarr, and Lidarr. That said many programs use
includes Radarr, Sonarr, and Lidarr. However, many programs use
<strong>sqlite3</strong> and do not require <strong>mmap</strong>.</p>
<p>It is recommended that you reach out to the developers of the software
you are having troubles with and asking them to add a fallback to
regular file IO when <strong>mmap</strong> is unavailable. It is not only more
compatible and resilient but also can be more performant in certain
situations.</p>
<p>If the issue is that quick scanning doesn't seem to pick up media then
be sure to set <code>func.getattr=newest</code>. That said a full scan will pick
up all media and it will put less load on the host to use time based
you are having troubles with and ask them to add a fallback to regular
file IO when <strong>mmap</strong> is unavailable. It is not only more compatible
but also can be more performant in certain situations.</p>
<p>If the issue is that quick scans do not seem to pick up media then be
sure to set <code>func.getattr=newest</code>. That said a full scan will pick up
all media and it will put less load on the host to use time based
library scans or to configure downloading software to trigger a scan
when files are added to the pool. See <ahref="../faq/compatibility_and_integration/#does-inotify-and-fanotify-work">Does inotify and fanotify
work?</a>
for more details.</p>
<h3id="backup-software">backup software</h3>
<p>Some software, like borgbackup and others, leverage inodes as one of a
number of metrics to notice changes in files. Depending on how <ahref="../config/inodecalc/">inode
generation is configured</a> it is possible that the
same file may have different inodes one mount to another and as such
interfere with the expected stability of the value. In such cases you
may need to disable the use of the inode in the software if possible
or change the <ahref="../config/inodecalc/">inodecalc</a> setting if possible.</p>
<p>Generally speaking, in modern setups where there are many non-fully
complient POSIX filesystem in use, reliance on inode to have a
specific meaning is not always reasonable. FUSE, for instance, has no
requirement that inode values need to be unique or that two files that
happen to be the same underlying file have the same inode.</p>
<h3id="nfs-clients-returning-estale-stale-file-handle">NFS clients returning ESTALE / Stale file handle</h3>
<p>NFS generally does not like out of band changes. Take a look at the
section on NFS in the <ahref="../remote_filesystems/">remote-filesystems</a> for
more details.</p>
<h3id="my-32bit-software-has-problems">my 32bit software has problems</h3>
<p>Some software have problems with 64bit inode values. The symptoms can
include EOVERFLOW errors when trying to list files. You can address
@ -2333,7 +2424,7 @@ the <a href="https://github.com/trapexit/mergerfs-tools">mergerfs-tools</a> tool
<code>mergerfs.mktrash</code>.</p>
<h2id="fuse-and-linux-kernel">FUSE and Linux kernel</h2>
<p>There have been a number of kernel issues / bugs over the years which
mergerfs has run into. Here is a list of them for reference and
mergerfs users have run into. Here is a list of them for reference and
posterity.</p>
<h3id="nfs-and-eio-errors">NFS and EIO errors</h3>
<h3id="crashing-on-openvz">Crashing on OpenVZ</h3>
<p>There was a bug in the OpenVZ kernel with regard to how it handles <code>ioctl</code> calls. It was making invalid requests which would lead to crashes due to mergerfs not expecting them.</p>
<p>There was a bug in the OpenVZ kernel with regard to how it handles
<code>ioctl</code> calls. It was making invalid requests which would lead to
@ -2492,10 +2586,10 @@ lookup which should work across any kernel version.</p>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1983,10 +2005,10 @@ before changing them to understand how functionality will change.</p>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
variant of 9P, is focused primarily on supporting Linux filesystem
features.</p>
<p>mergerfs leverages FUSE but could have in theory leveraged 9P with a
reduction in features.</p>
<p>While 9P has <ahref="https://docs.kernel.org/filesystems/9p.html">extensive
usage</a> in certain
situations its use in modern userland Linux systems is limited. FUSE
has largely replaced use cases that may have been implemented with 9P
servers in the past.</p>
@ -2349,10 +2510,10 @@ that kind of setup.</p>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
</span><spanid="__span-3-5"><aid="__codelineno-3-5"name="__codelineno-3-5"></a><ahref="#__codelineno-3-5"><spanclass="linenos"data-linenos="5 "></span></a><spanclass="c1"># comments and empty lines are supported</span>
<p>Create a bunch of symlinks to point to the branch. mergerfs will
@ -2446,10 +2469,10 @@ you mount mergerfs follow this example.</p>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -2213,7 +2235,7 @@ and I will add it to the list.</p>
Previous
</span>
<divclass="md-ellipsis">
Runtime Interfaces
Runtime Interface
</div>
</div>
</a>
@ -2262,10 +2284,10 @@ and I will add it to the list.</p>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<ahref="https://github.com/trapexit/mergerfs/edit/master/mkdocs/docs/runtime_interfaces.md"title="Edit this page"class="md-content__button md-icon"rel="edit">
<ahref="https://github.com/trapexit/mergerfs/edit/master/mkdocs/docs/runtime_interface.md"title="Edit this page"class="md-content__button md-icon"rel="edit">
<ahref="https://github.com/trapexit/mergerfs/raw/master/mkdocs/docs/runtime_interfaces.md"title="View source of this page"class="md-content__button md-icon">
<ahref="https://github.com/trapexit/mergerfs/raw/master/mkdocs/docs/runtime_interface.md"title="View source of this page"class="md-content__button md-icon">
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -2050,10 +2072,10 @@ branches should be considered works in progress.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
@ -1804,7 +1826,7 @@ restarted. To work around this you can use a "lazy umount". Before
mounting over top the mount point with the new instance of mergerfs
issue: <code>umount -l <mergerfs_mountpoint></code>. Or you can let mergerfs do
it by setting the option <code>lazy-umount-mountpoint=true</code>.</p>
<p>If the intent is to change settings at runtime then the <ahref="../../runtime_interfaces/">runtime
<p>If the intent is to change settings at runtime then the <ahref="../../runtime_interface/">runtime
interface</a> should be used.</p>
@ -1900,10 +1922,10 @@ interface</a> should be used.</p>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"../..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<li>Version of mergerfs: <code>mergerfs --version</code></li>
<li>mergerfs settings / arguments: from fstab, systemd unit, command
@ -2008,10 +2031,10 @@ directly.</a></strong></p>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
</span><spanid="__span-0-2"><aid="__codelineno-0-2"name="__codelineno-0-2"href="#__codelineno-0-2"></a>* Please have mergerfs mounted before running this tool.
</span><spanid="__span-0-3"><aid="__codelineno-0-3"name="__codelineno-0-3"href="#__codelineno-0-3"></a>* Upload the following file to your GitHub ticket or put on https://pastebin.com when requesting support.
</span><spanid="__span-1-2"><aid="__codelineno-1-2"name="__codelineno-1-2"href="#__codelineno-1-2"></a>fsck.mergerfs: A tool to help diagnose and solve mergerfs pool issues
</span><spanid="__span-1-12"><aid="__codelineno-1-12"name="__codelineno-1-12"href="#__codelineno-1-12"></a> -h, --help Print this help message and exit
</span><spanid="__span-1-14"><aid="__codelineno-1-14"name="__codelineno-1-14"href="#__codelineno-1-14"></a> Will attempt to 'fix' the problem by chown+chmod or copying files
</span><spanid="__span-1-15"><aid="__codelineno-1-15"name="__codelineno-1-15"href="#__codelineno-1-15"></a> based on a selected file.
</span><spanid="__span-1-16"><aid="__codelineno-1-16"name="__codelineno-1-16"href="#__codelineno-1-16"></a> * none: Do nothing. Just print details.
</span><spanid="__span-1-17"><aid="__codelineno-1-17"name="__codelineno-1-17"href="#__codelineno-1-17"></a> * manual: User selects source file.
</span><spanid="__span-1-18"><aid="__codelineno-1-18"name="__codelineno-1-18"href="#__codelineno-1-18"></a> * newest: Use file with most recent mtime.
</span><spanid="__span-1-19"><aid="__codelineno-1-19"name="__codelineno-1-19"href="#__codelineno-1-19"></a> * largest: Use file with largest size.
@ -2106,10 +2214,10 @@ won't work and shouldn't cause any issues.</p>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.d50fe291.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>
<scriptid="__config"type="application/json">{"base":"..","features":["content.action.edit","content.action.view","content.code.copy","content.code.select","navigation.footer","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","optimize","search.share","search.suggest","toc.follow"],"search":"../assets/javascripts/workers/search.973d3a69.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":{"provider":"mike"}}</script>