You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1839 lines
40 KiB

<!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/faq/configuration_and_policies/">
<link rel="prev" href="../usage_and_functionality/">
<link rel="next" href="../compatibility_and_integration/">
<link rel="icon" href="../../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.3">
<title>Configuration and Policies - mergerfs</title>
<link rel="stylesheet" href="../../assets/stylesheets/main.d7758b05.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="#configuration-and-policies" 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">
Configuration and Policies
</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.2 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.2 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">
<a href="../../terminology/" class="md-nav__link">
<span class="md-ellipsis">
Terminology
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_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_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<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="../../config/options/" class="md-nav__link">
<span class="md-ellipsis">
Options
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/deprecated_options/" class="md-nav__link">
<span class="md-ellipsis">
Deprecated Options
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/branches/" class="md-nav__link">
<span class="md-ellipsis">
branches
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/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="../../config/func_readdir/" class="md-nav__link">
<span class="md-ellipsis">
func.readdir
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/rename_and_link/" class="md-nav__link">
<span class="md-ellipsis">
rename and link
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/cache/" class="md-nav__link">
<span class="md-ellipsis">
caching
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/readahead/" class="md-nav__link">
<span class="md-ellipsis">
readahead
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/inodecalc/" class="md-nav__link">
<span class="md-ellipsis">
inodecalc
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/threads/" class="md-nav__link">
<span class="md-ellipsis">
threads
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/pin-threads/" class="md-nav__link">
<span class="md-ellipsis">
pin-threads
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/link_cow/" class="md-nav__link">
<span class="md-ellipsis">
link_cow
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/fuse_msg_size/" class="md-nav__link">
<span class="md-ellipsis">
fuse_msg_size
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/follow-symlinks/" class="md-nav__link">
<span class="md-ellipsis">
follow-symlinks
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/link-exdev/" class="md-nav__link">
<span class="md-ellipsis">
link-exdev
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/rename-exdev/" class="md-nav__link">
<span class="md-ellipsis">
rename-exdev
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/symlinkify/" class="md-nav__link">
<span class="md-ellipsis">
symlinkify
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/nullrw/" class="md-nav__link">
<span class="md-ellipsis">
nullrw
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/xattr/" class="md-nav__link">
<span class="md-ellipsis">
xattr
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/nfsopenhack/" class="md-nav__link">
<span class="md-ellipsis">
nfsopenhack
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/statfs/" class="md-nav__link">
<span class="md-ellipsis">
statfs / statvfs
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/flush-on-close/" class="md-nav__link">
<span class="md-ellipsis">
flush-on-close
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/export-support/" class="md-nav__link">
<span class="md-ellipsis">
export-support
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../error_handling_and_logging/" class="md-nav__link">
<span class="md-ellipsis">
Error Handling and Logging
</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">
<a href="../../usage_patterns/" class="md-nav__link">
<span class="md-ellipsis">
Usage Patterns
</span>
</a>
</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_16" checked>
<label class="md-nav__link" for="__nav_16" id="__nav_16_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_16_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_16">
<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="../reliability_and_scalability/" class="md-nav__link">
<span class="md-ellipsis">
Reliability and Scalability
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../usage_and_functionality/" class="md-nav__link">
<span class="md-ellipsis">
Usage and Functionality
</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">
Configuration and Policies
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Configuration and Policies
</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="#what-settings-should-i-use" class="md-nav__link">
<span class="md-ellipsis">
What settings should I use?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#how-can-i-ensure-files-are-collocated-on-the-same-branch" class="md-nav__link">
<span class="md-ellipsis">
How can I ensure files are collocated on the same branch?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#how-can-i-balance-files-across-the-pool" class="md-nav__link">
<span class="md-ellipsis">
How can I balance files across the pool?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#why-are-all-my-files-ending-up-on-1-filesystem" class="md-nav__link">
<span class="md-ellipsis">
Why are all my files ending up on 1 filesystem?!
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../compatibility_and_integration/" class="md-nav__link">
<span class="md-ellipsis">
Compatibility and Integration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../recommendations_and_warnings/" class="md-nav__link">
<span class="md-ellipsis">
Recommendations and Warnings
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../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="../limit_drive_spinup/" class="md-nav__link">
<span class="md-ellipsis">
Limiting 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="../../sponsorship_and_donations/" class="md-nav__link">
<span class="md-ellipsis">
Sponsorship and 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="#what-settings-should-i-use" class="md-nav__link">
<span class="md-ellipsis">
What settings should I use?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#how-can-i-ensure-files-are-collocated-on-the-same-branch" class="md-nav__link">
<span class="md-ellipsis">
How can I ensure files are collocated on the same branch?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#how-can-i-balance-files-across-the-pool" class="md-nav__link">
<span class="md-ellipsis">
How can I balance files across the pool?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#why-are-all-my-files-ending-up-on-1-filesystem" class="md-nav__link">
<span class="md-ellipsis">
Why are all my files ending up on 1 filesystem?!
</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/edit/master/mkdocs/docs/faq/configuration_and_policies.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>
<a href="https://github.com/trapexit/mergerfs/raw/master/mkdocs/docs/faq/configuration_and_policies.md" title="View source of this page" class="md-content__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.2 8.2 0 0 1-1.23-2"/></svg>
</a>
<h1 id="configuration-and-policies">Configuration and Policies</h1>
<h2 id="what-settings-should-i-use">What settings should I use?</h2>
<p>Depends on what features you want. Generally, there are no "good",
"bad", "inefficient", or "optimal" settings. Options are almost
exclusively functional. Meaning they change the behavior of the
software. It is best to read over the available options and choose
what fits your use case. If something is not clear from the
documentation please reach out and the documentation will be improved.</p>
<p>The settings described in the <a href="../../quickstart/">Quick Start</a> are
sufficient for most users.</p>
<p>Filesystems are complex and use cases numerous. There simply is no way
to provide a singular setup that works for all situations. Since
mergerfs <a href="../usage_and_functionality/">does not impact</a> the underlying
filesystems and can be added or removed without any impact it is
extremely easy to test and experiment with different settings.</p>
<h2 id="how-can-i-ensure-files-are-collocated-on-the-same-branch">How can I ensure files are collocated on the same branch?</h2>
<p>Many people like the idea of ensuring related files, such as all the
files to a TV show season or songs in an album, are stored on the same
storage device. However, most people have no actual need for this
behavior.</p>
<ol>
<li>If you backup your data it is extremely likely your backup solution
can restore only those files you are missing.</li>
<li>Software such as <strong>Sonarr</strong> can manage the downloading and post
processing of bespoke episodes which may be missing in a
season. Either by downloading the episode individually if available
or by downloading a full season.</li>
<li>There is no benefit to keeping files collocated with regard to
drive spinup, caching, or other secondary concern.</li>
</ol>
<p>The main use case for wanting collocation is where the branch is going
to be removed from the pool and you wish to have all data from some
logical set on that device. Such as you intend to take a drive out of
the pool to take on a trip and want a whole show on the
drive. However, even in these situations you typically end up needing
to curate the files anyway because it has show A but not show B.</p>
<p>All that said you can accomplish collocation to varying degrees using
the following methods:</p>
<ol>
<li>Use
<a href="https://github.com/trapexit/mergerfs-tools/blob/master/src/mergerfs.consolidate">mergerfs.consolidate</a>
when consolidation is needed.</li>
<li>Use a <code>msp</code> create policy.</li>
<li>Use <code>epmfs</code> or other <code>ep</code> create policy and manually create paths
on the branches directly.</li>
<li>Use a <code>ep</code> <code>create</code> policy and <code>rand</code> for <code>mkdir</code>.</li>
</ol>
<h2 id="how-can-i-balance-files-across-the-pool">How can I balance files across the pool?</h2>
<p>Similar to collocation there is generally little reason to balance
files.</p>
<ol>
<li>Since prediction of a filesystem's death or loss of data is near
impossible there is little reason to balance in hopes of limiting
data loss.</li>
<li>While performance could be impacted by having too much reading or
writing happen to singular underlying filesystems balancing won't
help unless you have the ability to manage the access patterns to
the pool.</li>
<li>Over time most configurations will lead to a random distribution of
files across the branches which is effectively "balancing."</li>
</ol>
<p>If you wish to move files around or balance the pool you can:</p>
<ol>
<li>Use <code>rand</code> or <code>pfrd</code> create policies and just use your system as
normal.</li>
<li>Write simple scripts using rsync or similar to move files around as
you wish.</li>
<li>Use
<a href="https://github.com/trapexit/mergerfs-tools/blob/master/src/mergerfs.balance">mergerfs.balance</a>. Keep
in mind that this tool is really just an example of how to
accomplish such a task.</li>
</ol>
<h2 id="why-are-all-my-files-ending-up-on-1-filesystem">Why are all my files ending up on 1 filesystem?!</h2>
<p>Did you start with empty filesystems? Did you explicitly configure a
<code>category.create</code> policy? Are you using an <code>existing path</code> / <code>path
preserving</code> policy?</p>
<p>The default create policy is <code>epmfs</code>. That is a path preserving
algorithm. With such a policy for <code>mkdir</code> and <code>create</code> with a set of
empty filesystems it will select only 1 filesystem when the first
directory is created. Anything, files or directories, created in that
directory will be placed on the same branch because it is preserving
paths.</p>
<p>This may catch new users off guard but this policy is the safest
policy to start with as it will not change the general layout of the
underlying filesystems. If you do not care about path preservation
(most shouldn't) and wish your files to be spread across all your
filesystems change to <code>rand</code>, <code>pfrd</code>, <code>mfs</code> or similar
<a href="../../config/functions_categories_and_policies/">policy</a>. If you do
want path preservation you'll need to perform the manual act of
creating paths on the filesystems you want the data to land on before
writing said data.</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">
<nav class="md-footer__inner md-grid" aria-label="Footer" >
<a href="../usage_and_functionality/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Usage and Functionality">
<div class="md-footer__button md-icon">
<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>
</div>
<div class="md-footer__title">
<span class="md-footer__direction">
Previous
</span>
<div class="md-ellipsis">
Usage and Functionality
</div>
</div>
</a>
<a href="../compatibility_and_integration/" class="md-footer__link md-footer__link--next" aria-label="Next: Compatibility and Integration">
<div class="md-footer__title">
<span class="md-footer__direction">
Next
</span>
<div class="md-ellipsis">
Compatibility and Integration
</div>
</div>
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg>
</div>
</a>
</nav>
<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.action.view", "content.code.copy", "content.code.select", "navigation.footer", "navigation.instant", "navigation.instant.prefetch", "navigation.path", "navigation.top", "navigation.tracking", "optimize", "search.share", "toc.follow"], "search": "../../assets/javascripts/workers/search.f8cc74c7.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.f1b6f286.min.js"></script>
</body>
</html>