From 3bacaa6f7f1e31697c9967ff0d81850c579906bd Mon Sep 17 00:00:00 2001 From: trapexit Date: Wed, 12 Nov 2025 12:19:00 -0600 Subject: [PATCH] Add lazy-umount-mountpoint page and mount -a FAQ (#1573) --- mkdocs/docs/config/lazy-umount-mountpoint.md | 27 +++++++++++++++++++ .../faq/technical_behavior_and_limitations.md | 5 ++++ mkdocs/mkdocs.yml | 1 + mkdocs/regenerate-docs | 11 ++++---- 4 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 mkdocs/docs/config/lazy-umount-mountpoint.md diff --git a/mkdocs/docs/config/lazy-umount-mountpoint.md b/mkdocs/docs/config/lazy-umount-mountpoint.md new file mode 100644 index 00000000..bef7e09e --- /dev/null +++ b/mkdocs/docs/config/lazy-umount-mountpoint.md @@ -0,0 +1,27 @@ +# lazy-umount-mountpoint + +* type: `BOOL` +* default: `false` +* example: `lazy-umount-mountpoint=true` + +When enabled mergerfs will issue a [lazy +umount](https://man7.org/linux/man-pages/man8/umount.8.html) request +to the mount point as it starts. + +``` +Lazy unmount. Detach the filesystem from the file hierarchy +now, and clean up all references to this filesystem as soon as +it is not busy anymore. +``` + +The value of using this is in situations where you wish to change +options which can only be set at initialization or upgrade mergerfs +itself. It also helps in the case of using `mount -a` which leads to a +new instance of mergerfs being mounted due to it being unable to +recognize that it is already mounted. + +In theory mergerfs could notice that an instance is already mounted at +the mount point and attempt to use the runtime interface to modify the +options and only mounting a new instance if the version has changed or +initialization time only options are changed. However, given the +relative rarity of this being an issue it isn't a priority. diff --git a/mkdocs/docs/faq/technical_behavior_and_limitations.md b/mkdocs/docs/faq/technical_behavior_and_limitations.md index 3e88ce85..d6459f42 100644 --- a/mkdocs/docs/faq/technical_behavior_and_limitations.md +++ b/mkdocs/docs/faq/technical_behavior_and_limitations.md @@ -282,3 +282,8 @@ Every incoming request contains: Naturally the mergerfs config as well as anything queriable from the operating system or filesystems are also available. + + +## Why does running `mount -a` result in new instances of mergerfs? + +See [lazy-umount-mountpoint](../config/lazy-umount-mountpoint.md) diff --git a/mkdocs/mkdocs.yml b/mkdocs/mkdocs.yml index f4ed241f..15859133 100644 --- a/mkdocs/mkdocs.yml +++ b/mkdocs/mkdocs.yml @@ -95,6 +95,7 @@ nav: - config/flush-on-close.md - config/export-support.md - config/kernel-permissions-check.md + - config/lazy-umount-mountpoint.md - error_handling_and_logging.md - resource_usage.md - runtime_interface.md diff --git a/mkdocs/regenerate-docs b/mkdocs/regenerate-docs index 09370a72..762622d0 100755 --- a/mkdocs/regenerate-docs +++ b/mkdocs/regenerate-docs @@ -6,7 +6,7 @@ current_branch="$(git branch --show-current)" mike delete --all --push --allow-empty --ignore-remote-status git checkout "master" -mike deploy --push "preview" "master" +mike deploy --push "latest" "master" for tag in $(git tag -l | sort --version-sort --reverse) do @@ -16,10 +16,11 @@ do fi done -latest="$(git tag -l | sort --version-sort --reverse | head -n 1)" -git checkout "${latest}" -mike alias --push "${latest}" "latest" +#latest="$(git tag -l | sort --version-sort --reverse | head -n 1)" +#git checkout "${latest}" +#mike alias --push "${latest}" "latest" +#mike alias --push "latest" "latest" -mike set-default --push "preview" +mike set-default --push "latest" git checkout "${current_branch}"