From 1916e54a244322c2dc387dc71ac3735b42025bf7 Mon Sep 17 00:00:00 2001 From: Antonio SJ Musumeci Date: Mon, 19 Feb 2024 19:19:00 -0600 Subject: [PATCH] Add NFS options to remote filesystems section of readme --- README.md | 16 +++++++++++++++- man/mergerfs.1 | 18 +++++++++++++++--- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2b35ff5e9..bf9f8a505 100644 --- a/README.md +++ b/README.md @@ -2054,11 +2054,15 @@ generally recommended to use SMB when possible till situations change. That said issues should still be reported. NFS is not really recommended but it isn't unsupported. -When exporting mergerfs via NFS ensure to set the following config: +mergerfs settings: * noforget * inodecalc=path-hash * export-support=false (only available in v2.40.0 and above) +NFS export settings: +* fsid=UUID +* no\_root\_squash + `noforget` is needed because NFS uses the `name_to_handle_at` and `open_by_handle_at` functions which allow a program to keep a reference to a file without technically having it open in the typical @@ -2093,6 +2097,16 @@ Also see [Kernel Issues & Bugs](https://github.com/trapexit/mergerfs/wiki/Kernel-Issues-&-Bugs) for more details. +`fsid=UUID` is needed because FUSE filesystems don't have different +`st_dev` values which can cause issues when exporting. The easiest +thing to do is set each mergerfs export `fsid` to some random +value. An easy way to generate a random value is to use the command +line tool `uuidgen` or through a website such as +[uuidgenerator.net](https://www.uuidgenerator.net/). + +`no_root_squash` is not strictly necessary but can lead to confusing +permission and ownership issues. + ## SMB / CIFS diff --git a/man/mergerfs.1 b/man/mergerfs.1 index 94c1b1804..27a01cf3b 100644 --- a/man/mergerfs.1 +++ b/man/mergerfs.1 @@ -2591,9 +2591,10 @@ use SMB when possible till situations change. That said issues should still be reported. NFS is not really recommended but it isn\[cq]t unsupported. .PP -When exporting mergerfs via NFS ensure to set the following config: * -noforget * inodecalc=path-hash * export-support=false (only available in -v2.40.0 and above) +mergerfs settings: * noforget * inodecalc=path-hash * +export-support=false (only available in v2.40.0 and above) +.PP +NFS export settings: * fsid=UUID * no_root_squash .PP \f[C]noforget\f[R] is needed because NFS uses the \f[C]name_to_handle_at\f[R] and \f[C]open_by_handle_at\f[R] functions @@ -2635,6 +2636,17 @@ appropriate details. Also see Kernel Issues & Bugs (https://github.com/trapexit/mergerfs/wiki/Kernel-Issues-&-Bugs) for more details. +.PP +\f[C]fsid=UUID\f[R] is needed because FUSE filesystems don\[cq]t have +different \f[C]st_dev\f[R] values which can cause issues when exporting. +The easiest thing to do is set each mergerfs export \f[C]fsid\f[R] to +some random value. +An easy way to generate a random value is to use the command line tool +\f[C]uuidgen\f[R] or through a website such as +uuidgenerator.net (https://www.uuidgenerator.net/). +.PP +\f[C]no_root_squash\f[R] is not strictly necessary but can lead to +confusing permission and ownership issues. .SS SMB / CIFS .PP SMB (https://en.wikipedia.org/wiki/Server_Message_Block) is a protocol