diff --git a/mkdocs/docs/config/cache.md b/mkdocs/docs/config/cache.md index 6c607ced..629d2b3a 100644 --- a/mkdocs/docs/config/cache.md +++ b/mkdocs/docs/config/cache.md @@ -73,9 +73,9 @@ little risk in setting the value much higher. Especially if there are no out-of-band changes. -## cache.negative_entry +## cache.negative-entry -* `cache.negative_entry=UINT`: Sets the number of seconds to cache +* `cache.negative-entry=UINT`: Sets the number of seconds to cache negative entry queries. Defaults to `1`. This is a cache for negative entry query responses. Such as when a diff --git a/mkdocs/docs/config/func_readdir.md b/mkdocs/docs/config/func_readdir.md index 02353255..e8d3ba57 100644 --- a/mkdocs/docs/config/func_readdir.md +++ b/mkdocs/docs/config/func_readdir.md @@ -26,7 +26,7 @@ Until Linux v6.16, despite being able to change the size of FUSE messages, `readdir` requests were limited to 1 page (4KiB) in size per message. This limitation limited throughput and therefore performance of the `readdir` call. In v6.16 that was changed to be able to grow to -the [fuse_msg_size](fuse_msg_size.md) which allows a lot more data to +the [fuse-msg-size](fuse-msg-size.md) which allows a lot more data to be sent per request and therefore much better performance in certain situations. diff --git a/mkdocs/docs/config/fuse_msg_size.md b/mkdocs/docs/config/fuse-msg-size.md similarity index 100% rename from mkdocs/docs/config/fuse_msg_size.md rename to mkdocs/docs/config/fuse-msg-size.md diff --git a/mkdocs/docs/config/link_cow.md b/mkdocs/docs/config/link-cow.md similarity index 92% rename from mkdocs/docs/config/link_cow.md rename to mkdocs/docs/config/link-cow.md index a8ff5e95..09fa2262 100644 --- a/mkdocs/docs/config/link_cow.md +++ b/mkdocs/docs/config/link-cow.md @@ -1,6 +1,6 @@ -# link_cow +# link-cow -* `link_cow=true|false` +* `link-cow=true|false` * Defaults to `false` This feature offers similar functionality to what diff --git a/mkdocs/docs/config/options.md b/mkdocs/docs/config/options.md index abe03778..be18708e 100644 --- a/mkdocs/docs/config/options.md +++ b/mkdocs/docs/config/options.md @@ -70,7 +70,7 @@ config file. writable and its mtime or ctime is older than **symlinkify_timeout** files will be reported as symlinks to the original files. Please read more below before using. (default: false) -* **[symlinkify_timeout](symlinkify.md)=UINT**: Time to wait, in +* **[symlinkify-timeout](symlinkify.md)=UINT**: Time to wait, in seconds, to activate the **symlinkify** behavior. (default: 3600) * **nullrw=BOOL**: Turns reads and writes into no-ops. The request will succeed but do nothing. Useful for benchmarking @@ -91,13 +91,13 @@ config file. * **[kernel-permissions-check](kernel-permissions-check.md)=BOOL**: Controls the FUSE `default_permissions` option. Primarily for debugging. (default: true) -* **security_capability=BOOL**: If false return ENOATTR when xattr +* **security-capability=BOOL**: If false return ENOATTR when xattr security.capability is queried. (default: true) * **[xattr](xattr.md)=passthrough|noattr|nosys**: Runtime control of xattrs. Default is to passthrough xattr requests. 'noattr' will short circuit as if nothing exists. 'nosys' will respond with ENOSYS as if xattrs are not supported or disabled. (default: passthrough) -* **[link-cow](link_cow.md)=BOOL**: When enabled if a regular file is +* **[link-cow](link-cow.md)=BOOL**: When enabled if a regular file is opened which has a link count > 1 it will copy the file to a temporary file and rename over the original. Breaking the link and providing a basic copy-on-write function similar to @@ -106,7 +106,7 @@ config file. means it will always use all branches in statfs calculations. 'full' is in effect path preserving and only includes branches where the path exists. (default: base) -* **statfs_ignore=none|ro|nc**: 'ro' will cause statfs calculations to +* **statfs-ignore=none|ro|nc**: 'ro' will cause statfs calculations to ignore available space for branches mounted or tagged as 'read-only' or 'no create'. 'nc' will ignore available space for branches tagged as 'no create'. (default: none) @@ -123,13 +123,13 @@ config file. directory and symlink to it. * **[readahead](readahead.md)=UINT**: Set readahead (in kilobytes) for mergerfs and branches if greater than 0. (default: 0) -* **posix_acl=BOOL**: Enable POSIX ACL support (if supported by kernel +* **posix-acl=BOOL**: Enable POSIX ACL support (if supported by kernel and underlying filesystem). (default: false) -* **async_read=BOOL**: Perform reads asynchronously. If disabled or +* **async-read=BOOL**: Perform reads asynchronously. If disabled or unavailable the kernel will ensure there is at most one pending read request per file handle and will attempt to order requests by offset. (default: true) -* **[fuse_msg_size](fuse_msg_size.md)=PAGESIZE**: Set the max number of +* **[fuse-msg-size](fuse-msg-size.md)=PAGESIZE**: Set the max number of pages per FUSE message. Only available on Linux >= 4.20 and ignored otherwise. (min: 1; max: 65535; default: "1M") * **[read-thread-count](threads.md)=INT**: Number of threads to @@ -188,7 +188,7 @@ config file. timeout in seconds. (default: 1) * **[cache.entry](cache.md#cacheentry)=UINT**: File name lookup cache timeout in seconds. (default: 1) -* **[cache.negative_entry](cache.md#cachenegative_entry)=UINT**: +* **[cache.negative-entry](cache.md#cachenegative-entry)=UINT**: Negative file name lookup cache timeout in seconds. (default: 0) * **[cache.files](cache.md#cachefiles)=off|partial|full|auto-full|per-process**: File page caching mode (default: off) diff --git a/mkdocs/docs/config/passthrough.md b/mkdocs/docs/config/passthrough.md index b07062d4..2dd2850c 100644 --- a/mkdocs/docs/config/passthrough.md +++ b/mkdocs/docs/config/passthrough.md @@ -31,7 +31,7 @@ features related to read/write are affected. * [readahead](readahead.md): Still affects the `readahead` values of underlying filesystems and `mergerfs` itself but no longer relevant to `mergerfs` in that it is not servicing IO requests. -* [fuse_msg_size](fuse_msg_size.md): The primary reason to increase +* [fuse-msg-size](fuse-msg-size.md): The primary reason to increase the FUSE message size is to allow transferring more data per request which helps improve read and write performance. Without read/write requests being sent to `mergerfs` there is little reason to have @@ -103,7 +103,7 @@ Summary: passthrough is ~95% native speed. 200% faster than * straight to tmpfs: 1.7 GB/s * nullrw=true: 2.1 GB/s -* cache.files=off; passthrough=off: 800 MB/s -* cache.files=auto-full; passthrough=rw: 1.6 GB/s +* cache.files=off; passthrough.io=off: 800 MB/s +* cache.files=auto-full; passthrough.io=rw: 1.6 GB/s * cache.files=auto-full; cache.writeback=false: 518 MB/s * cache.files=auto-full; cache.writeback=true: 518 MB/s diff --git a/mkdocs/docs/config/readahead.md b/mkdocs/docs/config/readahead.md index 5e70b859..7c88917c 100644 --- a/mkdocs/docs/config/readahead.md +++ b/mkdocs/docs/config/readahead.md @@ -6,7 +6,7 @@ value unit is in kibibytes. * `readahead=1024` While the max size of messages sent between the kernel and mergerfs is -configurable via the [fuse_msg_size](fuse_msg_size.md) option that +configurable via the [fuse-msg-size](fuse-msg-size.md) option that doesn't mean that is the size used by the kernel for read and writes. diff --git a/mkdocs/docs/index.md b/mkdocs/docs/index.md index 1012cf43..72e1efcd 100644 --- a/mkdocs/docs/index.md +++ b/mkdocs/docs/index.md @@ -27,7 +27,7 @@ technologies](project_comparisons.md). type](faq/compatibility_and_integration.md#what-filesystems-can-be-used-as-branches) * Ignore read-only filesystems when creating files * [Hard links](faq/technical_behavior_and_limitations.md#do-hard-links-work) -* Hard link [copy-on-write / CoW](config/link_cow.md) +* Hard link [copy-on-write / CoW](config/link-cow.md) * [Runtime configurable](runtime_interface.md) * Support for extended attributes (xattrs) * Support for file attributes (chattr) diff --git a/mkdocs/docs/performance.md b/mkdocs/docs/performance.md index 7cae396a..ff7854ed 100644 --- a/mkdocs/docs/performance.md +++ b/mkdocs/docs/performance.md @@ -32,7 +32,7 @@ before changing them to understand how functionality will change. * disable `security_capability` and/or [xattr](config/xattr.md) * increase cache timeouts [cache.attr](config/cache.md#cacheattr), [cache.entry](config/cache.md#cacheentry), - [cache.negative_entry](config/cache.md#cachenegative_entry) + [cache.negative_entry](config/cache.md#cachenegative-entry) * toggle [page caching](config/cache.md#cachefiles) * enable `parallel-direct-writes` * enable [cache.writeback](config/cache.md#cachewriteback) diff --git a/mkdocs/docs/related_projects.md b/mkdocs/docs/related_projects.md index 9d45ebd3..c2aef31d 100644 --- a/mkdocs/docs/related_projects.md +++ b/mkdocs/docs/related_projects.md @@ -24,6 +24,10 @@ * [snapraid](https://www.snapraid.it/): a backup program designed for disk arrays, storing parity information for data recovery in the event of up to six disk failures. +* [nonraid](https://github.com/qvr/nonraid): NonRAID is a fork of the + unRAID system's open-source md_unraid kernel driver enabling + UnRAID-style storage arrays with parity protection outside of the + commercial UnRAID system. * [rclone](https://rclone.org/): a command-line program to manage files on cloud storage. It is a feature-rich alternative to cloud vendors' web storage interfaces. rclone's diff --git a/mkdocs/docs/resource_usage.md b/mkdocs/docs/resource_usage.md index a92aa838..c4f185b9 100644 --- a/mkdocs/docs/resource_usage.md +++ b/mkdocs/docs/resource_usage.md @@ -9,7 +9,7 @@ * readdir concurrency * memory * 1MB+ pre reader thread + inflight processing for messages - depending on [fuse_msg_size](config/fuse_msg_size.md) + depending on [fuse-msg-size](config/fuse-msg-size.md) * buffers allocated temporarily for reading directories * [gidcache](faq/technical_behavior_and_limitations.md#how-does-mergerfs-handle-credentials) * FUSE nodes diff --git a/mkdocs/mkdocs.yml b/mkdocs/mkdocs.yml index e7a58087..f4ed241f 100644 --- a/mkdocs/mkdocs.yml +++ b/mkdocs/mkdocs.yml @@ -82,8 +82,8 @@ nav: - config/threads.md - config/pin-threads.md - config/proxy-ioprio.md - - config/link_cow.md - - config/fuse_msg_size.md + - config/link-cow.md + - config/fuse-msg-size.md - config/follow-symlinks.md - config/link-exdev.md - config/rename-exdev.md