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.

1405 lines
32 KiB

  1. <!doctype html>
  2. <html lang="en" class="no-js">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1">
  6. <meta name="description" content="mergerfs - a featureful union filesystem">
  7. <link rel="canonical" href="https://trapexit.github.io/mergerfs/faq/general_information_and_overview/">
  8. <link rel="prev" href="../configuration_and_policies/">
  9. <link rel="next" href="../recommendations_and_warnings/">
  10. <link rel="icon" href="../../assets/images/favicon.png">
  11. <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.49">
  12. <title>General Information and Overview - mergerfs</title>
  13. <link rel="stylesheet" href="../../assets/stylesheets/main.6f8fc17f.min.css">
  14. <link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
  15. <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  16. <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">
  17. <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
  18. <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>
  19. </head>
  20. <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
  21. <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
  22. <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
  23. <label class="md-overlay" for="__drawer"></label>
  24. <div data-md-component="skip">
  25. <a href="#general-information-and-overview" class="md-skip">
  26. Skip to content
  27. </a>
  28. </div>
  29. <div data-md-component="announce">
  30. </div>
  31. <header class="md-header md-header--shadow" data-md-component="header">
  32. <nav class="md-header__inner md-grid" aria-label="Header">
  33. <a href="../.." title="mergerfs" class="md-header__button md-logo" aria-label="mergerfs" data-md-component="logo">
  34. <img src="../../logo.jpeg" alt="logo">
  35. </a>
  36. <label class="md-header__button md-icon" for="__drawer">
  37. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
  38. </label>
  39. <div class="md-header__title" data-md-component="header-title">
  40. <div class="md-header__ellipsis">
  41. <div class="md-header__topic">
  42. <span class="md-ellipsis">
  43. mergerfs
  44. </span>
  45. </div>
  46. <div class="md-header__topic" data-md-component="header-topic">
  47. <span class="md-ellipsis">
  48. General Information and Overview
  49. </span>
  50. </div>
  51. </div>
  52. </div>
  53. <form class="md-header__option" data-md-component="palette">
  54. <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">
  55. <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
  56. <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>
  57. </label>
  58. <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">
  59. <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
  60. <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>
  61. </label>
  62. <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">
  63. <label class="md-header__button md-icon" title="Switch to system preference" for="__palette_0" hidden>
  64. <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>
  65. </label>
  66. </form>
  67. <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>
  68. <label class="md-header__button md-icon" for="__search">
  69. <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>
  70. </label>
  71. <div class="md-search" data-md-component="search" role="dialog">
  72. <label class="md-search__overlay" for="__search"></label>
  73. <div class="md-search__inner" role="search">
  74. <form class="md-search__form" name="search">
  75. <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>
  76. <label class="md-search__icon md-icon" for="__search">
  77. <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>
  78. <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>
  79. </label>
  80. <nav class="md-search__options" aria-label="Search">
  81. <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">
  82. <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>
  83. </a>
  84. <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
  85. <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>
  86. </button>
  87. </nav>
  88. </form>
  89. <div class="md-search__output">
  90. <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
  91. <div class="md-search-result" data-md-component="search-result">
  92. <div class="md-search-result__meta">
  93. Initializing search
  94. </div>
  95. <ol class="md-search-result__list" role="presentation"></ol>
  96. </div>
  97. </div>
  98. </div>
  99. </div>
  100. </div>
  101. <div class="md-header__source">
  102. <a href="https://github.com/trapexit/mergerfs" title="Go to repository" class="md-source" data-md-component="source">
  103. <div class="md-source__icon md-icon">
  104. <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>
  105. </div>
  106. <div class="md-source__repository">
  107. mergerfs
  108. </div>
  109. </a>
  110. </div>
  111. </nav>
  112. </header>
  113. <div class="md-container" data-md-component="container">
  114. <main class="md-main" data-md-component="main">
  115. <div class="md-main__inner md-grid">
  116. <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
  117. <div class="md-sidebar__scrollwrap">
  118. <div class="md-sidebar__inner">
  119. <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
  120. <label class="md-nav__title" for="__drawer">
  121. <a href="../.." title="mergerfs" class="md-nav__button md-logo" aria-label="mergerfs" data-md-component="logo">
  122. <img src="../../logo.jpeg" alt="logo">
  123. </a>
  124. mergerfs
  125. </label>
  126. <div class="md-nav__source">
  127. <a href="https://github.com/trapexit/mergerfs" title="Go to repository" class="md-source" data-md-component="source">
  128. <div class="md-source__icon md-icon">
  129. <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>
  130. </div>
  131. <div class="md-source__repository">
  132. mergerfs
  133. </div>
  134. </a>
  135. </div>
  136. <ul class="md-nav__list" data-md-scrollfix>
  137. <li class="md-nav__item">
  138. <a href="../.." class="md-nav__link">
  139. <span class="md-ellipsis">
  140. Home
  141. </span>
  142. </a>
  143. </li>
  144. <li class="md-nav__item">
  145. <a href="../../quickstart/" class="md-nav__link">
  146. <span class="md-ellipsis">
  147. QuickStart
  148. </span>
  149. </a>
  150. </li>
  151. <li class="md-nav__item md-nav__item--nested">
  152. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
  153. <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
  154. <span class="md-ellipsis">
  155. Installation
  156. </span>
  157. <span class="md-nav__icon md-icon"></span>
  158. </label>
  159. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
  160. <label class="md-nav__title" for="__nav_3">
  161. <span class="md-nav__icon md-icon"></span>
  162. Installation
  163. </label>
  164. <ul class="md-nav__list" data-md-scrollfix>
  165. <li class="md-nav__item">
  166. <a href="../../setup/installation/" class="md-nav__link">
  167. <span class="md-ellipsis">
  168. Installation
  169. </span>
  170. </a>
  171. </li>
  172. <li class="md-nav__item">
  173. <a href="../../setup/upgrade/" class="md-nav__link">
  174. <span class="md-ellipsis">
  175. Upgrade
  176. </span>
  177. </a>
  178. </li>
  179. <li class="md-nav__item">
  180. <a href="../../setup/build/" class="md-nav__link">
  181. <span class="md-ellipsis">
  182. Build
  183. </span>
  184. </a>
  185. </li>
  186. </ul>
  187. </nav>
  188. </li>
  189. <li class="md-nav__item md-nav__item--nested">
  190. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
  191. <label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
  192. <span class="md-ellipsis">
  193. Config
  194. </span>
  195. <span class="md-nav__icon md-icon"></span>
  196. </label>
  197. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
  198. <label class="md-nav__title" for="__nav_4">
  199. <span class="md-nav__icon md-icon"></span>
  200. Config
  201. </label>
  202. <ul class="md-nav__list" data-md-scrollfix>
  203. <li class="md-nav__item">
  204. <a href="../../config/terminology/" class="md-nav__link">
  205. <span class="md-ellipsis">
  206. Terminology
  207. </span>
  208. </a>
  209. </li>
  210. <li class="md-nav__item">
  211. <a href="../../config/options/" class="md-nav__link">
  212. <span class="md-ellipsis">
  213. Options
  214. </span>
  215. </a>
  216. </li>
  217. <li class="md-nav__item">
  218. <a href="../../config/deprecated_options/" class="md-nav__link">
  219. <span class="md-ellipsis">
  220. Deprecated Options
  221. </span>
  222. </a>
  223. </li>
  224. <li class="md-nav__item">
  225. <a href="../../config/branches/" class="md-nav__link">
  226. <span class="md-ellipsis">
  227. branches
  228. </span>
  229. </a>
  230. </li>
  231. <li class="md-nav__item">
  232. <a href="../../config/functions_categories_and_policies/" class="md-nav__link">
  233. <span class="md-ellipsis">
  234. functions, categories and policies
  235. </span>
  236. </a>
  237. </li>
  238. <li class="md-nav__item">
  239. <a href="../../config/func_readdir/" class="md-nav__link">
  240. <span class="md-ellipsis">
  241. func.readdir
  242. </span>
  243. </a>
  244. </li>
  245. <li class="md-nav__item">
  246. <a href="../../config/cache/" class="md-nav__link">
  247. <span class="md-ellipsis">
  248. caching
  249. </span>
  250. </a>
  251. </li>
  252. <li class="md-nav__item">
  253. <a href="../../config/ioctl/" class="md-nav__link">
  254. <span class="md-ellipsis">
  255. ioctl
  256. </span>
  257. </a>
  258. </li>
  259. <li class="md-nav__item">
  260. <a href="../../config/rename_and_link/" class="md-nav__link">
  261. <span class="md-ellipsis">
  262. rename and link
  263. </span>
  264. </a>
  265. </li>
  266. <li class="md-nav__item">
  267. <a href="../../config/statfs/" class="md-nav__link">
  268. <span class="md-ellipsis">
  269. statfs / statvfs
  270. </span>
  271. </a>
  272. </li>
  273. <li class="md-nav__item">
  274. <a href="../../config/flush-on-close/" class="md-nav__link">
  275. <span class="md-ellipsis">
  276. flush-on-close
  277. </span>
  278. </a>
  279. </li>
  280. </ul>
  281. </nav>
  282. </li>
  283. <li class="md-nav__item">
  284. <a href="../../error_handling/" class="md-nav__link">
  285. <span class="md-ellipsis">
  286. Error Handling
  287. </span>
  288. </a>
  289. </li>
  290. <li class="md-nav__item">
  291. <a href="../../runtime_interfaces/" class="md-nav__link">
  292. <span class="md-ellipsis">
  293. Runtime Interfaces
  294. </span>
  295. </a>
  296. </li>
  297. <li class="md-nav__item">
  298. <a href="../../remote_filesystems/" class="md-nav__link">
  299. <span class="md-ellipsis">
  300. Remote Filesystems
  301. </span>
  302. </a>
  303. </li>
  304. <li class="md-nav__item">
  305. <a href="../../tips_notes/" class="md-nav__link">
  306. <span class="md-ellipsis">
  307. Tips and Notes
  308. </span>
  309. </a>
  310. </li>
  311. <li class="md-nav__item">
  312. <a href="../../known_issues_bugs/" class="md-nav__link">
  313. <span class="md-ellipsis">
  314. Known Issues and Bugs
  315. </span>
  316. </a>
  317. </li>
  318. <li class="md-nav__item">
  319. <a href="../../project_comparisons/" class="md-nav__link">
  320. <span class="md-ellipsis">
  321. Project Comparisons
  322. </span>
  323. </a>
  324. </li>
  325. <li class="md-nav__item">
  326. <a href="../../performance/" class="md-nav__link">
  327. <span class="md-ellipsis">
  328. Tweaking Performance
  329. </span>
  330. </a>
  331. </li>
  332. <li class="md-nav__item">
  333. <a href="../../benchmarking/" class="md-nav__link">
  334. <span class="md-ellipsis">
  335. Benchmarking
  336. </span>
  337. </a>
  338. </li>
  339. <li class="md-nav__item">
  340. <a href="../../tooling/" class="md-nav__link">
  341. <span class="md-ellipsis">
  342. Tooling
  343. </span>
  344. </a>
  345. </li>
  346. <li class="md-nav__item md-nav__item--active md-nav__item--nested">
  347. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" checked>
  348. <label class="md-nav__link" for="__nav_14" id="__nav_14_label" tabindex="0">
  349. <span class="md-ellipsis">
  350. FAQ
  351. </span>
  352. <span class="md-nav__icon md-icon"></span>
  353. </label>
  354. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_14_label" aria-expanded="true">
  355. <label class="md-nav__title" for="__nav_14">
  356. <span class="md-nav__icon md-icon"></span>
  357. FAQ
  358. </label>
  359. <ul class="md-nav__list" data-md-scrollfix>
  360. <li class="md-nav__item">
  361. <a href="../compatibility_and_integration/" class="md-nav__link">
  362. <span class="md-ellipsis">
  363. Compatibility and Integration
  364. </span>
  365. </a>
  366. </li>
  367. <li class="md-nav__item">
  368. <a href="../configuration_and_policies/" class="md-nav__link">
  369. <span class="md-ellipsis">
  370. Configuration and Policies
  371. </span>
  372. </a>
  373. </li>
  374. <li class="md-nav__item md-nav__item--active">
  375. <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
  376. <label class="md-nav__link md-nav__link--active" for="__toc">
  377. <span class="md-ellipsis">
  378. General Information and Overview
  379. </span>
  380. <span class="md-nav__icon md-icon"></span>
  381. </label>
  382. <a href="./" class="md-nav__link md-nav__link--active">
  383. <span class="md-ellipsis">
  384. General Information and Overview
  385. </span>
  386. </a>
  387. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  388. <label class="md-nav__title" for="__toc">
  389. <span class="md-nav__icon md-icon"></span>
  390. Table of contents
  391. </label>
  392. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  393. <li class="md-nav__item">
  394. <a href="#how-well-does-mergerfs-scale-is-it-production-ready" class="md-nav__link">
  395. <span class="md-ellipsis">
  396. How well does mergerfs scale? Is it "production ready?"
  397. </span>
  398. </a>
  399. </li>
  400. <li class="md-nav__item">
  401. <a href="#why-use-fuse-why-not-a-kernel-based-solution" class="md-nav__link">
  402. <span class="md-ellipsis">
  403. Why use FUSE? Why not a kernel based solution?
  404. </span>
  405. </a>
  406. </li>
  407. <li class="md-nav__item">
  408. <a href="#is-my-oss-libfuse-needed-for-mergerfs-to-work" class="md-nav__link">
  409. <span class="md-ellipsis">
  410. Is my OS's libfuse needed for mergerfs to work?
  411. </span>
  412. </a>
  413. </li>
  414. <li class="md-nav__item">
  415. <a href="#why-was-splice-support-removed" class="md-nav__link">
  416. <span class="md-ellipsis">
  417. Why was splice support removed?
  418. </span>
  419. </a>
  420. </li>
  421. </ul>
  422. </nav>
  423. </li>
  424. <li class="md-nav__item">
  425. <a href="../recommendations_and_warnings/" class="md-nav__link">
  426. <span class="md-ellipsis">
  427. Recommendations and Warnings
  428. </span>
  429. </a>
  430. </li>
  431. <li class="md-nav__item">
  432. <a href="../technical_behavior_and_limitations/" class="md-nav__link">
  433. <span class="md-ellipsis">
  434. Technical Behavior and Limitations
  435. </span>
  436. </a>
  437. </li>
  438. <li class="md-nav__item">
  439. <a href="../usage_and_functionality/" class="md-nav__link">
  440. <span class="md-ellipsis">
  441. Usage and Functionality
  442. </span>
  443. </a>
  444. </li>
  445. <li class="md-nav__item">
  446. <a href="../limit_drive_spinup/" class="md-nav__link">
  447. <span class="md-ellipsis">
  448. Limit drive spinup
  449. </span>
  450. </a>
  451. </li>
  452. </ul>
  453. </nav>
  454. </li>
  455. <li class="md-nav__item">
  456. <a href="../../related_projects/" class="md-nav__link">
  457. <span class="md-ellipsis">
  458. Related Projects
  459. </span>
  460. </a>
  461. </li>
  462. <li class="md-nav__item">
  463. <a href="../../media_and_publicity/" class="md-nav__link">
  464. <span class="md-ellipsis">
  465. Media and Publicity
  466. </span>
  467. </a>
  468. </li>
  469. <li class="md-nav__item">
  470. <a href="../../support/" class="md-nav__link">
  471. <span class="md-ellipsis">
  472. Support
  473. </span>
  474. </a>
  475. </li>
  476. <li class="md-nav__item">
  477. <a href="../../donations/" class="md-nav__link">
  478. <span class="md-ellipsis">
  479. Donations
  480. </span>
  481. </a>
  482. </li>
  483. </ul>
  484. </nav>
  485. </div>
  486. </div>
  487. </div>
  488. <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
  489. <div class="md-sidebar__scrollwrap">
  490. <div class="md-sidebar__inner">
  491. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  492. <label class="md-nav__title" for="__toc">
  493. <span class="md-nav__icon md-icon"></span>
  494. Table of contents
  495. </label>
  496. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  497. <li class="md-nav__item">
  498. <a href="#how-well-does-mergerfs-scale-is-it-production-ready" class="md-nav__link">
  499. <span class="md-ellipsis">
  500. How well does mergerfs scale? Is it "production ready?"
  501. </span>
  502. </a>
  503. </li>
  504. <li class="md-nav__item">
  505. <a href="#why-use-fuse-why-not-a-kernel-based-solution" class="md-nav__link">
  506. <span class="md-ellipsis">
  507. Why use FUSE? Why not a kernel based solution?
  508. </span>
  509. </a>
  510. </li>
  511. <li class="md-nav__item">
  512. <a href="#is-my-oss-libfuse-needed-for-mergerfs-to-work" class="md-nav__link">
  513. <span class="md-ellipsis">
  514. Is my OS's libfuse needed for mergerfs to work?
  515. </span>
  516. </a>
  517. </li>
  518. <li class="md-nav__item">
  519. <a href="#why-was-splice-support-removed" class="md-nav__link">
  520. <span class="md-ellipsis">
  521. Why was splice support removed?
  522. </span>
  523. </a>
  524. </li>
  525. </ul>
  526. </nav>
  527. </div>
  528. </div>
  529. </div>
  530. <div class="md-content" data-md-component="content">
  531. <article class="md-content__inner md-typeset">
  532. <a href="https://github.com/trapexit/mergerfs/tree/master/mkdocs/docs/faq/general_information_and_overview.md" title="Edit this page" class="md-content__button md-icon">
  533. <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>
  534. </a>
  535. <h1 id="general-information-and-overview">General Information and Overview</h1>
  536. <h2 id="how-well-does-mergerfs-scale-is-it-production-ready">How well does mergerfs scale? Is it "production ready?"</h2>
  537. <p>Users have reported running mergerfs on everything from a Raspberry Pi
  538. to dual socket Xeon systems with &gt;20 cores. I'm aware of at least a
  539. few companies which use mergerfs in production. <a href="https://www.openmediavault.org">Open Media
  540. Vault</a> includes mergerfs as its sole
  541. solution for pooling filesystems. The author of mergerfs had it
  542. running for over 300 days managing 16+ devices with reasonably heavy
  543. 24/7 read and write usage. Stopping only after the machine's power
  544. supply died.</p>
  545. <p>Most serious issues (crashes or data corruption) have been due to
  546. <a href="https://github.com/trapexit/mergerfs/wiki/Kernel-Issues-&amp;-Bugs">kernel
  547. bugs</a>. All
  548. of which are fixed in stable releases.</p>
  549. <h2 id="why-use-fuse-why-not-a-kernel-based-solution">Why use FUSE? Why not a kernel based solution?</h2>
  550. <p>As with any solution to a problem, there are advantages and
  551. disadvantages to each one.</p>
  552. <p>A FUSE based solution has all the downsides of FUSE:</p>
  553. <ul>
  554. <li>Higher IO latency due to the trips in and out of kernel space</li>
  555. <li>Higher general overhead due to trips in and out of kernel space</li>
  556. <li>Double caching when using page caching</li>
  557. <li>Misc limitations due to FUSE's design</li>
  558. </ul>
  559. <p>But FUSE also has a lot of upsides:</p>
  560. <ul>
  561. <li>Easier to offer a cross platform solution</li>
  562. <li>Easier forward and backward compatibility</li>
  563. <li>Easier updates for users</li>
  564. <li>Easier and faster release cadence</li>
  565. <li>Allows more flexibility in design and features</li>
  566. <li>Overall easier to write, secure, and maintain</li>
  567. <li>Much lower barrier to entry (getting code into the kernel takes a
  568. lot of time and effort initially)</li>
  569. </ul>
  570. <p>FUSE was chosen because of all the advantages listed above. The
  571. negatives of FUSE do not outweigh the positives.</p>
  572. <h2 id="is-my-oss-libfuse-needed-for-mergerfs-to-work">Is my OS's libfuse needed for mergerfs to work?</h2>
  573. <p>No. Normally <code>mount.fuse</code> is needed to get mergerfs (or any FUSE
  574. filesystem to mount using the <code>mount</code> command but in vendoring the
  575. libfuse library the <code>mount.fuse</code> app has been renamed to
  576. <code>mount.mergerfs</code> meaning the filesystem type in <code>fstab</code> can simply be
  577. <code>mergerfs</code>. That said there should be no harm in having it installed
  578. and continuing to using <code>fuse.mergerfs</code> as the type in <code>/etc/fstab</code>.</p>
  579. <p>If <code>mergerfs</code> doesn't work as a type it could be due to how the
  580. <code>mount.mergerfs</code> tool was installed. Must be in <code>/sbin/</code> with proper
  581. permissions.</p>
  582. <h2 id="why-was-splice-support-removed">Why was splice support removed?</h2>
  583. <p>After a lot of testing over the years, splicing always appeared to
  584. at best, provide equivalent performance, and in some cases, worse
  585. performance. Splice is not supported on other platforms forcing a
  586. traditional read/write fallback to be provided. The splice code was
  587. removed to simplify the codebase.</p>
  588. </article>
  589. </div>
  590. <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
  591. </div>
  592. <button type="button" class="md-top md-icon" data-md-component="top" hidden>
  593. <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>
  594. Back to top
  595. </button>
  596. </main>
  597. <footer class="md-footer">
  598. <div class="md-footer-meta md-typeset">
  599. <div class="md-footer-meta__inner md-grid">
  600. <div class="md-copyright">
  601. Made with
  602. <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
  603. Material for MkDocs
  604. </a>
  605. </div>
  606. </div>
  607. </div>
  608. </footer>
  609. </div>
  610. <div class="md-dialog" data-md-component="dialog">
  611. <div class="md-dialog__inner md-typeset"></div>
  612. </div>
  613. <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>
  614. <script src="../../assets/javascripts/bundle.88dd0f4e.min.js"></script>
  615. </body>
  616. </html>