|
|
<!doctype html> <html lang="en" class="no-js"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta name="description" content="mergerfs - a featureful union filesystem"> <link rel="canonical" href="https://trapexit.github.io/mergerfs/config/options/"> <link rel="prev" href="../terminology/"> <link rel="next" href="../deprecated_options/"> <link rel="icon" href="../../assets/images/favicon.png"> <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.49"> <title>Options - mergerfs</title> <link rel="stylesheet" href="../../assets/stylesheets/main.6f8fc17f.min.css"> <link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"> <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style> <script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head> <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo"> <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> <label class="md-overlay" for="__drawer"></label> <div data-md-component="skip"> <a href="#options" class="md-skip"> Skip to content </a> </div> <div data-md-component="announce"> </div>
<header class="md-header md-header--shadow" data-md-component="header"> <nav class="md-header__inner md-grid" aria-label="Header"> <a href="../.." title="mergerfs" class="md-header__button md-logo" aria-label="mergerfs" data-md-component="logo"> <img src="../../logo.jpeg" alt="logo">
</a> <label class="md-header__button md-icon" for="__drawer"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class="md-header__title" data-md-component="header-title"> <div class="md-header__ellipsis"> <div class="md-header__topic"> <span class="md-ellipsis"> mergerfs </span> </div> <div class="md-header__topic" data-md-component="header-topic"> <span class="md-ellipsis"> Options </span> </div> </div> </div> <form class="md-header__option" data-md-component="palette"> <input class="md-option" data-md-color-media="(prefers-color-scheme)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_0"> <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z"/></svg> </label> <input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1"> <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to system preference" type="radio" name="__palette" id="__palette_2"> <label class="md-header__button md-icon" title="Switch to system preference" for="__palette_0" hidden> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for="__search"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class="md-search" data-md-component="search" role="dialog"> <label class="md-search__overlay" for="__search"></label> <div class="md-search__inner" role="search"> <form class="md-search__form" name="search"> <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required> <label class="md-search__icon md-icon" for="__search"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class="md-search__options" aria-label="Search"> <a href="javascript:void(0)" class="md-search__icon md-icon" title="Share" aria-label="Share" data-clipboard data-clipboard-text="" data-md-component="search-share" tabindex="-1"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91s2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08"/></svg> </a> <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> </form> <div class="md-search__output"> <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix> <div class="md-search-result" data-md-component="search-result"> <div class="md-search-result__meta"> Initializing search </div> <ol class="md-search-result__list" role="presentation"></ol> </div> </div> </div> </div> </div> <div class="md-header__source"> <a href="https://github.com/trapexit/mergerfs" title="Go to repository" class="md-source" data-md-component="source"> <div class="md-source__icon md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg> </div> <div class="md-source__repository"> mergerfs </div> </a> </div> </nav> </header> <div class="md-container" data-md-component="container"> <main class="md-main" data-md-component="main"> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" > <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0"> <label class="md-nav__title" for="__drawer"> <a href="../.." title="mergerfs" class="md-nav__button md-logo" aria-label="mergerfs" data-md-component="logo"> <img src="../../logo.jpeg" alt="logo">
</a> mergerfs </label> <div class="md-nav__source"> <a href="https://github.com/trapexit/mergerfs" title="Go to repository" class="md-source" data-md-component="source"> <div class="md-source__icon md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg> </div> <div class="md-source__repository"> mergerfs </div> </a> </div> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../.." class="md-nav__link"> <span class="md-ellipsis"> Home </span>
</a> </li>
<li class="md-nav__item"> <a href="../../quickstart/" class="md-nav__link"> <span class="md-ellipsis"> QuickStart </span>
</a> </li>
<li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" > <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0"> <span class="md-ellipsis"> Installation </span>
<span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3"> <span class="md-nav__icon md-icon"></span> Installation </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../setup/installation/" class="md-nav__link"> <span class="md-ellipsis"> Installation </span>
</a> </li>
<li class="md-nav__item"> <a href="../../setup/upgrade/" class="md-nav__link"> <span class="md-ellipsis"> Upgrade </span>
</a> </li>
<li class="md-nav__item"> <a href="../../setup/build/" class="md-nav__link"> <span class="md-ellipsis"> Build </span>
</a> </li>
</ul> </nav> </li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked> <label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0"> <span class="md-ellipsis"> Config </span>
<span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true"> <label class="md-nav__title" for="__nav_4"> <span class="md-nav__icon md-icon"></span> Config </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../terminology/" class="md-nav__link"> <span class="md-ellipsis"> Terminology </span>
</a> </li>
<li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc"> <label class="md-nav__link md-nav__link--active" for="__toc"> <span class="md-ellipsis"> Options </span>
<span class="md-nav__icon md-icon"></span> </label> <a href="./" class="md-nav__link md-nav__link--active"> <span class="md-ellipsis"> Options </span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class="md-nav__title" for="__toc"> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> <li class="md-nav__item"> <a href="#types" class="md-nav__link"> <span class="md-ellipsis"> types </span> </a> </li> <li class="md-nav__item"> <a href="#mount-options" class="md-nav__link"> <span class="md-ellipsis"> mount options </span> </a> </li> </ul> </nav> </li>
<li class="md-nav__item"> <a href="../deprecated_options/" class="md-nav__link"> <span class="md-ellipsis"> Deprecated Options </span>
</a> </li>
<li class="md-nav__item"> <a href="../branches/" class="md-nav__link"> <span class="md-ellipsis"> branches </span>
</a> </li>
<li class="md-nav__item"> <a href="../functions_categories_and_policies/" class="md-nav__link"> <span class="md-ellipsis"> functions, categories and policies </span>
</a> </li>
<li class="md-nav__item"> <a href="../func_readdir/" class="md-nav__link"> <span class="md-ellipsis"> func.readdir </span>
</a> </li>
<li class="md-nav__item"> <a href="../cache/" class="md-nav__link"> <span class="md-ellipsis"> caching </span>
</a> </li>
<li class="md-nav__item"> <a href="../ioctl/" class="md-nav__link"> <span class="md-ellipsis"> ioctl </span>
</a> </li>
<li class="md-nav__item"> <a href="../rename_and_link/" class="md-nav__link"> <span class="md-ellipsis"> rename and link </span>
</a> </li>
<li class="md-nav__item"> <a href="../statfs/" class="md-nav__link"> <span class="md-ellipsis"> statfs / statvfs </span>
</a> </li>
<li class="md-nav__item"> <a href="../flush-on-close/" class="md-nav__link"> <span class="md-ellipsis"> flush-on-close </span>
</a> </li>
</ul> </nav> </li>
<li class="md-nav__item"> <a href="../../error_handling/" class="md-nav__link"> <span class="md-ellipsis"> Error Handling </span>
</a> </li>
<li class="md-nav__item"> <a href="../../runtime_interfaces/" class="md-nav__link"> <span class="md-ellipsis"> Runtime Interfaces </span>
</a> </li>
<li class="md-nav__item"> <a href="../../remote_filesystems/" class="md-nav__link"> <span class="md-ellipsis"> Remote Filesystems </span>
</a> </li>
<li class="md-nav__item"> <a href="../../tips_notes/" class="md-nav__link"> <span class="md-ellipsis"> Tips and Notes </span>
</a> </li>
<li class="md-nav__item"> <a href="../../known_issues_bugs/" class="md-nav__link"> <span class="md-ellipsis"> Known Issues and Bugs </span>
</a> </li>
<li class="md-nav__item"> <a href="../../project_comparisons/" class="md-nav__link"> <span class="md-ellipsis"> Project Comparisons </span>
</a> </li>
<li class="md-nav__item"> <a href="../../performance/" class="md-nav__link"> <span class="md-ellipsis"> Tweaking Performance </span>
</a> </li>
<li class="md-nav__item"> <a href="../../benchmarking/" class="md-nav__link"> <span class="md-ellipsis"> Benchmarking </span>
</a> </li>
<li class="md-nav__item"> <a href="../../tooling/" class="md-nav__link"> <span class="md-ellipsis"> Tooling </span>
</a> </li>
<li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" > <label class="md-nav__link" for="__nav_14" id="__nav_14_label" tabindex="0"> <span class="md-ellipsis"> FAQ </span>
<span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_14_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_14"> <span class="md-nav__icon md-icon"></span> FAQ </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../faq/compatibility_and_integration/" class="md-nav__link"> <span class="md-ellipsis"> Compatibility and Integration </span>
</a> </li>
<li class="md-nav__item"> <a href="../../faq/configuration_and_policies/" class="md-nav__link"> <span class="md-ellipsis"> Configuration and Policies </span>
</a> </li>
<li class="md-nav__item"> <a href="../../faq/general_information_and_overview/" class="md-nav__link"> <span class="md-ellipsis"> General Information and Overview </span>
</a> </li>
<li class="md-nav__item"> <a href="../../faq/recommendations_and_warnings/" class="md-nav__link"> <span class="md-ellipsis"> Recommendations and Warnings </span>
</a> </li>
<li class="md-nav__item"> <a href="../../faq/technical_behavior_and_limitations/" class="md-nav__link"> <span class="md-ellipsis"> Technical Behavior and Limitations </span>
</a> </li>
<li class="md-nav__item"> <a href="../../faq/usage_and_functionality/" class="md-nav__link"> <span class="md-ellipsis"> Usage and Functionality </span>
</a> </li>
<li class="md-nav__item"> <a href="../../faq/limit_drive_spinup/" class="md-nav__link"> <span class="md-ellipsis"> Limit drive spinup </span>
</a> </li>
</ul> </nav> </li>
<li class="md-nav__item"> <a href="../../related_projects/" class="md-nav__link"> <span class="md-ellipsis"> Related Projects </span>
</a> </li>
<li class="md-nav__item"> <a href="../../media_and_publicity/" class="md-nav__link"> <span class="md-ellipsis"> Media and Publicity </span>
</a> </li>
<li class="md-nav__item"> <a href="../../support/" class="md-nav__link"> <span class="md-ellipsis"> Support </span>
</a> </li>
<li class="md-nav__item"> <a href="../../donations/" class="md-nav__link"> <span class="md-ellipsis"> Donations </span>
</a> </li>
</ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" > <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class="md-nav__title" for="__toc"> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> <li class="md-nav__item"> <a href="#types" class="md-nav__link"> <span class="md-ellipsis"> types </span> </a> </li> <li class="md-nav__item"> <a href="#mount-options" class="md-nav__link"> <span class="md-ellipsis"> mount options </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-content" data-md-component="content"> <article class="md-content__inner md-typeset">
<a href="https://github.com/trapexit/mergerfs/tree/master/mkdocs/docs/config/options.md" title="Edit this page" class="md-content__button md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4zm10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1z"/></svg> </a>
<h1 id="options">Options</h1> <p>These options are the same regardless of whether you use them with the <code>mergerfs</code> commandline program, in fstab, or in a config file.</p> <h3 id="types">types</h3> <ul> <li>BOOL = 'true' | 'false'</li> <li>INT = [MIN_INT,MAX_INT]</li> <li>UINT = [0,MAX_INT]</li> <li>SIZE = 'NNM'; NN = INT, M = 'K' | 'M' | 'G' | 'T'</li> <li>STR = string (may refer to an enumerated value, see details of argument)</li> <li>FUNC = filesystem function</li> <li>CATEGORY = function category</li> <li>POLICY = mergerfs function policy</li> </ul> <h3 id="mount-options">mount options</h3> <ul> <li><strong>config</strong>: Path to a config file. Same arguments as below in key=val / ini style format.</li> <li><strong>branches</strong>: Colon delimited list of branches.</li> <li><strong>minfreespace=SIZE</strong>: The minimum space value used for creation policies. Can be overridden by branch specific option. Understands 'K', 'M', and 'G' to represent kilobyte, megabyte, and gigabyte respectively. (default: 4G)</li> <li><strong>moveonenospc=BOOL|POLICY</strong>: When enabled if a <strong>write</strong> fails with <strong>ENOSPC</strong> (no space left on device) or <strong>EDQUOT</strong> (disk quota exceeded) the policy selected will run to find a new location for the file. An attempt to move the file to that branch will occur (keeping all metadata possible) and if successful the original is unlinked and the write retried. (default: false, true = mfs)</li> <li><strong>inodecalc=passthrough|path-hash|devino-hash|hybrid-hash</strong>: Selects the inode calculation algorithm. (default: hybrid-hash)</li> <li><strong>dropcacheonclose=BOOL</strong>: When a file is requested to be closed call <code>posix_fadvise</code> on it first to instruct the kernel that we no longer need the data and it can drop its cache. Recommended when <strong>cache.files=partial|full|auto-full|per-process</strong> to limit double caching. (default: false)</li> <li><strong>direct-io-allow-mmap=BOOL</strong>: On newer kernels (>= 6.6) it is possible to disable file page caching while still allowing for shared mmap support. mergerfs will enable this feature if available but an option is provided to turn it off for testing and debugging purposes. (default: true)</li> <li><strong>symlinkify=BOOL</strong>: When enabled and a file is not writable and its mtime or ctime is older than <strong>symlinkify_timeout</strong> files will be reported as symlinks to the original files. Please read more below before using. (default: false)</li> <li><strong>symlinkify_timeout=UINT</strong>: Time to wait, in seconds, to activate the <strong>symlinkify</strong> behavior. (default: 3600)</li> <li><strong>nullrw=BOOL</strong>: Turns reads and writes into no-ops. The request will succeed but do nothing. Useful for benchmarking mergerfs. (default: false)</li> <li><strong>lazy-umount-mountpoint=BOOL</strong>: mergerfs will attempt to "lazy umount" the mountpoint before mounting itself. Useful when performing live upgrades of mergerfs. (default: false)</li> <li><strong>ignorepponrename=BOOL</strong>: Ignore path preserving on rename. Typically rename and link act differently depending on the policy of <code>create</code> (read below). Enabling this will cause rename and link to always use the non-path preserving behavior. This means files, when renamed or linked, will stay on the same filesystem. (default: false)</li> <li><strong>export-support=BOOL</strong>: Sets a low-level FUSE feature intended to indicate the filesystem can support being exported via NFS. (default: true)</li> <li><strong>security_capability=BOOL</strong>: If false return ENOATTR when xattr security.capability is queried. (default: true)</li> <li><strong>xattr=passthrough|noattr|nosys</strong>: Runtime control of xattrs. Default is to passthrough xattr requests. 'noattr' will short circuit as if nothing exists. 'nosys' will respond with ENOSYS as if xattrs are not supported or disabled. (default: passthrough)</li> <li><strong>link_cow=BOOL</strong>: When enabled if a regular file is opened which has a link count > 1 it will copy the file to a temporary file and rename over the original. Breaking the link and providing a basic copy-on-write function similar to cow-shell. (default: false)</li> <li><strong>statfs=base|full</strong>: Controls how statfs works. 'base' means it will always use all branches in statfs calculations. 'full' is in effect path preserving and only includes branches where the path exists. (default: base)</li> <li><strong>statfs_ignore=none|ro|nc</strong>: 'ro' will cause statfs calculations to ignore available space for branches mounted or tagged as 'read-only' or 'no create'. 'nc' will ignore available space for branches tagged as 'no create'. (default: none)</li> <li><strong>nfsopenhack=off|git|all</strong>: A workaround for exporting mergerfs over NFS where there are issues with creating files for write while setting the mode to read-only. (default: off)</li> <li><strong>branches-mount-timeout=UINT</strong>: Number of seconds to wait at startup for branches to be a mount other than the mountpoint's filesystem. (default: 0)</li> <li><strong>follow-symlinks=never|directory|regular|all</strong>: Turns symlinks into what they point to. (default: never)</li> <li><strong>link-exdev=passthrough|rel-symlink|abs-base-symlink|abs-pool-symlink</strong>: When a link fails with EXDEV optionally create a symlink to the file instead.</li> <li><strong>rename-exdev=passthrough|rel-symlink|abs-symlink</strong>: When a rename fails with EXDEV optionally move the file to a special directory and symlink to it.</li> <li><strong>readahead=UINT</strong>: Set readahead (in kilobytes) for mergerfs and branches if greater than 0. (default: 0)</li> <li><strong>posix_acl=BOOL</strong>: Enable POSIX ACL support (if supported by kernel and underlying filesystem). (default: false)</li> <li><strong>async_read=BOOL</strong>: Perform reads asynchronously. If disabled or unavailable the kernel will ensure there is at most one pending read request per file handle and will attempt to order requests by offset. (default: true)</li> <li><strong>fuse_msg_size=UINT</strong>: Set the max number of pages per FUSE message. Only available on Linux >= 4.20 and ignored otherwise. (min: 1; max: 256; default: 256)</li> <li><strong>threads=INT</strong>: Number of threads to use. When used alone (<code>process-thread-count=-1</code>) it sets the number of threads reading and processing FUSE messages. When used together it sets the number of threads reading from FUSE. When set to zero it will attempt to discover and use the number of logical cores. If the thread count is set negative it will look up the number of cores then divide by the absolute value. ie. threads=-2 on an 8 core machine will result in 8 / 2 = 4 threads. There will always be at least 1 thread. If set to -1 in combination with <code>process-thread-count</code> then it will try to pick reasonable values based on CPU thread count. NOTE: higher number of threads increases parallelism but usually decreases throughput. (default: 0)</li> <li><strong>read-thread-count=INT</strong>: Alias for <code>threads</code>.</li> <li><strong>process-thread-count=INT</strong>: Enables separate thread pool to asynchronously process FUSE requests. In this mode <code>read-thread-count</code> refers to the number of threads reading FUSE messages which are dispatched to process threads. -1 means disabled otherwise acts like <code>read-thread-count</code>. (default: -1)</li> <li><strong>process-thread-queue-depth=UINT</strong>: Sets the number of requests any single process thread can have queued up at one time. Meaning the total memory usage of the queues is queue depth multiplied by the number of process threads plus read thread count. 0 sets the depth to the same as the process thread count. (default: 0)</li> <li><strong>pin-threads=STR</strong>: Selects a strategy to pin threads to CPUs (default: unset)</li> <li><strong>flush-on-close=never|always|opened-for-write</strong>: Flush data cache on file close. Mostly for when writeback is enabled or merging network filesystems. (default: opened-for-write)</li> <li><strong>scheduling-priority=INT</strong>: Set mergerfs' scheduling priority. Valid values range from -20 to 19. See <code>setpriority</code> man page for more details. (default: -10)</li> <li><strong>fsname=STR</strong>: Sets the name of the filesystem as seen in <strong>mount</strong>, <strong>df</strong>, etc. Defaults to a list of the source paths concatenated together with the longest common prefix removed.</li> <li><strong>func.FUNC=POLICY</strong>: Sets the specific FUSE function's policy. See below for the list of value types. Example: <strong>func.getattr=newest</strong></li> <li><strong>func.readdir=seq|cosr|cor|cosr:INT|cor:INT</strong>: Sets <code>readdir</code> policy. INT value sets the number of threads to use for concurrency. (default: seq)</li> <li><strong>category.action=POLICY</strong>: Sets policy of all FUSE functions in the action category. (default: epall)</li> <li><strong>category.create=POLICY</strong>: Sets policy of all FUSE functions in the create category. (default: epmfs)</li> <li><strong>category.search=POLICY</strong>: Sets policy of all FUSE functions in the search category. (default: ff)</li> <li><strong>cache.statfs=UINT</strong>: 'statfs' cache timeout in seconds. (default: 0)</li> <li><strong>cache.attr=UINT</strong>: File attribute cache timeout in seconds. (default: 1)</li> <li><strong>cache.entry=UINT</strong>: File name lookup cache timeout in seconds. (default: 1)</li> <li><strong>cache.negative_entry=UINT</strong>: Negative file name lookup cache timeout in seconds. (default: 0)</li> <li><strong>cache.files=libfuse|off|partial|full|auto-full|per-process</strong>: File page caching mode (default: libfuse)</li> <li><strong>cache.files.process-names=LIST</strong>: A pipe | delimited list of process <a href="https://man7.org/linux/man-pages/man5/proc.5.html">comm</a> names to enable page caching for when <code>cache.files=per-process</code>. (default: "rtorrent|qbittorrent-nox")</li> <li><strong>cache.writeback=BOOL</strong>: Enable kernel writeback caching (default: false)</li> <li><strong>cache.symlinks=BOOL</strong>: Cache symlinks (if supported by kernel) (default: false)</li> <li><strong>cache.readdir=BOOL</strong>: Cache readdir (if supported by kernel) (default: false)</li> <li><strong>parallel-direct-writes=BOOL</strong>: Allow the kernel to dispatch multiple, parallel (non-extending) write requests for files opened with <code>cache.files=per-process</code> (if the process is not in <code>process-names</code>) or <code>cache.files=off</code>. (This requires kernel support, and was added in v6.2)</li> </ul> <p><strong>NOTE:</strong> Options are evaluated in the order listed so if the options are <strong>func.rmdir=rand,category.action=ff</strong> the <strong>action</strong> category setting will override the <strong>rmdir</strong> setting.</p> <p><strong>NOTE:</strong> Always look at the documentation for the version of mergerfs you're using. Not all features are available in older releases.</p>
</article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type="button" class="md-top md-icon" data-md-component="top" hidden> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class="md-footer"> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class="md-copyright"> Made with <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener"> Material for MkDocs </a> </div> </div> </div> </footer> </div> <div class="md-dialog" data-md-component="dialog"> <div class="md-dialog__inner md-typeset"></div> </div> <script id="__config" type="application/json">{"base": "../..", "features": ["content.action.edit", "content.code.copy", "content.code.select", "navigation.instant", "navigation.instant.prefetch", "navigation.path", "navigation.top", "navigation.tracking", "optimize", "search.share", "toc.follow"], "search": "../../assets/javascripts/workers/search.6ce7567c.min.js", "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"}}</script> <script src="../../assets/javascripts/bundle.88dd0f4e.min.js"></script> </body> </html>
|