From 8302b6e32bb153a6f402b106484d5736f082abcc Mon Sep 17 00:00:00 2001 From: Alexander Motin Date: Wed, 6 Aug 2025 13:45:45 -0400 Subject: [PATCH] Some documentation polishing for log vdevs Reviewed-by: George Melikov Reviewed-by: Brian Behlendorf Signed-off-by: Alexander Motin Closes #17592 --- man/man4/zfs.4 | 11 ++++++----- man/man7/zfsprops.7 | 7 ++++--- man/man7/zpoolconcepts.7 | 9 ++------- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/man/man4/zfs.4 b/man/man4/zfs.4 index fa37c7cdb..4a5f9fd93 100644 --- a/man/man4/zfs.4 +++ b/man/man4/zfs.4 @@ -1723,9 +1723,10 @@ storing all written data into ZIL to not depend on regular vdev latency. . .It Sy zil_special_is_slog Ns = Ns Sy 1 Ns | Ns 0 Pq int When enabled, and written blocks go to normal vdevs, treat present special -vdevs as SLOGs, storing all synchronously written data into ZIL directly. -Disabling this forces the indirect writes to preserve special vdev write -throughput and endurance, likely at the cost of normal vdev latency. +vdevs as SLOGs. +Blocks that go to the special vdevs are still written indirectly, as with +.Sy logbias Ns = Ns Sy throughput . +This parameter is ignored if an SLOG is present. . .It Sy zfs_initialize_value Ns = Ns Sy 16045690984833335022 Po 0xDEADBEEFDEADBEEE Pc Pq u64 Pattern written to vdev free space by @@ -2486,8 +2487,8 @@ code for this record type. The tunable has no effect if the feature is disabled. . .It Sy zfs_embedded_slog_min_ms Ns = Ns Sy 64 Pq uint -Usually, one metaslab from each normal-class vdev is dedicated for use by -the ZIL to log synchronous writes. +Usually, one metaslab from each normal and special class vdev is dedicated +for use by the ZIL to log synchronous writes. However, if there are fewer than .Sy zfs_embedded_slog_min_ms metaslabs in the vdev, this functionality is disabled. diff --git a/man/man7/zfsprops.7 b/man/man7/zfsprops.7 index 829eb4205..ac3152cb5 100644 --- a/man/man7/zfsprops.7 +++ b/man/man7/zfsprops.7 @@ -1867,7 +1867,8 @@ property is updated with , the property is set to desired value, but the operation to share, reshare or unshare the the dataset is not performed. .It Sy logbias Ns = Ns Sy latency Ns | Ns Sy throughput -Provide a hint to ZFS about handling of synchronous requests in this dataset. +Provide a hint to ZFS about handling of synchronous write requests in this +dataset. If .Sy logbias is set to @@ -1875,12 +1876,12 @@ is set to .Pq the default , ZFS will use pool log devices .Pq if configured -to handle the requests at low latency. +to handle the write requests at low latency. If .Sy logbias is set to .Sy throughput , -ZFS will not use configured pool log devices. +ZFS will not use configured pool log devices to store written data. ZFS will instead optimize synchronous operations for global pool throughput and efficient use of resources. .It Sy snapdev Ns = Ns Sy hidden Ns | Ns Sy visible diff --git a/man/man7/zpoolconcepts.7 b/man/man7/zpoolconcepts.7 index 60f16269a..dafe3bffc 100644 --- a/man/man7/zpoolconcepts.7 +++ b/man/man7/zpoolconcepts.7 @@ -390,11 +390,6 @@ Multiple log devices can also be specified, and they can be mirrored. See the .Sx EXAMPLES section for an example of mirroring multiple log devices. -.Pp -Log devices can be added, replaced, attached, detached, and removed. -In addition, log devices are imported and exported as part of the pool -that contains them. -Mirrored devices can be removed by specifying the top-level mirror vdev. . .Ss Cache Devices Devices can be added to a storage pool as @@ -486,8 +481,8 @@ current state of the pool won't be scanned during a scrub. . .Ss Special Allocation Class Allocations in the special class are dedicated to specific block types. -By default, this includes all metadata, the indirect blocks of user data, and -any deduplication tables. +By default, this includes all metadata, the indirect blocks of user data, +intent log (in absence of separate log device), and deduplication tables. The class can also be provisioned to accept small file blocks or zvol blocks on a per dataset granularity. .Pp