aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib/openzfs/man
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/openzfs/man')
-rw-r--r--sys/contrib/openzfs/man/man4/zfs.442
-rw-r--r--sys/contrib/openzfs/man/man7/vdevprops.78
-rw-r--r--sys/contrib/openzfs/man/man7/zpoolconcepts.75
-rw-r--r--sys/contrib/openzfs/man/man8/zdb.814
-rw-r--r--sys/contrib/openzfs/man/man8/zfs-jail.879
-rw-r--r--sys/contrib/openzfs/man/man8/zfs-rewrite.822
-rw-r--r--sys/contrib/openzfs/man/man8/zpool-events.873
-rw-r--r--sys/contrib/openzfs/man/man8/zpool-prefetch.827
-rw-r--r--sys/contrib/openzfs/man/man8/zpool-remove.84
9 files changed, 207 insertions, 67 deletions
diff --git a/sys/contrib/openzfs/man/man4/zfs.4 b/sys/contrib/openzfs/man/man4/zfs.4
index 11bcbf430210..60ec56b4d1f6 100644
--- a/sys/contrib/openzfs/man/man4/zfs.4
+++ b/sys/contrib/openzfs/man/man4/zfs.4
@@ -273,12 +273,12 @@ force this many of them to be gang blocks.
.It Sy brt_zap_prefetch Ns = Ns Sy 1 Ns | Ns 0 Pq int
Controls prefetching BRT records for blocks which are going to be cloned.
.
-.It Sy brt_zap_default_bs Ns = Ns Sy 12 Po 4 KiB Pc Pq int
+.It Sy brt_zap_default_bs Ns = Ns Sy 13 Po 8 KiB Pc Pq int
Default BRT ZAP data block size as a power of 2. Note that changing this after
creating a BRT on the pool will not affect existing BRTs, only newly created
ones.
.
-.It Sy brt_zap_default_ibs Ns = Ns Sy 12 Po 4 KiB Pc Pq int
+.It Sy brt_zap_default_ibs Ns = Ns Sy 13 Po 8 KiB Pc Pq int
Default BRT ZAP indirect block size as a power of 2. Note that changing this
after creating a BRT on the pool will not affect existing BRTs, only newly
created ones.
@@ -2660,12 +2660,50 @@ Set value only applies to pools imported/created after that.
Set the queue and thread configuration for the IO read queues.
This is an advanced debugging parameter.
Don't change this unless you understand what it does.
+Each of the four values corresponds to the issue, issue high-priority,
+interrupt, and interrupt high-priority queues.
+Valid values are
+.Sy fixed,N,M
+(M queues with N threads each),
+.Sy scale[,MIN]
+(scale with CPUs, minimum MIN total threads),
+.Sy sync ,
+and
+.Sy null .
Set values only apply to pools imported/created after that.
.
.It Sy zio_taskq_write Ns = Ns Sy sync null scale null Pq charp
Set the queue and thread configuration for the IO write queues.
This is an advanced debugging parameter.
Don't change this unless you understand what it does.
+Each of the four values corresponds to the issue, issue high-priority,
+interrupt, and interrupt high-priority queues.
+Valid values are
+.Sy fixed,N,M
+(M queues with N threads each),
+.Sy scale[,MIN]
+(scale with CPUs, minimum MIN total threads),
+.Sy sync ,
+and
+.Sy null .
+Set values only apply to pools imported/created after that.
+.
+.It Sy zio_taskq_free Ns = Ns Sy scale,32 null null null Pq charp
+Set the queue and thread configuration for the IO free queues.
+This is an advanced debugging parameter.
+Don't change this unless you understand what it does.
+Each of the four values corresponds to the issue, issue high-priority,
+interrupt, and interrupt high-priority queues.
+Valid values are
+.Sy fixed,N,M
+(M queues with N threads each),
+.Sy scale[,MIN]
+(scale with CPUs, minimum MIN total threads),
+.Sy sync ,
+and
+.Sy null .
+The default uses a minimum of 32 threads to improve parallelism for
+DDT and BRT metadata operations during frees.
Set values only apply to pools imported/created after that.
.
.It Sy zvol_inhibit_dev Ns = Ns Sy 0 Ns | Ns 1 Pq uint
diff --git a/sys/contrib/openzfs/man/man7/vdevprops.7 b/sys/contrib/openzfs/man/man7/vdevprops.7
index 0fb28d7db13c..b54abcd3ecc9 100644
--- a/sys/contrib/openzfs/man/man7/vdevprops.7
+++ b/sys/contrib/openzfs/man/man7/vdevprops.7
@@ -45,7 +45,7 @@ section, below.
Every vdev has a set of properties that export statistics about the vdev
as well as control various behaviors.
Properties are not inherited from top-level vdevs, with the exception of
-checksum_n, checksum_t, io_n, io_t, slow_io_n, and slow_io_t.
+checksum_n, checksum_t, io_n, io_t, slow_io_events, slow_io_n, and slow_io_t.
.Pp
The values of numeric properties can be specified using human-readable suffixes
.Po for example,
@@ -149,6 +149,12 @@ For
.Sy OpenZFS on FreeBSD
defaults see
.Xr zfsd 8 .
+The
+.It Sy slow_io_events
+property controls whether slow I/O events are generated.
+Even when disabled, slow I/Os will be included in the
+.Nm zpool Cm status Fl s
+output.
.It Sy comment
A text comment up to 8192 characters long
.It Sy bootsize
diff --git a/sys/contrib/openzfs/man/man7/zpoolconcepts.7 b/sys/contrib/openzfs/man/man7/zpoolconcepts.7
index b9c8926d835d..21bd72351209 100644
--- a/sys/contrib/openzfs/man/man7/zpoolconcepts.7
+++ b/sys/contrib/openzfs/man/man7/zpoolconcepts.7
@@ -469,6 +469,11 @@ then rewind it during import:
.Dl # Nm zpool Cm export Ar pool
.Dl # Nm zpool Cm import Fl -rewind-to-checkpoint Ar pool
.Pp
+Note that rewinding to a checkpoint will
+.Sy permanently discard it.
+Once the pool has been successfully imported with the above rewind command,
+you cannot rewind to the same checkpoint.
+.Pp
To discard the checkpoint from a pool:
.Dl # Nm zpool Cm checkpoint Fl d Ar pool
.Pp
diff --git a/sys/contrib/openzfs/man/man8/zdb.8 b/sys/contrib/openzfs/man/man8/zdb.8
index c3290ea14769..f51e24fa849c 100644
--- a/sys/contrib/openzfs/man/man8/zdb.8
+++ b/sys/contrib/openzfs/man/man8/zdb.8
@@ -144,6 +144,20 @@ subcommand.
Display statistics regarding the number, size
.Pq logical, physical and allocated
and deduplication of blocks.
+.It Fl -bin Ns = Ns ( Li lsize Ns | Ns Li psize Ns | Ns Li asize )
+When used with
+.Fl bb ,
+sort blocks into all three bins according to the given size (instead of binning
+a block for each size separately).
+.Pp
+For instance, with
+.Fl -bin Ns = Ns Li lsize ,
+a block with lsize of 16K and psize of 4K will be added to the 16K bin
+in all three columns.
+.It Fl -class Ns = Ns ( Li normal Ns | Ns Li special Ns | Ns Li dedup Ns | Ns Li other ) Ns Op , Ns …
+When used with
+.Fl bb ,
+only consider blocks from these allocation classes.
.It Fl B , -backup
Generate a backup stream, similar to
.Nm zfs Cm send ,
diff --git a/sys/contrib/openzfs/man/man8/zfs-jail.8 b/sys/contrib/openzfs/man/man8/zfs-jail.8
index 569f5f57eab4..8f94a1bd4d81 100644
--- a/sys/contrib/openzfs/man/man8/zfs-jail.8
+++ b/sys/contrib/openzfs/man/man8/zfs-jail.8
@@ -37,7 +37,7 @@
.\" Copyright 2018 Nexenta Systems, Inc.
.\" Copyright 2019 Joyent, Inc.
.\"
-.Dd July 11, 2022
+.Dd November 4, 2025
.Dt ZFS-JAIL 8
.Os
.
@@ -53,9 +53,42 @@
.Ar filesystem
.
.Sh DESCRIPTION
-.Bl -tag -width ""
+The
+.Nm
+functionality can be used to assign a dataset onto a running
+.Fx
+system
+.Xr jail 4 ,
+allowing
+.Xr zfs 8
+management utilities to be run inside of the
+.Xr jail 4 .
+.Pp
+To allow management of the dataset from within a jail, the
+.Sy jailed
+property should be set and the required
+.Xr devfs.conf 5
+entries to expose
+.Pa /dev/zfs
+device within the jail must be present.
+The
+.Sy quota
+property cannot be changed from within a jail.
+.Pp
+To use this functionality, the jail needs the
+.Sy allow.mount
+and
+.Sy allow.mount.zfs
+parameters set to
+.Sy 1
+and the
+.Sy enforce_statfs
+parameter set to a value lower than
+.Sy 2 .
+.Pp
+The subcommands are as follows:
+.Bl -tag -width indent
.It Xo
-.Nm zfs
.Cm jail
.Ar jailid Ns | Ns Ar jailname
.Ar filesystem
@@ -69,16 +102,6 @@ or name
From now on this file system tree can be managed from within a jail if the
.Sy jailed
property has been set.
-To use this functionality, the jail needs the
-.Sy allow.mount
-and
-.Sy allow.mount.zfs
-parameters set to
-.Sy 1
-and the
-.Sy enforce_statfs
-parameter set to a value lower than
-.Sy 2 .
.Pp
You cannot attach a jailed dataset's children to another jail.
You can also not attach the root file system
@@ -86,29 +109,12 @@ of the jail or any dataset which needs to be mounted before the zfs rc script
is run inside the jail, as it would be attached unmounted until it is
mounted from the rc script inside the jail.
.Pp
-To allow management of the dataset from within a jail, the
-.Sy jailed
-property has to be set and the jail needs access to the
-.Pa /dev/zfs
-device.
-The
-.Sy quota
-property cannot be changed from within a jail.
-.Pp
After a dataset is attached to a jail and the
.Sy jailed
property is set, a jailed file system cannot be mounted outside the jail,
since the jail administrator might have set the mount point to an unacceptable
value.
-.Pp
-See
-.Xr jail 8
-for more information on managing jails.
-Jails are a
-.Fx
-feature and are not relevant on other platforms.
.It Xo
-.Nm zfs
.Cm unjail
.Ar jailid Ns | Ns Ar jailname
.Ar filesystem
@@ -121,5 +127,18 @@ or name
.Ar jailname .
.El
.Sh SEE ALSO
+.Xr devfs.conf 5 ,
.Xr zfsprops 7 ,
.Xr jail 8
+.Sh CAVEATS
+The root directory of jail can not be delegated to the jail with this
+utility because the jail must be running with a valid root directory.
+.Pp
+Jails are a
+.Fx
+feature and are not relevant on other platforms.
+See
+.Xr jail 8
+for more information on managing jails, or
+.Xr zfs-zone 8
+for the equivelant functionality on Linux.
diff --git a/sys/contrib/openzfs/man/man8/zfs-rewrite.8 b/sys/contrib/openzfs/man/man8/zfs-rewrite.8
index ca5340c7e5eb..ae0a1588293e 100644
--- a/sys/contrib/openzfs/man/man8/zfs-rewrite.8
+++ b/sys/contrib/openzfs/man/man8/zfs-rewrite.8
@@ -20,8 +20,9 @@
.\" CDDL HEADER END
.\"
.\" Copyright (c) 2025 iXsystems, Inc.
+.\" Copyright (c) 2025, Klara, Inc.
.\"
-.Dd July 23, 2025
+.Dd November 5, 2025
.Dt ZFS-REWRITE 8
.Os
.
@@ -39,9 +40,10 @@
.Sh DESCRIPTION
Rewrite blocks of specified
.Ar file
-as is without modification at a new location and possibly with new
-properties, such as checksum, compression, dedup, copies, etc,
+as is without modification at a new location and possibly with new properties,
as if they were atomically read and written back.
+.No See Sx NOTES .
+for more information about property changes that may be applied during rewrite.
.Bl -tag -width "-r"
.It Fl P
Perform physical rewrite, preserving logical birth time of blocks.
@@ -64,6 +66,20 @@ Print names of all successfully rewritten files.
Don't cross file system mount points when recursing.
.El
.Sh NOTES
+Rewrite works by replacing an existing block with a new block of the same
+logical size.
+Changed dataset properties that operate on the data or metadata without
+changing the logical size will be applied.
+These include
+.Sy checksum ,
+.Sy compression ,
+.Sy dedup
+and
+.Sy copies .
+Changes to properties that affect the size of a logical block, like
+.Sy recordsize ,
+will have no effect.
+.Pp
Rewrite of cloned blocks and blocks that are part of any snapshots,
same as some property changes may increase pool space usage.
Holes that were never written or were previously zero-compressed are
diff --git a/sys/contrib/openzfs/man/man8/zpool-events.8 b/sys/contrib/openzfs/man/man8/zpool-events.8
index 36a9864dc73b..3753139bdfe7 100644
--- a/sys/contrib/openzfs/man/man8/zpool-events.8
+++ b/sys/contrib/openzfs/man/man8/zpool-events.8
@@ -113,17 +113,19 @@ See
for more details on the
.Sy zfs_vdev_direct_write_verify
module parameter.
-.It Sy config
+.It Sy config_sync
Issued every time a vdev change have been done to the pool.
.It Sy zpool
Issued when a pool cannot be imported.
-.It Sy zpool.destroy
+.It Sy pool_create
+Issued when a pool is created.
+.It Sy pool_destroy
Issued when a pool is destroyed.
-.It Sy zpool.export
+.It Sy pool_export
Issued when a pool is exported.
-.It Sy zpool.import
+.It Sy pool_import
Issued when a pool is imported.
-.It Sy zpool.reguid
+.It Sy pool_reguid
Issued when a REGUID (new unique identifier for the pool have been regenerated)
have been detected.
.It Sy vdev.unknown
@@ -150,21 +152,31 @@ event.
Issued when the label is OK but invalid.
.It Sy vdev.bad_ashift
Issued when the ashift alignment requirement has increased.
-.It Sy vdev.remove
+.It Sy vdev_remove
Issued when a vdev is detached from a mirror (or a spare detached from a
vdev where it have been used to replace a failed drive - only works if
the original drive have been re-added).
-.It Sy vdev.clear
+.It Sy vdev_remove_aux
+Issued when an auxiliary vdev is removed.
+.It Sy vdev_remove_dev
+Issued when a specific device is removed from a vdev.
+.It Sy vdev_clear
Issued when clearing device errors in a pool.
Such as running
.Nm zpool Cm clear
on a device in the pool.
-.It Sy vdev.check
+.It Sy vdev_check
Issued when a check to see if a given vdev could be opened is started.
-.It Sy vdev.spare
+.It Sy vdev_spare
Issued when a spare have kicked in to replace a failed device.
-.It Sy vdev.autoexpand
+.It Sy vdev_autoexpand
Issued when a vdev can be automatically expanded.
+.It Sy vdev_add
+Issued when a vdev is added to a pool.
+.It Sy vdev_attach
+Issued when a vdev is attached to a mirror or raidz vdev type.
+.It Sy vdev_online
+Issued when an offline vdev is brought online
.It Sy io_failure
Issued when there is an I/O failure in a vdev in the pool.
.It Sy probe_failure
@@ -175,21 +187,46 @@ have removed the device).
.It Sy log_replay
Issued when the intent log cannot be replayed.
The can occur in the case of a missing or damaged log device.
-.It Sy resilver.start
+.It Sy resilver_start
Issued when a resilver is started.
-.It Sy resilver.finish
+.It Sy resilver_finish
Issued when the running resilver have finished.
-.It Sy scrub.start
+.It Sy scrub_start
Issued when a scrub is started on a pool.
-.It Sy scrub.finish
+.It Sy scrub_finish
Issued when a pool has finished scrubbing.
-.It Sy scrub.abort
+.It Sy scrub_abort
Issued when a scrub is aborted on a pool.
-.It Sy scrub.resume
+.It Sy scrub_resume
Issued when a scrub is resumed on a pool.
-.It Sy scrub.paused
+.It Sy scrub_paused
Issued when a scrub is paused on a pool.
-.It Sy bootfs.vdev.attach
+.It Sy errorscrub_start
+Issued when a errorscrub is started on a pool.
+.It Sy errorscrub_finish
+Issued when a pool has finished errorscrubbing.
+.It Sy errorscrub_abort
+Issued when a errorscrub is aborted on a pool.
+.It Sy errorscrub_resume
+Issued when a errorscrub is resumed on a pool.
+.It Sy errorscrub_paused
+Issued when a errorscrub is paused on a pool.
+.It Sy trim_start
+Issued when a trim is started on a pool.
+.It Sy trim_finish
+Issued when a pool has finished trimbing.
+.It Sy trim_cancel
+Issued when a trim is canceled on a pool.
+.It Sy trim_resume
+Issued when a trim is resumed on a pool.
+.It Sy trim_suspend
+Issued when a trim is suspend on a pool.
+.It Sy authentication
+Issued when there is a decryption / authentication error.
+.It Sy config_cache_write
+Issued when the config cache file cannot be written.
+.It Sy bootfs_vdev_attach
+Issued when a vdev is attached to a root pool with the bootfs property set.
.It Sy sitout
Issued when a
.Sy RAIDZ
diff --git a/sys/contrib/openzfs/man/man8/zpool-prefetch.8 b/sys/contrib/openzfs/man/man8/zpool-prefetch.8
index a36ad52e681e..6f4c3b129040 100644
--- a/sys/contrib/openzfs/man/man8/zpool-prefetch.8
+++ b/sys/contrib/openzfs/man/man8/zpool-prefetch.8
@@ -28,20 +28,25 @@
.
.Sh NAME
.Nm zpool-prefetch
-.Nd Loads specific types of data for the given pool
+.Nd Prefetches pool metadata into ARC
.Sh SYNOPSIS
.Nm zpool
.Cm prefetch
-.Fl t Ar type
+.Op Fl t Ar type
.Ar pool
.Sh DESCRIPTION
-.Bl -tag -width Ds
-.It Xo
-.Nm zpool
-.Cm prefetch
-.Fl t Li ddt
-.Ar pool
-.Xc
-Prefetch data of a specific type for the given pool; specifically the DDT,
-which will improve write I/O performance when the DDT is resident in the ARC.
+Massively prefetch metadata of a specific type for the given pool into the ARC
+to reduce latency of some operations later.
+If no type is specified, all types are prefetched.
+.Pp
+The following types are supported:
+.Bl -tag -width "brt"
+.It Sy brt
+Prefetch the BRT (block reference table).
+This may improve performance for block cloning operations,
+and frees for earlier cloned blocks.
+.It Sy ddt
+Prefetch the DDT (deduplication table).
+This may improve performance of writes when deduplication is enabled,
+and frees for earlier deduplicated blocks.
.El
diff --git a/sys/contrib/openzfs/man/man8/zpool-remove.8 b/sys/contrib/openzfs/man/man8/zpool-remove.8
index 4d5fc431d332..483d885f10fd 100644
--- a/sys/contrib/openzfs/man/man8/zpool-remove.8
+++ b/sys/contrib/openzfs/man/man8/zpool-remove.8
@@ -58,8 +58,8 @@ This command supports removing hot spare, cache, log, and both mirrored and
non-redundant primary top-level vdevs, including dedup and special vdevs.
.Pp
Top-level vdevs can only be removed if the primary pool storage does not contain
-a top-level raidz vdev, all top-level vdevs have the same sector size, and the
-keys for all encrypted datasets are loaded.
+a top-level raidz or draid vdev, all top-level vdevs have the same ashift size,
+and the keys for all encrypted datasets are loaded.
.Pp
Removing a top-level vdev reduces the total amount of space in the storage pool.
The specified device will be evacuated by copying all allocated space from it to