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.
 
 
 
 

2303 lines
56 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/why_isnt_it_working/">
<link rel="prev" href="../../usage_patterns/">
<link rel="next" href="../reliability_and_scalability/">
<link rel="icon" href="../../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.12">
<title>"Why isn't it working?" - mergerfs</title>
<link rel="stylesheet" href="../../assets/stylesheets/main.2afb09e1.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="#why-isnt-it-working" 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.png" 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">
"Why isn't it working?"
</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>
<div class="md-search__suggest" data-md-component="search-suggest"></div>
</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.png" 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">
<a href="../../intro_to_filesystems/" class="md-nav__link">
<span class="md-ellipsis">
Intro to Filesystems
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_6" id="__nav_6_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_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<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/branches_mount_timeout/" class="md-nav__link">
<span class="md-ellipsis">
branches-mount-timeout
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/functions_categories_policies/" class="md-nav__link">
<span class="md-ellipsis">
functions, categories and policies
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../config/minfreespace/" class="md-nav__link">
<span class="md-ellipsis">
minfreespace
</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/moveonenospc/" class="md-nav__link">
<span class="md-ellipsis">
moveonenospc
</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_17" checked>
<label class="md-nav__link" for="__nav_17" id="__nav_17_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_17_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_17">
<span class="md-nav__icon md-icon"></span>
FAQ
</label>
<ul class="md-nav__list" data-md-scrollfix>
<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">
"Why isn't it working?"
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
"Why isn't it working?"
</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="#i-modified-mergerfs-config-but-it-still-behaves-the-same" class="md-nav__link">
<span class="md-ellipsis">
I modified mergerfs' config but it still behaves the same.
</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>
<li class="md-nav__item">
<a href="#why-do-i-get-an-out-of-space-no-space-left-on-device-enospc-error-even-though-there-appears-to-be-lots-of-space-available" class="md-nav__link">
<span class="md-ellipsis">
Why do I get an "out of space" / "no space left on device" / ENOSPC error even though there appears to be lots of space available?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#why-isnt-the-create-policy-working" class="md-nav__link">
<span class="md-ellipsis">
Why isn't the create policy working?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#why-cant-i-see-my-files-directories" class="md-nav__link">
<span class="md-ellipsis">
Why can't I see my files / directories?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#why-are-file-moves-renames-linkshardlinks-failing" class="md-nav__link">
<span class="md-ellipsis">
Why are file moves, renames, links/hardlinks failing?
</span>
</a>
<nav class="md-nav" aria-label="Why are file moves, renames, links/hardlinks failing?">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#docker-podman-and-other-container-runtimes" class="md-nav__link">
<span class="md-ellipsis">
Docker, Podman, and other container runtimes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#path-preserving-create-policies" class="md-nav__link">
<span class="md-ellipsis">
Path-Preserving Create Policies
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#poorly-written-software" class="md-nav__link">
<span class="md-ellipsis">
Poorly written software
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#additional-reading" class="md-nav__link">
<span class="md-ellipsis">
Additional Reading
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#why-is-rtorrent-failing-with-enodev-no-such-device" class="md-nav__link">
<span class="md-ellipsis">
Why is rtorrent failing with ENODEV (No such device)?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#why-dont-i-see-mergerfs-options-in-mount-command-or-procmounts" class="md-nav__link">
<span class="md-ellipsis">
Why don't I see mergerfs options in mount command or /proc/mounts?
</span>
</a>
</li>
</ul>
</nav>
</li>
<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">
<a href="../configuration_and_policies/" class="md-nav__link">
<span class="md-ellipsis">
Configuration and Policies
</span>
</a>
</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="../have_you_considered/" class="md-nav__link">
<span class="md-ellipsis">
"Have You Considered?"
</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="#i-modified-mergerfs-config-but-it-still-behaves-the-same" class="md-nav__link">
<span class="md-ellipsis">
I modified mergerfs' config but it still behaves the same.
</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>
<li class="md-nav__item">
<a href="#why-do-i-get-an-out-of-space-no-space-left-on-device-enospc-error-even-though-there-appears-to-be-lots-of-space-available" class="md-nav__link">
<span class="md-ellipsis">
Why do I get an "out of space" / "no space left on device" / ENOSPC error even though there appears to be lots of space available?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#why-isnt-the-create-policy-working" class="md-nav__link">
<span class="md-ellipsis">
Why isn't the create policy working?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#why-cant-i-see-my-files-directories" class="md-nav__link">
<span class="md-ellipsis">
Why can't I see my files / directories?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#why-are-file-moves-renames-linkshardlinks-failing" class="md-nav__link">
<span class="md-ellipsis">
Why are file moves, renames, links/hardlinks failing?
</span>
</a>
<nav class="md-nav" aria-label="Why are file moves, renames, links/hardlinks failing?">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#docker-podman-and-other-container-runtimes" class="md-nav__link">
<span class="md-ellipsis">
Docker, Podman, and other container runtimes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#path-preserving-create-policies" class="md-nav__link">
<span class="md-ellipsis">
Path-Preserving Create Policies
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#poorly-written-software" class="md-nav__link">
<span class="md-ellipsis">
Poorly written software
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#additional-reading" class="md-nav__link">
<span class="md-ellipsis">
Additional Reading
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#why-is-rtorrent-failing-with-enodev-no-such-device" class="md-nav__link">
<span class="md-ellipsis">
Why is rtorrent failing with ENODEV (No such device)?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#why-dont-i-see-mergerfs-options-in-mount-command-or-procmounts" class="md-nav__link">
<span class="md-ellipsis">
Why don't I see mergerfs options in mount command or /proc/mounts?
</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/why_isnt_it_working.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/why_isnt_it_working.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="why-isnt-it-working">"Why isn't it working?"</h1>
<h2 id="i-modified-mergerfs-config-but-it-still-behaves-the-same">I modified mergerfs' config but it still behaves the same.</h2>
<p>mergerfs, like other filesystems, are given their options/arguments at
mount time. You can not simply modify the <a href="../../quickstart/#usage">source of the
configuration</a> and have those settings applied
any more than you would for other filesystems. It is the user's
responsibility to <a href="../../setup/upgrade/">restart</a> mergerfs to pick up
the changes or use the <a href="../../runtime_interfaces/">runtime interface</a>.</p>
<p>NOTE: the <a href="../../runtime_interfaces/">runtime interface</a> is <strong>just</strong>
for runtime changes. It does <strong>NOT</strong> save those changed values
anywhere.</p>
<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? Are you using an <code>existing path</code>
policy such as <code>epmfs</code>?</p>
<p>If starting with a set of empty filesystems such a policy will select
only 1 filesystem when the first directory is created. Anything
created in that directory will be placed on the same branch because
that is the point of such a policy. That is the expected behavior.</p>
<p>This may catch users off guard but the point of those <code>existing path</code>
policies is to preserve the directory layout and you need to consider
what that means one event at a time.</p>
<p>To "fix" this situation change the policy. Most users <a href="../configuration_and_policies/#how-can-i-ensure-files-are-collocated-on-the-same-branch">have little
reason</a>
to use such a policy. See the <a href="../../quickstart/">quick start guide</a>
and <a href="../configuration_and_policies/">FAQ</a> for policy recommendations.</p>
<h2 id="why-do-i-get-an-out-of-space-no-space-left-on-device-enospc-error-even-though-there-appears-to-be-lots-of-space-available">Why do I get an "out of space" / "no space left on device" / ENOSPC error even though there appears to be lots of space available?</h2>
<p>First make sure you've read the sections about <a href="../../config/functions_categories_policies/">policies, path
preservation, branch
filtering,</a> and the
options <a href="../../config/minfreespace/">minfreespace</a>,
<a href="../../config/moveonenospc/">moveonenospc</a>,
<a href="../../config/statfs/">statfs</a>, and
<a href="../../config/statfs/#statfs_ignore">statfs_ignore</a>.</p>
<p>mergerfs is simply presenting a union of the content within multiple
branches. The reported free space is an aggregate of space available
within the pool (behavior modified by <code>statfs</code> and
<code>statfs_ignore</code>). It does not represent a contiguous space. In the
same way that read-only filesystems, those with quotas, or reserved
space report the full theoretical space available. Not the practical
usable space.</p>
<p>Due to using an <code>existing path</code> based policy, setting a <a href="../../config/branches/#branch-mode">branch's
mode</a> to <code>NC</code> or <code>RO</code>, a
filesystems read-only status, and/or <code>minfreespace</code> setting it is
<a href="../../config/functions_categories_policies/#filtering">perfectly
valid</a> that
<code>ENOSPC</code> / "out of space" / "no space left on device" be returned when
attempting to create a file despite there being actual space available
somewhere in the pool. It is doing what was asked of it: filtering
possible branches due to those settings. If that is not the behavior
you want you need to modify the settings accordingly.</p>
<p>It is also possible that the filesystem selected has run out of
inodes. Use <code>df -i</code> to list the total and available inodes per
filesystem.</p>
<h2 id="why-isnt-the-create-policy-working">Why isn't the create policy working?</h2>
<p>It probably is. The policies rather straight forward and well tested.</p>
<p>First, confirm the policy is configured as expected by using the
<a href="../../runtime_interfaces/">runtime interface</a>.</p>
<div class="language-shell highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>$<span class="w"> </span>getfattr<span class="w"> </span>-n<span class="w"> </span>user.mergerfs.category.create<span class="w"> </span>/mnt/mergerfs/.mergerfs
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="c1"># file: mnt/mergerfs/.mergerfs</span>
</span><span id="__span-0-3"><a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a>user.mergerfs.category.create<span class="o">=</span><span class="s2">&quot;mfs&quot;</span>
</span></code></pre></div>
<p>Second, as discussed in the <a href="../../support/">support</a> section, test the
behavior using simple command line tools such as <code>touch</code> and then see
where it was created.</p>
<div class="language-shell highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>$<span class="w"> </span>touch<span class="w"> </span>/mnt/mergerfs/new-file
</span><span id="__span-1-2"><a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a>$<span class="w"> </span>getfattr<span class="w"> </span>-n<span class="w"> </span>user.mergerfs.allpaths<span class="w"> </span>/mnt/mergerfs/new-file
</span><span id="__span-1-3"><a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="c1"># file: mnt/mergerfs/new-file</span>
</span><span id="__span-1-4"><a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a>user.mergerfs.allpaths<span class="o">=</span><span class="s2">&quot;/mnt/hdd/drive1/new-file&quot;</span>
</span></code></pre></div>
<p>If the location of the file is where it should be according to the
state of the system at the time and the policy selected then the
"problem" lies elsewhere.</p>
<p><a href="../technical_behavior_and_limitations/#how-does-mergerfs-handle-moving-and-copying-of-files">Keep in
mind</a>
that files, when created, have no size. If a number of files are
created at the same time, for example by a program downloading
numerous files like a BitTorrent client, then depending on the policy
the files could be created on the same branch. As the files are
written to, or resized immediately afterwards to the total size of the
file being downloaded, the files will take up more space but there is
no mechanism to move them as they grow. Nor would it be a good idea to
do so as it would be expensive to continuously calculate their size
and perform the move while the file is still being written to. As such
an imbalance will occur that wouldn't if the files had been created
and resized one at a time.</p>
<p>If you wish to reduce the likelihood of this happening a policy that
does not make decisions on available space alone such as <code>pfrd</code> or
<code>rand</code> should be used.</p>
<h2 id="why-cant-i-see-my-files-directories">Why can't I see my files / directories?</h2>
<p>It's almost always a permissions issue. Unlike mhddfs and
unionfs-fuse, which accesses content as root, mergerfs always changes
its credentials to that of the caller. This is done as it is the only
properly secure way to manage permissions. This means that if the user
does not have access to a file or directory than neither will
mergerfs. However, because mergerfs is creating a union of paths it
may be able to read some files and directories on one filesystem but
not another resulting in an incomplete set. And if one of the branches
it can access is empty then it will return an empty list.</p>
<p>Try using <a href="https://github.com/trapexit/mergerfs-tools">mergerfs.fsck</a>
tool to check for and fix inconsistencies in permissions. If you
aren't seeing anything at all be sure that the basic permissions are
correct. The user and group values are correct and that directories
have their executable bit set. A common mistake by users new to Linux
is to <code>chmod -R 644</code> when they should have <code>chmod -R u=rwX,go=rX</code>.</p>
<p>If using a <a href="../../remote_filesystems/">network filesystem</a> such as NFS
or SMB (Samba) be sure to pay close attention to anything regarding
permissioning and users. Root squashing and user translation for
instance has bitten a few mergerfs users. Some of these also affect
the use of mergerfs from <a href="../compatibility_and_integration/">container platforms such as
Docker.</a></p>
<h2 id="why-are-file-moves-renames-linkshardlinks-failing">Why are file moves, renames, links/hardlinks failing?</h2>
<p>mergerfs fully supports rename and link functions to the degree that
is possible in a union filesystem. Problems related to rename and link
are almost exclusively due to incorrect setup of software or poorly
written software.</p>
<h3 id="docker-podman-and-other-container-runtimes">Docker, Podman, and other container runtimes</h3>
<p>Keep in mind that <a href="../../config/rename_and_link/">rename and link</a> will
<strong>NOT</strong> work across devices. That includes between the original
filesystem and a mergerfs pool, between two separate pools of the same
underlying filesystems, or bind mounts of paths within the mergerfs
pool. The latter is common when using Docker, Podman, or other
container runtimes. Multiple volumes (bind mounts) to the same
underlying filesystem are considered different devices. There is no
way to link or rename between them despite them binding to the same
underlying filesystem. Neither mergerfs or any other filesystem has a
say in this behavior as the kernel is erroring out before the request
even gets to the filesystems in question.</p>
<p>To work around this situation the highest directory in the mergerfs
pool that includes all the paths you need is what should be bind'ed
into the container if you want links and rename to work between the
paths in question.</p>
<p>This is a common problem for users of Radarr, Sonarr, Lidarr,
etc. when they use the default volume mount options suggested by
projects like
<a href="https://docs.linuxserver.io/images/docker-radarr/?h=radarr#docker-compose-recommended-click-here-for-more-info">LinuxServer.io</a>. Do
not use separate "movies" and "downloads" volumes.</p>
<div class="language-text highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a># NO
</span><span id="__span-2-2"><a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a>volumes:
</span><span id="__span-2-3"><a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a> - /mnt/pool/movies:/movies
</span><span id="__span-2-4"><a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a> - /mnt/pool/downloads:/downloads
</span><span id="__span-2-5"><a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a>
</span><span id="__span-2-6"><a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a># YES
</span><span id="__span-2-7"><a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a>volumes:
</span><span id="__span-2-8"><a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a> - /mnt/pool:/media
</span><span id="__span-2-9"><a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-9"></a># Then use /media/movies and /media/downloads in your software.
</span></code></pre></div>
<h3 id="path-preserving-create-policies">Path-Preserving Create Policies</h3>
<p>As described in the <a href="../../config/rename_and_link/">rename and link</a>
docs if a path-preserving create
<a href="../../config/functions_categories_policies/">policy</a> is configured
then mergerfs, in order to follow that restrictive policy, must return
an error
(<a href="https://man7.org/linux/man-pages/man2/rename.2.html">EXDEV</a>) if the
target path of a rename or link is not found on the target branch.</p>
<div class="language-text highlight"><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>EXDEV oldpath and newpath are not on the same mounted filesystem.
</span><span id="__span-3-2"><a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a> (Linux permits a filesystem to be mounted at multiple
</span><span id="__span-3-3"><a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a> points, but rename() does not work across different mount
</span><span id="__span-3-4"><a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a> points, even if the same filesystem is mounted on both.)
</span></code></pre></div>
<p><a href="../configuration_and_policies/#how-can-i-ensure-files-are-collocated-on-the-same-branch">Most
users</a>
do not have a need for path-preserving policies but if you intend on
using path-preserving policies you must accept that <code>EXDEV</code> errors are
more likely to occur. You could enable
<a href="../../config/options/">ignorepponrename</a> however doing so would
contradict the intention of using a path restrictive policy.</p>
<h3 id="poorly-written-software">Poorly written software</h3>
<p>There are some pieces of software that do not properly handle <code>EXDEV</code>
errors which <code>rename</code> and <code>link</code> may return even though they are
perfectly valid situations and do not indicate actual device,
filesystem, or OS problems. The error will rarely be returned by
mergerfs if using a non-path preserving
<a href="../../config/functions_categories_policies/">policy</a> however there are
edge cases where it may (such as mounting another filesystem into the
mergerfs pool.) If you do not care about path preservation set the
mergerfs policy to the non-path preserving variant. For example: <code>-o
category.create=pfrd</code>. Ideally the offending software would be fixed
and it is recommended that if you run into this problem you contact
the software's author and request proper handling of <code>EXDEV</code> errors.</p>
<h3 id="additional-reading">Additional Reading</h3>
<ul>
<li><a href="../../config/rename_and_link/">rename and link</a></li>
<li><a href="../technical_behavior_and_limitations/#do-hardlinks-work">Do hardlinks work?</a></li>
<li><a href="../technical_behavior_and_limitations/#how-does-mergerfs-handle-moving-and-copying-of-files">How does mergerfs handle moving and copying of files?</a></li>
<li><a href="../../known_issues_bugs/#moving-files-and-directories-fails-with-samba">Moving files and directories fails with Samba</a></li>
</ul>
<h2 id="why-is-rtorrent-failing-with-enodev-no-such-device">Why is rtorrent failing with ENODEV (No such device)?</h2>
<p>Be sure to set
<a href="../../config/cache/">cache.files=partial|full|auto-full|per-process</a>
or use Linux kernel v6.6 or above. rtorrent and some other
applications use <a href="http://linux.die.net/man/2/mmap">mmap</a> to read and
write to files and offer no fallback to traditional methods.</p>
<h2 id="why-dont-i-see-mergerfs-options-in-mount-command-or-procmounts">Why don't I see mergerfs options in mount command or /proc/mounts?</h2>
<p>FUSE filesystems, such as mergerfs, are interpreting most of the
possible options rather than being given to the kernel where those
options in the <code>mount</code> command and /proc/mounts come from.</p>
<p>If you want to see the options of a running instance of mergerfs you
can use the <a href="../../runtime_interfaces/">runtime interface</a>.</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_patterns/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Usage Patterns">
<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 Patterns
</div>
</div>
</a>
<a href="../reliability_and_scalability/" class="md-footer__link md-footer__link--next" aria-label="Next: Reliability and Scalability">
<div class="md-footer__title">
<span class="md-footer__direction">
Next
</span>
<div class="md-ellipsis">
Reliability and Scalability
</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", "search.suggest", "toc.follow"], "search": "../../assets/javascripts/workers/search.f8cc74c7.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": null}</script>
<script src="../../assets/javascripts/bundle.c8b220af.min.js"></script>
</body>
</html>