From: Avan Thakkar Date: Thu, 26 Feb 2026 08:09:26 +0000 (+0530) Subject: vfs_aio_ratelimit: document cluster-wide coordination X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=bf85cade63afa8f7e7750bad7f69737ec360c5fd;p=thirdparty%2Fsamba.git vfs_aio_ratelimit: document cluster-wide coordination Signed-off-by: Avan Thakkar Reviewed-by: Anoop C S Reviewed-by: Guenther Deschner --- diff --git a/docs-xml/manpages/vfs_aio_ratelimit.8.xml b/docs-xml/manpages/vfs_aio_ratelimit.8.xml index 94f470cc857..58dff9644e4 100644 --- a/docs-xml/manpages/vfs_aio_ratelimit.8.xml +++ b/docs-xml/manpages/vfs_aio_ratelimit.8.xml @@ -12,7 +12,7 @@ vfs_aio_ratelimit - Implement async-I/O rate-limiting for Samba + Implement async-I/O rate-limiting for Samba with cluster-wide coordination @@ -46,7 +46,15 @@ - This module operates only on asynchronous VFS READ/WRITE operation. + Cluster Support: + When clustering is enabled in Samba, cluster-wide rate limiting is + automatically enabled by default. Each share's configured rate limit + applies to that share across the entire cluster. Limits for different + shares are tracked and enforced independently of one another. + + + + This module operates only on asynchronous VFS READ/WRITE operations. This module is stackable. @@ -63,6 +71,35 @@ aio_ratelimit + Cluster deployment example (cluster-wide limits): + + + + yes + + + /mnt/shared + aio_ratelimit + 10000 + 1G + + + The 10000 IOPS and 1G bandwidth limits apply to the entire cluster. + + Cluster deployment with per-node limits: + + + + yes + + + /mnt/shared + aio_ratelimit + 10000 + + + Each node independently enforces the 10000 IOPS limit. + @@ -76,6 +113,12 @@ Upper limit of READ operations-per-second before injecting delays. Zero value implies no limit. + + In cluster mode, this is the global limit + enforced across all nodes. The limit is automatically distributed + equally among all active smbd processes performing I/O + on this share. + Default: 0, Max: 1000000 Example: aio_ratelimit:read_iops_limit = 1000 @@ -89,6 +132,12 @@ injecting delays. Zero value implies no limit. Supports size suffixes (K, M, G, T). + + In cluster mode, this is the global limit + enforced across all nodes. The limit is automatically distributed + equally among all active smbd processes performing I/O + on this share. + Default: 0, Max: 1T Example: aio_ratelimit:read_bw_limit = 2M @@ -115,6 +164,12 @@ Upper limit of WRITE operations-per-second before injecting delays. Zero value implies no limit. + + In cluster mode, this is the global limit + enforced across all nodes. The limit is automatically distributed + equally among all active smbd processes performing I/O + on this share. + Default: 0, Max: 1000000 Example: aio_ratelimit:write_iops_limit = 1000 @@ -128,6 +183,12 @@ before injecting delays. Zero value implies no limit. Supports size suffixes (K, M, G, T). + + In cluster mode, this is the global limit + enforced across all nodes. The limit is automatically distributed + equally among all active smbd processes performing I/O + on this share. + Default: 0, Max: 1T Example: aio_ratelimit:write_bw_limit = 1M @@ -150,6 +211,55 @@ + + CLUSTER BEHAVIOR + + + When Samba clustering is enabled, cluster-wide rate limiting is + automatically enabled by default. The configured limits apply to the + entire cluster, not individual nodes. This requires + the ratelimitd daemon, which must be enabled at build + time with --with-ratelimitd. + + + + + 1000 + + + + With cluster mode enabled (default when clustering is active), + the module automatically distributes bandwidth among active connections + on that share. + For example, with a 1000 IOPS limit: + + + + 4 active connections → Each gets ~250 IOPS + + + 10 active connections → Each gets ~100 IOPS + + + Total cluster throughput: Always limited to 1000 IOPS + + + + + The distribution happens automatically as connections are established + and closed. + + + + + Nodes with more active connections will naturally use more of the + total bandwidth. This ensures fair per-connection allocation across + the cluster. + + + + + BURST BEHAVIOR