summaryrefslogtreecommitdiffstats
path: root/cddl
diff options
context:
space:
mode:
authormm <mm@FreeBSD.org>2011-11-21 15:26:20 +0000
committermm <mm@FreeBSD.org>2011-11-21 15:26:20 +0000
commitef1f257773d4049cdd18061b1aa3b8b2c01ea43a (patch)
tree9a8f07204e276bae8428cd45254fc30d613a8295 /cddl
parent1c31f8b5006d918b9df6a47b1fecc2d5f20ba963 (diff)
downloadFreeBSD-src-ef1f257773d4049cdd18061b1aa3b8b2c01ea43a.zip
FreeBSD-src-ef1f257773d4049cdd18061b1aa3b8b2c01ea43a.tar.gz
Update zfs(8) and zpool(8) manpages from CDDL-licensed sources [1].
Improved alignment for a maximum width of 80 characters. Mark unsupported parts as such. Reported to vendor: Illumos issue #1801 References: https://www.illumos.org/issues/1801 Obtained from: OpenSolaris CDDL manual pages (snv_134, s11express) [1] MFC after: 4 days
Diffstat (limited to 'cddl')
-rw-r--r--cddl/contrib/opensolaris/cmd/zfs/zfs.8573
-rw-r--r--cddl/contrib/opensolaris/cmd/zpool/zpool.8865
2 files changed, 1204 insertions, 234 deletions
diff --git a/cddl/contrib/opensolaris/cmd/zfs/zfs.8 b/cddl/contrib/opensolaris/cmd/zfs/zfs.8
index c32bfa2..420fb2e 100644
--- a/cddl/contrib/opensolaris/cmd/zfs/zfs.8
+++ b/cddl/contrib/opensolaris/cmd/zfs/zfs.8
@@ -1,8 +1,5 @@
'\" te
-.\" Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
-.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
-.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.\" Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
@@ -10,7 +7,7 @@
.\" Copyright 2011 by Delphix. All rights reserved.
.\" Portions Copyright 2011 Pawel Jakub Dawidek <pjd@FreeBSD.org>
.\" Portions Copyright 2011 Martin Matuska <mm@FreeBSD.org>
-.TH ZFS 8 "September 24, 2009" FreeBSD
+.TH ZFS 8 "November 21, 2011" FreeBSD
.SH NAME
zfs \- configures ZFS file systems
.SH SYNOPSIS
@@ -94,13 +91,13 @@ zfs \- configures ZFS file systems
.LP
.nf
-\fBzfs\fR \fBget\fR [\fB-r\fR|\fB-d\fR \fIdepth\fR][\fB-Hp\fR][\fB-o\fR \fIfield\fR[,...]] [\fB-s\fR \fIsource\fR[,...]]
- "\fIall\fR" | \fIproperty\fR[,...] \fIfilesystem\fR|\fIvolume\fR|\fIsnapshot\fR ...
+\fBzfs\fR \fBget\fR [\fB-r\fR|\fB-d\fR \fIdepth\fR][\fB-Hp\fR][\fB-o\fR all | \fIfield\fR[,...]] [\fB-s\fR \fIsource\fR[,...]]
+ all | \fIproperty\fR[,...] \fIfilesystem\fR|\fIvolume\fR|\fIsnapshot\fR ...
.fi
.LP
.nf
-\fBzfs\fR \fBinherit\fR [\fB-r\fR] \fIproperty\fR \fIfilesystem\fR|\fIvolume|snapshot\fR ...
+\fBzfs\fR \fBinherit\fR [\fB-rS\fR] \fIproperty\fR \fIfilesystem\fR|\fIvolume|snapshot\fR ...
.fi
.LP
@@ -152,7 +149,7 @@ zfs \- configures ZFS file systems
.LP
.nf
-\fBzfs\fR \fBsend\fR [\fB-vR\fR] [\fB-\fR[\fBiI\fR] \fIsnapshot\fR] \fIsnapshot\fR
+\fBzfs\fR \fBsend\fR [\fB-DvRp\fR] [\fB-\fR[\fBiI\fR] \fIsnapshot\fR] \fIsnapshot\fR
.fi
.LP
@@ -162,7 +159,7 @@ zfs \- configures ZFS file systems
.LP
.nf
-\fBzfs\fR \fBreceive\fR [\fB-vnFu\fR] \fB-d\fR \fIfilesystem\fR
+\fBzfs\fR \fBreceive\fR [\fB-vnFu\fR] [\fB-d\fR | \fB-e\fR] \fIfilesystem\fR
.fi
.LP
@@ -172,7 +169,7 @@ zfs \- configures ZFS file systems
.LP
.nf
-\fBzfs\fR \fBallow\fR [\fB-ldug\fR] "\fIeveryone\fR"|\fIuser\fR|\fIgroup\fR[,...] \fIperm\fR|\fI@setname\fR[,...]
+\fBzfs\fR \fBallow\fR [\fB-ldug\fR] \fBeveryone\fR|\fIuser\fR|\fIgroup\fR[,...] \fIperm\fR|\fI@setname\fR[,...]
\fIfilesystem\fR|\fIvolume\fR
.fi
@@ -193,7 +190,7 @@ zfs \- configures ZFS file systems
.LP
.nf
-\fBzfs\fR \fBunallow\fR [\fB-rldug\fR] "\fIeveryone\fR"|\fIuser\fR|\fIgroup\fR[,...] [\fIperm\fR|@\fIsetname\fR[,... ]]
+\fBzfs\fR \fBunallow\fR [\fB-rldug\fR] \fBeveryone\fR|\fIuser\fR|\fIgroup\fR[,...] [\fIperm\fR|@\fIsetname\fR[,... ]]
\fIfilesystem\fR|\fIvolume\fR
.fi
@@ -237,6 +234,11 @@ zfs \- configures ZFS file systems
\fBzfs\fR \fBunjail\fR \fIjailid\fR \fIfilesystem\fR
.fi
+.LP
+.nf
+\fBzfs\fR \fBdiff\fR [\fB-FHt\fR] \fIsnapshot\fR \fIsnapshot\fR|\fIfilesystem\fR
+.fi
+
.SH DESCRIPTION
.sp
.LP
@@ -396,6 +398,16 @@ A \fBZFS\fR dataset can be detached from a jail using the \fBzfs\fR
After a dataset is attached to a jail and the \fBjailed\fR 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.
+.SS "Deduplication"
+.sp
+.LP
+Deduplication is the process of removing redundant data at the block-level,
+reducing the total amount of data stored. Deduplication is pool-wide; each
+dataset can opt in or out using its own \fBdedup\fR property. If a file system
+has the \fBdedup\fR property enabled, duplicate data blocks are removed
+synchronously on write. The result is that only unique data are stored and
+common components are shared among files in all datasets in the pool that have
+\fBdedup\fR enabled.
.SS "Native Properties"
.sp
.LP
@@ -559,10 +571,11 @@ The type of dataset: \fBfilesystem\fR, \fBvolume\fR, or \fBsnapshot\fR.
The amount of space consumed by this dataset and all its descendents. This is
the value that is checked against this dataset's quota and reservation. The
space used does not include this dataset's reservation, but does take into
-account the reservations of any descendent datasets. The amount of space that a
-dataset consumes from its parent, as well as the amount of space that are freed
-if this dataset is recursively destroyed, is the greater of its space used and
-its reservation.
+account \fBrefreservation\fR (through \fBusedbyrefreservation\fR) and the
+reservations of any descendent datasets (through \fBusedbychildren\fR). The
+amount of space that a dataset consumes from its parent, as well as the amount
+of space that are freed if this dataset is recursively destroyed, is the
+greater of its space used and its reservation.
.sp
When snapshots (see the "Snapshots" section) are created, their space is
initially shared between the snapshot and the file system, and possibly with
@@ -624,6 +637,14 @@ destroying any necessary snapshots or descendents).
.RS 4n
The amount of space used by a \fBrefreservation\fR set on this dataset, which
would be freed if the \fBrefreservation\fR was removed.
+.sp
+Space accounted for by this property represents potential consumption by future
+writes, reserved in advance to prevent write allocation failures in this
+dataset. This can include unwritten data, space currently shared with
+snapshots, and compression savings for volumes (which may be lost when
+replaced with less compressible data). When allocations for later writes
+increase \fBusedbydataset\fR or \fBusedbysnapshots\fR,
+\fBusedbyrefreservation\fR will decrease accordingly.
.RE
.sp
@@ -874,6 +895,25 @@ property at file system creation time by using the \fB-o\fR
.sp
.ne 2
.na
+\fB\fBdedup\fR=\fBon\fR | \fBoff\fR | \fBverify\fR |
+\fBsha256\fR[,\fBverify\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Controls whether deduplication is in effect for a dataset. The default value
+is \fBoff\fR. The default checksum used for deduplication is \fBsha256\fR
+(subject to change). When \fBdedup\fR is enabled, the \fBdedup\fR checksum
+algorithm overrides the \fBchecksum\fR property. Setting the value to
+\fBverify\fR is equivalent to specifying \fBsha256,verify\fR.
+.sp
+If the property is set to \fBverify\fR, then, whenever two blocks have the
+same signature, ZFS will do a byte-for-byte comparison with the existing block
+to ensure that the contents are identical.
+.RE
+
+.sp
+.ne 2
+.na
\fB\fBdevices\fR=\fBon\fR | \fBoff\fR\fR
.ad
.sp .6
@@ -907,6 +947,16 @@ section for more information. The default value is \fBoff\fR.
.sp
.ne 2
.na
+\fB\fBmlslabel\fR=\fIlabel\fR | \fBnone\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fBmlslabel\fR property is not supported on FreeBSD.
+.RE
+
+.sp
+.ne 2
+.na
\fB\fBmountpoint\fR=\fIpath\fR | \fBnone\fR | \fBlegacy\fR\fR
.ad
.sp .6
@@ -931,7 +981,7 @@ new location.
.sp .6
.RS 4n
Controls whether the file system should be mounted with \fBnbmand\fR (Non
-Blocking mandatory locks). This is used for \fBCIFS\fR clients. Changes to this
+Blocking mandatory locks). This is used for \fBSMB\fR clients. Changes to this
property only take effect when the file system is umounted and remounted. See
\fBmount\fR(8) for more information on \fBnbmand\fR mounts.
.RE
@@ -970,17 +1020,96 @@ implicit quota.
.sp
.ne 2
.na
+\fB\fBsync=standard\fR | \fBalways\fR | \fBdisabled\fR\fR
+.ad
+.sp .6
+.RS 4n
+Determines the degree to which file system transactions are synchronized. This
+property can be set when a dataset is created, or dynamically, and will take
+effect immediately. \fBsync\fR can have one of the following settings:
+.sp
+.ne 2
+.na
+\fB\fBstandard\fR\fR
+.ad
+.sp .6
+.RS 4n
+The default option. Synchronous file system transactions are written to the
+intent log and then all devices written are flushed to ensure the data is
+stable (that is, not cached by device controllers).
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBalways\fR\fR
+.ad
+.sp .6
+.RS 4n
+Every file system transaction would be written and flushed to stable storage.
+This setting should be used only where extreme caution is required, as there
+is a significant performance penalty.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBdisabled\fR\fR
+.ad
+.sp .6
+.RS 4n
+Synchronous requests are disabled. File system transactions commit to stable
+storage only on the next DMU transaction group commit, which might be after
+many seconds. This setting gives the highest performance. However, it is very
+dangerous as ZFS would be ignoring the synchronous transaction demands of
+applications such as databases or NFS. Furthermore, when this setting is in
+effect for the currently active root or \fB/var\fR filesystem, out-of-spec
+behavior, application data loss, and increased vulnerability to replay attacks
+can result. Administrators should only use this option only when these risks
+are understood.
+.RE
+
+To change the property, use a command such as either of the following:
+.sp
+.in +2
+.nf
+# \fBzfs create -o sync=disabled whirlpool/milek\fR
+# \fBzfs set sync=always whirlpool/perrin\fR
+.fi
+.in -2
+.sp
+
+Retrieve the value of sync as you would other properties. For example:
+.sp
+.in +2
+.nf
+% \fBzfs get sync\fR
+% \fBzfs list -o sync\fR
+.fi
+.in -2
+.sp
+
+The \fBsync\fR property is not inherited from parent datasets.
+.RE
+
+.sp
+.ne 2
+.na
\fB\fBuserquota@\fR\fIuser\fR=\fIsize\fR | \fBnone\fR\fR
.ad
.sp .6
.RS 4n
-Limits the amount of space consumed by the specified user. User space
-consumption is identified by the \fBuserspace@\fR\fIuser\fR property.
+Limits the amount of space consumed by the specified user. Similar to the
+\fBrefquota\fR property, the \fBuserquota\fR space calculation does not inc
+lude space that is used by descendent datasets, such as snapshots and clones.
+User space consumption is identified by the \fBuserspace@\fR\fIuser\fR p
+roperty.
.sp
Enforcement of user quotas may be delayed by several seconds. This delay means
-that a user might exceed their quota before the system notices that they are
-over quota and begins to refuse additional writes with the \fBEDQUOT\fR error
-message . See the \fBzfs userspace\fR subcommand for more information.
+that a user might exceed her quota before the system notices that she is over
+quota. The system would then begin to refuse additional writes with the
+\fBEDQUOT\fR error message . See the \fBzfs userspace\fR subcommand for more
+information.
.sp
Unprivileged users can only access their own groups' space usage. The root
user, or a user who has been granted the \fBuserquota\fR privilege with \fBzfs
@@ -1184,12 +1313,12 @@ daemon is reloaded.
.ad
.sp .6
.RS 4n
-Provide a hint to ZFS about handling of synchronous requests in this dataset.
-If \fBlogbias\fR is set to \fBlatency\fR (the default), ZFS will use pool log
-devices (if configured) to handle the requests at low latency. If \fBlogbias\fR
-is set to \fBthroughput\fR, ZFS will not use configured pool log devices. ZFS
-will instead optimize synchronous operations for global pool throughput and
-efficient use of resources.
+Provides a hint to ZFS about handling of synchronous requests in this dataset.
+If \fBlogbias\fR is set to \fBlatency\fR (the default), ZFS uses the pool's
+log devices (if configured) to handle the requests at low latency. If
+\fBlogbias\fR is set to \fBthroughput\fR, ZFS does not use the configured pool
+log devices. Instead, ZFS optimizes synchronous operations for global pool
+throughput and efficient use of resources.
.RE
.sp
@@ -1231,11 +1360,13 @@ reservation (or \fBrefreservation\fR). The \fBvolsize\fR can only be set to a
multiple of \fBvolblocksize\fR, and cannot be zero.
.sp
The reservation is kept equal to the volume's logical size to prevent
-unexpected behavior for consumers. Without the reservation, the volume could
-run out of space, resulting in undefined behavior or data corruption, depending
-on how the volume is used. These effects can also occur when the volume size is
-changed while it is in use (particularly when shrinking the size). Extreme care
-should be used when adjusting the volume size.
+unexpected behavior for consumers. The reservation size corresponds to the
+volume's logical size, increased by ZFS implementation overhead. Without the
+reservation, the volume could run out of space, resulting in undefined behavior
+or data corruption, depending on how the volume is used. These effects can also
+occur when the volume size is changed while it is in use (particularly when
+shrinking the size). Extreme care should be used when adjusting the volume
+size.
.sp
Though not recommended, a "sparse volume" (also known as "thin provisioning")
can be created by specifying the \fB-s\fR option to the \fBzfs create -V\fR
@@ -1286,7 +1417,7 @@ these properties.
.ad
.sp .6
.RS 4n
-The \fB\fBcasesensitivity\fR property is currently not supported on FreeBSD.
+The \fBcasesensitivity\fR property is not supported on FreeBSD.
.RE
.sp
@@ -1989,7 +2120,7 @@ Properties" section.
.ne 2
.na
\fB\fBzfs get\fR [\fB-r\fR|\fB-d\fR \fIdepth\fR] [\fB-Hp\fR] [\fB-o\fR
-\fIfield\fR[,...] [\fB-s\fR \fIsource\fR[,...] "\fIall\fR" |
+\fBall\fR | \fIfield\fR[,...] [\fB-s\fR \fIsource\fR[,...]] \fBall\fR |
\fIproperty\fR[,...] \fIfilesystem\fR|\fIvolume\fR|\fIsnapshot\fR ...\fR
.ad
.sp .6
@@ -2000,7 +2131,7 @@ property, the following columns are displayed:
.sp
.in +2
.nf
- name Dataset name
+ name Dataset name
property Property name
value Property value
source Property source. Can either be local, default,
@@ -2009,9 +2140,10 @@ property, the following columns are displayed:
.in -2
.sp
-All columns are displayed by default, though this can be controlled by using
-the \fB-o\fR option. This command takes a comma-separated list of properties as
-described in the "Native Properties" and "User Properties" sections.
+All columns except the \fBRECEIVED\fR column are displayed by default; specify
+particular or all columns, using the \fB-o\fR option. This command takes a
+comma-separated list of properties as described in the "Native Properties" and
+"User Properties" sections.
.sp
The special value \fBall\fR can be used to display all properties that apply to
the given dataset's type (filesystem, volume, or snapshot).
@@ -2056,8 +2188,25 @@ arbitrary amount of space.
.ad
.sp .6
.RS 4n
-A comma-separated list of columns to display. \fBname,property,value,source\fR
-is the default value.
+Set of fields to display. One or more of:
+.sp
+.in +2
+.nf
+name,property,value,received,source
+.fi
+.in -2
+.sp
+
+Present multiple fields as a comma-separated list. The default value is:
+.sp
+.in +2
+.nf
+name,property,value,source
+.fi
+.in -2
+.sp
+
+The keyword \fBall\fR specifies all sources.
.RE
.sp
@@ -2069,8 +2218,16 @@ is the default value.
.RS 4n
A comma-separated list of sources to display. Those properties coming from a
source other than those in this list are ignored. Each source must be one of
-the following: \fBlocal,default,inherited,temporary,none\fR. The default value
-is all sources.
+the following:
+.sp
+.in +2
+.nf
+local,default,inherited,temporary,received,none
+.fi
+.in -2
+.sp
+
+The default value is all sources.
.RE
.sp
@@ -2088,7 +2245,7 @@ Display numbers in parseable (exact) values.
.sp
.ne 2
.na
-\fB\fBzfs inherit\fR [\fB-r\fR] \fIproperty\fR
+\fB\fBzfs inherit\fR [\fB-rS\fR] \fIproperty\fR
\fIfilesystem\fR|\fIvolume\fR|\fIsnapshot\fR ...\fR
.ad
.sp .6
@@ -2107,6 +2264,20 @@ properties can be inherited.
Recursively inherit the given property for all children.
.RE
+.sp
+.ne 2
+.na
+\fB\fB-S\fR\fR
+.ad
+.sp .6
+.RS 4n
+Revert to the received property value, if any. If the property does not have a
+received value, the behavior of \fBzfs inherit\fR \fB-S\fR is the same as
+\fBzfs inherit\fR without \fB-S\fR. If the property does have a received
+value, \fBzfs inherit\fR masks the received value with the inherited value
+until \fBzfs inherit\fR \fB-S\fR reverts to the received value.
+.RE
+
.RE
.sp
@@ -2127,10 +2298,10 @@ Displays a list of file systems that are not the most recent version.
.ad
.sp .6
.RS 4n
-Upgrades file systems to a new on-disk version. Once this is done, the file
-systems will no longer be accessible on systems running older versions of the
-software. \fBzfs send\fR streams generated from new snapshots of these file
-systems cannot be accessed on systems running older versions of the software.
+Upgrades file systems to a new, on-disk version. Upgrading a file system means
+that it will no longer be accessible on a system running an older software
+version. A \fBzfs send\fR stream that is generated from a new file system
+snapshot cannot be accessed on a system that runs an older software version.
.sp
In general, the file system version is independent of the pool version. See
\fBzpool\fR(8) for information on the \fBzpool upgrade\fR command.
@@ -2439,7 +2610,11 @@ Unmount the specified filesystem. The command can also be given a path to a
.ad
.sp .6
.RS 4n
-Shares available \fBZFS\fR file systems.
+Shares ZFS file systems that have the \fBsharenfs\fR or \fBsharesmb\fR
+property set. Sharing a file system with the NFS or SMB protocol means that
+the file system data is available over the network. ZFS file systems that have
+the \fBsharenfs\fR or \fBsharesmb\fR property set are automatically shared
+when a system is booted.
.sp
.ne 2
.na
@@ -2447,8 +2622,8 @@ Shares available \fBZFS\fR file systems.
.ad
.sp .6
.RS 4n
-Share all available \fBZFS\fR file systems. Invoked automatically as part of
-the boot process.
+Shares all ZFS file systems that have the \fBsharenfs\fR or \fBsharesmb\fR
+property set and according to the share property values.
.RE
.sp
@@ -2458,9 +2633,8 @@ the boot process.
.ad
.sp .6
.RS 4n
-Share the specified filesystem according to the \fBsharenfs\fR and
-\fBsharesmb\fR properties. File systems are shared when the \fBsharenfs\fR or
-\fBsharesmb\fR property is set.
+Shares the specified file system that has the \fBsharenfs\fR or \fBsharesmb\fR
+property set and according to the share property values.
.RE
.RE
@@ -2472,8 +2646,8 @@ Share the specified filesystem according to the \fBsharenfs\fR and
.ad
.sp .6
.RS 4n
-Unshares currently shared \fBZFS\fR file systems. This is invoked automatically
-as part of the shutdown process.
+Unshares all ZFS file systems that have the \fBsharenfs\fR or \fBsharesmb\fR
+property set.
.sp
.ne 2
.na
@@ -2501,8 +2675,8 @@ Unshare the specified filesystem. The command can also be given a path to a
.sp
.ne 2
.na
-\fB\fBzfs send\fR [\fB-vR\fR] [\fB-\fR[\fBiI\fR] \fIsnapshot\fR]
-\fIsnapshot\fR\fR
+\fBzfs send\fR [\fB-DvRp\fR] [\fB-\fR[\fBiI\fR] \fIsnapshot\fR]
+\fIsnapshot\fR
.ad
.sp .6
.RS 4n
@@ -2510,6 +2684,18 @@ Creates a stream representation of the second \fIsnapshot\fR, which is written
to standard output. The output can be redirected to a file or to a different
system (for example, using \fBssh\fR(1). By default, a full stream is
generated.
+
+.sp
+.ne 2
+.na
+\fB\fB-D\fR\fR
+.ad
+.sp .6
+.RS 4n
+Perform \fBdedup\fR processing on the stream. Deduplicated streams cannot be
+received on systems that do not support the stream deduplication feature.
+.RE
+
.sp
.ne 2
.na
@@ -2582,7 +2768,7 @@ on future versions of \fBZFS\fR.
.ad
.br
.na
-\fB\fBzfs receive\fR [\fB-vnFu\fR] \fB-d\fR \fIfilesystem\fR\fR
+\fB\fBzfs receive\fR [\fB-vnFu\fR] [\fB-d\fR | \fB-e\fR] \fIfilesystem\fR\fR
.ad
.sp .6
.RS 4n
@@ -2604,15 +2790,21 @@ on the sending location are destroyed by using the \fBzfs destroy\fR \fB-d\fR
command.
.sp
The name of the snapshot (and file system, if a full stream is received) that
-this subcommand creates depends on the argument type and the \fB-d\fR option.
+this subcommand creates depends on the argument type and the \fB-d\fR or
+\fB-e\fR option.
.sp
If the argument is a snapshot name, the specified \fIsnapshot\fR is created. If
the argument is a file system or volume name, a snapshot with the same name as
the sent snapshot is created within the specified \fIfilesystem\fR or
-\fIvolume\fR. If the \fB-d\fR option is specified, the snapshot name is
-determined by appending the sent snapshot's name to the specified
-\fIfilesystem\fR. If the \fB-d\fR option is specified, any required file
-systems within the specified one are created.
+\fIvolume\fR. If the \fB-d\fR or \fB-e\fR option is specified, the snapshot
+name is determined by appending the sent snapshot's name to the specified
+filesystem. If the \fB-d\fR option is specified, all but the pool name of the
+sent snapshot path is appended (for example, \fBb/c@1\fR appended from sent
+snapshot \fBa/b/c@1\fR), and if the \fB-e\fR option is specified, only the tail
+of the sent snapshot path is appended (for example, \fBc@1\fR appended from
+sent snapshot \fBa/b/c@1\fR). In the case of \fB-d\fR, any file systems needed
+to replicate the path of the sent snapshot are created within the specified
+file system.
.sp
.ne 2
.na
@@ -2620,8 +2812,20 @@ systems within the specified one are created.
.ad
.sp .6
.RS 4n
-Use the name of the sent snapshot to determine the name of the new snapshot as
-described in the paragraph above.
+Use all but the first element of the sent snapshot path (all but the pool name)
+to determine the name of the new snapshot as described in the paragraph above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-e\fR\fR
+.ad
+.sp .6
+.RS 4n
+Use the last element of the sent snapshot path to determine the name of the new
+snapshot as described in the paragraph above.
.RE
.sp
@@ -2637,6 +2841,16 @@ File system that is associated with the received stream is not mounted.
.sp
.ne 2
.na
+\fB\fB-p\fR\fR
+.ad
+.sp .6
+.RS 4n
+Send properties.
+.RE
+
+.sp
+.ne 2
+.na
\fB\fB-v\fR\fR
.ad
.sp .6
@@ -2685,7 +2899,7 @@ volume. See the other forms of \fBzfs allow\fR for more information.
.sp
.ne 2
.na
-\fB\fBzfs allow\fR [\fB-ldug\fR] "\fIeveryone\fR"|\fIuser\fR|\fIgroup\fR[,...]
+\fB\fBzfs allow\fR [\fB-ldug\fR] \fBeveryone\fR|\fIuser\fR|\fIgroup\fR[,...]
\fIperm\fR|@\fIsetname\fR[,...] \fIfilesystem\fR| \fIvolume\fR\fR
.ad
.br
@@ -2700,14 +2914,14 @@ non-privileged users.
.sp
.ne 2
.na
-\fB[\fB-ug\fR] "\fIeveryone\fR"|\fIuser\fR|\fIgroup\fR[,...]\fR
+\fB[\fB-ug\fR] \fBeveryone\fR|\fIuser\fR|\fIgroup\fR[,...]\fR
.ad
.sp .6
.RS 4n
Specifies to whom the permissions are delegated. Multiple entities can be
specified as a comma-separated list. If neither of the \fB-ug\fR options are
specified, then the argument is interpreted preferentially as the keyword
-"everyone", then as a user name, and lastly as a group name. To specify a user
+\fBeveryone\fR, then as a user name, and lastly as a group name. To specify a user
or group named "everyone", use the \fB-u\fR or \fB-g\fR options. To specify a
group with the same name as a user, use the \fB-g\fR options.
.RE
@@ -2719,7 +2933,7 @@ group with the same name as a user, use the \fB-g\fR options.
.ad
.sp .6
.RS 4n
-Specifies that the permissions be delegated to "everyone." Multiple permissions
+Specifies that the permissions be delegated to \fBeveryone\fR. Multiple permissions
may be specified as a comma-separated list. Permission names are the same as
\fBZFS\fR subcommand and property names. See the property list below. Property
set names, which begin with an at sign (\fB@\fR) , may be specified. See the
@@ -2751,16 +2965,21 @@ Permissions are generally the ability to use a \fBZFS\fR subcommand or change a
.in +2
.nf
NAME TYPE NOTES
-allow subcommand Must also have the permission that is being
- allowed
-clone subcommand Must also have the 'create' ability and 'mount'
- ability in the origin file system
+allow subcommand Must also have the permission that is
+ being allowed
+clone subcommand Must also have the 'create' ability and
+ 'mount' ability in the origin file system
create subcommand Must also have the 'mount' ability
destroy subcommand Must also have the 'mount' ability
+diff subcommand Allows user to compare differences between
+ snapshots of a ZFS dataset
+hold subcommand Allows adding a user hold to a snapshot
mount subcommand Allows mount/umount of ZFS datasets
-promote subcommand Must also have the 'mount'
- and 'promote' ability in the origin file system
+promote subcommand Must also have the 'mount' and 'promote'
+ ability in the origin file system
receive subcommand Must also have the 'mount' and 'create' ability
+release subcommand Allows releasing a user hold which
+ might destroy the snapshot
rename subcommand Must also have the 'mount' and 'create'
ability in the new parent
rollback subcommand Must also have the 'mount' ability
@@ -2782,9 +3001,12 @@ casesensitivity property
checksum property
compression property
copies property
+dedup property
devices property
exec property
jailed property
+logbias property
+mlslabel property
mountpoint property
nbmand property
normalization property
@@ -2800,6 +3022,7 @@ setuid property
sharenfs property
sharesmb property
snapdir property
+sync property
utf8only property
version property
volblocksize property
@@ -2842,7 +3065,7 @@ characters long.
.ne 2
.na
\fB\fBzfs unallow\fR [\fB-rldug\fR]
-"\fIeveryone\fR"|\fIuser\fR|\fIgroup\fR[,...]
+\fBeveryone\fR|\fIuser\fR|\fIgroup\fR[,...]
[\fIperm\fR|@\fIsetname\fR[, ...]] \fIfilesystem\fR|\fIvolume\fR\fR
.ad
.br
@@ -2864,10 +3087,10 @@ Removes permissions that were granted with the \fBzfs allow\fR command. No
permissions are explicitly denied, so other permissions granted are still in
effect. For example, if the permission is granted by an ancestor. If no
permissions are specified, then all permissions for the specified \fIuser\fR,
-\fIgroup\fR, or \fIeveryone\fR are removed. Specifying "everyone" (or using the
-\fB-e\fR option) only removes the permissions that were granted to "everyone",
-not all permissions for every user and group. See the \fBzfs allow\fR command
-for a description of the \fB-ldugec\fR options.
+\fIgroup\fR, or \fIeveryone\fR are removed. Specifying \fBeveryone\fR (or
+using the \fB-e\fR option) only removes the permissions that were granted to
+\fReveryone\fB, not all permissions for every user and group. See the
+\fBzfs allow\fR command for a description of the \fB-ldugec\fR options.
.sp
.ne 2
.na
@@ -2995,6 +3218,170 @@ Detaches the given file system from the given jail.
.RE
+.sp
+.ne 2
+.na
+\fB\fBzfs diff\fR [\fB-FHt\fR] \fIsnapshot\fR \fIsnapshot\fR |
+\fIfilesystem\fR\fR
+.ad
+.sp .6
+.RS 4n
+Gives a high-level description of the differences between a snapshot and a
+descendent dataset. The descendent can be either a snapshot of the dataset or
+the current dataset.
+.sp
+For each file that has undergone a change between the original snapshot and
+the descendent, the type of change is described along with the name of the
+file. In the case of a rename, both the old and new names are shown. Whitespace
+characters, backslash characters, and other non-printable or non-7-bit ASCII
+characters found in file names are displayed as a backslash character followed
+by the three-digit octal representation of the byte value.
+.sp
+If the \fB-t\fR option is specified, the first column of output from the
+command is the file's \fBst_ctim\fR value. For deleted files, this is the final
+\fBst_ctim\fR in the earlier snapshot.
+.sp
+The type of change follows any timestamp displayed, and is described with a
+single character:
+.sp
+.ne 2
+.na
+\fB\fB+\fR\fR
+.ad
+.RS 5n
+Indicates the file was added in the later dataset.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fB-\fR\fR
+.ad
+.RS 5n
+Indicates the file was removed in the later dataset.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBM\fR\fR
+.ad
+.RS 5n
+Indicates the file was modified in the later dataset.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBR\fR\fR
+.ad
+.RS 5n
+Indicates the file was renamed in the later dataset.
+.RE
+
+If the \fB-F\fR option is specified, the next column of output will be a single
+character describing the type of the file. The mappings are:
+.sp
+.ne 2
+.na
+\fB\fBF\fR\fR
+.ad
+.RS 5n
+regular file
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fB/\fR\fR
+.ad
+.RS 5n
+directory
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBB\fR\fR
+.ad
+.RS 5n
+block device
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fB>\fR\fR
+.ad
+.RS 5n
+door
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fB|\fR\fR
+.ad
+.RS 5n
+FIFO
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fB@\fR\fR
+.ad
+.RS 5n
+symbolic link
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBP\fR\fR
+.ad
+.RS 5n
+event portal
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fB=\fR\fR
+.ad
+.RS 5n
+socket
+.RE
+
+If the modification involved a change in the link count of a non-directory
+file, the change will be expressed as a delta within parentheses on the
+modification line. If the file was renamed, the old name will be separated from
+the new with the string "\fB->\fR".
+.sp
+The following is example output with both the \fB-F\fR and \fB-t\fR options
+specified:
+.sp
+.in +2
+.nf
+1269962501.206726811 M / /myfiles/
+1269962444.207369955 M F /myfiles/link_to_me (+1)
+1269962499.207519034 R /myfiles/rename_me -> /myfiles/renamed
+1269962431.813566720 - F /myfiles/delete_me
+1269962518.666905544 + F /myfiles/new_file
+1269962501.393099817 + | /myfiles/new_pipe
+.fi
+.in -2
+.sp
+If the \fB-H\fR option is selected, easier-to-parse output is produced. Fields
+are separated by a single tab, and no arrow string (\fB->\fR) is placed between
+the old and new names of a rename. No guarantees are made on the spacing
+between fields of non \fB-H\fR output.
+.sp
+Unless they already have the \fB{PRIV_SYS_CONFIG}\fR or \fB{PRIV_SYS_MOUNT}\fR
+privilege, users must be granted the \fBdiff\fR permission with \fBzfs allow\fR
+to use this subcommand.
+.RE
+
.SH EXAMPLES
.LP
\fBExample 1 \fRCreating a ZFS File System Hierarchy
@@ -3114,19 +3501,19 @@ The following command lists all properties for \fBpool/home/bob\fR.
# \fBzfs get all pool/home/bob\fR
NAME PROPERTY VALUE SOURCE
pool/home/bob type filesystem -
-pool/home/bob creation Tue Jul 21 15:53 2009 -
+pool/home/bob creation Wed May 5 6:13 2010 -
pool/home/bob used 21K -
-pool/home/bob available 20.0G -
+pool/home/bob available 50.0G -
pool/home/bob referenced 21K -
pool/home/bob compressratio 1.00x -
pool/home/bob mounted yes -
-pool/home/bob quota 20G local
+pool/home/bob quota 50G local
pool/home/bob reservation none default
pool/home/bob recordsize 128K default
pool/home/bob mountpoint /pool/home/bob default
pool/home/bob sharenfs off default
pool/home/bob checksum on default
-pool/home/bob compression on local
+pool/home/bob compression off local
pool/home/bob atime on default
pool/home/bob devices on default
pool/home/bob exec on default
@@ -3154,6 +3541,8 @@ pool/home/bob usedbysnapshots 0 -
pool/home/bob usedbydataset 21K -
pool/home/bob usedbychildren 0 -
pool/home/bob usedbyrefreservation 0 -
+pool/home/bob logbias latency default
+pool/home/bob mlslabel none default
.fi
.in -2
.sp
@@ -3314,7 +3703,7 @@ property for a dataset.
.sp
.LP
-\fBExample 16 \fRPerforming a Rolling Snapshot
+\fBExample 15 \fRPerforming a Rolling Snapshot
.sp
.LP
The following example shows how to maintain a history of snapshots with a
@@ -3339,7 +3728,7 @@ a new snapshot, as follows:
.sp
.LP
-\fBExample 17 \fRSetting \fBsharenfs\fR Property Options on a ZFS File System
+\fBExample 16 \fRSetting \fBsharenfs\fR Property Options on a ZFS File System
.sp
.LP
The following commands show how to set \fBsharenfs\fR property options to
@@ -3360,7 +3749,7 @@ If you are using \fBDNS\fR for host name resolution, specify the fully
qualified hostname.
.LP
-\fBExample 18 \fRDelegating ZFS Administration Permissions on a ZFS Dataset
+\fBExample 17 \fRDelegating ZFS Administration Permissions on a ZFS Dataset
.sp
.LP
The following example shows how to set permissions so that user \fBcindys\fR
@@ -3394,7 +3783,7 @@ Set an \fBACL\fR similar to the following syntax to provide mount point access:
.sp
.LP
-\fBExample 19 \fRDelegating Create Time Permissions on a ZFS Dataset
+\fBExample 18 \fRDelegating Create Time Permissions on a ZFS Dataset
.sp
.LP
The following example shows how to grant anyone in the group \fBstaff\fR to
@@ -3419,7 +3808,7 @@ Local+Descendent permissions on (tank/users)
.sp
.LP
-\fBExample 20 \fRDefining and Granting a Permission Set on a ZFS Dataset
+\fBExample 19 \fRDefining and Granting a Permission Set on a ZFS Dataset
.sp
.LP
The following example shows how to define and grant a permission set on the
@@ -3445,7 +3834,7 @@ Local+Descendent permissions on (tank/users)
.sp
.LP
-\fBExample 21 \fRDelegating Property Permissions on a ZFS Dataset
+\fBExample 20 \fRDelegating Property Permissions on a ZFS Dataset
.sp
.LP
The following example shows to grant the ability to set quotas and reservations
@@ -3470,7 +3859,7 @@ users/home/marks quota 10G local
.sp
.LP
-\fBExample 22 \fRRemoving ZFS Delegated Permissions on a ZFS Dataset
+\fBExample 21 \fRRemoving ZFS Delegated Permissions on a ZFS Dataset
.sp
.LP
The following example shows how to remove the snapshot permission from the
diff --git a/cddl/contrib/opensolaris/cmd/zpool/zpool.8 b/cddl/contrib/opensolaris/cmd/zpool/zpool.8
index 8c41f42..b121a0e 100644
--- a/cddl/contrib/opensolaris/cmd/zpool/zpool.8
+++ b/cddl/contrib/opensolaris/cmd/zpool/zpool.8
@@ -1,11 +1,18 @@
'\" te
-.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
-.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
-.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
-.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
-.\" Portions Copyright 2011 Justin T. Gibbs <gibbs@FreeBSD.org>
-.\" Portions Copyright 2011 Martin Matuska <mm@FreeBSD.org>
-.TH ZPOOL 8 "September 21, 2009" FreeBSD
+.\" Copyright (c) 2004, 2010, Oracle and/or its
+.\" Copyright 2011, Nexenta Systems, Inc. All Rights Reserved.
+.\" affiliates. All rights reserved.
+.\" The contents of this file are subject to the
+.\" terms of the Common Development and Distribution License (the "License").
+.\" You may not use this file except in compliance with the License. You can obtain
+.\" a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations
+.\" under the License. When distributing Covered Code, include this CDDL HEADER
+.\" in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the fields enclosed
+.\" by brackets "[]" replaced with your own identifying information: Portions
+.\" Copyright [yyyy] [name of copyright owner]
+.TH ZPOOL 8 "November 21, 2011" FreeBSD
.SH NAME
zpool \- configures ZFS storage pools
.SH SYNOPSIS
@@ -26,13 +33,14 @@ zpool \- configures ZFS storage pools
.LP
.nf
-\fBzpool clear\fR \fIpool\fR [\fIdevice\fR]
+\fBzpool clear\fR [\fB-F\fR [\fB-n\fR]] \fIpool\fR [\fIdevice\fR]
.fi
.LP
.nf
-\fBzpool create\fR [\fB-fn\fR] [\fB-o\fR \fIproperty=value\fR] ... [\fB-O\fR \fIfile-system-property=value\fR]
- ... [\fB-m\fR \fImountpoint\fR] [\fB-R\fR \fIroot\fR] \fIpool\fR \fIvdev\fR ...
+\fBzpool create\fR [\fB-fn\fR] [\fB-o\fR \fIproperty=value\fR] ...
+ [\fB-O\fR \fIfile-system-property=value\fR] ...
+ [\fB-m\fR \fImountpoint\fR] [\fB-R\fR \fIroot\fR] \fIpool\fR \fIvdev\fR ...
.fi
.LP
@@ -67,19 +75,21 @@ zpool \- configures ZFS storage pools
.LP
.nf
-\fBzpool import\fR [\fB-o \fImntopts\fR\fR] [\fB-o\fR \fIproperty=value\fR] ... [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR]
- [\fB-D\fR] [\fB-f\fR] [\fB-R\fR \fIroot\fR] \fB-a\fR
+\fBzpool import\fR [\fB-o \fImntopts\fR\fR] [\fB-o\fR \fIproperty=value\fR] ...
+ [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR] [\fB-D\fR] [\fB-f\fR] [\fB-m\fR] [\fB-N\fR] [\fB-R\fR \fIroot\fR]
+ [\fB-F\fR [\fB-n\fR]] \fB-a\fR
.fi
.LP
.nf
-\fBzpool import\fR [\fB-o \fImntopts\fR\fR] [\fB-o\fR \fIproperty=value\fR] ... [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR]
- [\fB-D\fR] [\fB-f\fR] [\fB-R\fR \fIroot\fR] \fIpool\fR |\fIid\fR [\fInewpool\fR]
+\fBzpool import\fR [\fB-o \fImntopts\fR\fR] [\fB-o\fR \fIproperty=value\fR] ...
+ [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR] [\fB-D\fR] [\fB-f\fR] [\fB-m\fR] [\fB-R\fR \fIroot\fR]
+ [\fB-F\fR [\fB-n\fR]] \fIpool\fR |\fIid\fR [\fInewpool\fR]
.fi
.LP
.nf
-\fBzpool iostat\fR [\fB-T\fR u | d ] [\fB-v\fR] [\fIpool\fR] ... [\fIinterval\fR[\fIcount\fR]]
+\fBzpool iostat\fR [\fB-T\fR d|u ] [\fB-v\fR] [\fIpool\fR] ... [\fIinterval\fR[\fIcount\fR]]
.fi
.LP
@@ -89,7 +99,8 @@ zpool \- configures ZFS storage pools
.LP
.nf
-\fBzpool list\fR [\fB-H\fR] [\fB-o\fR \fIproperty\fR[,...]] [\fIpool\fR] ...
+\fBzpool list\fR [\fB-H\fR] [\fB-o\fR \fIproperty\fR[,...]] [\fB-T\fR d|u ] [\fIpool\fR] ...
+ [\fIinterval\fR[\fIcount\fR]]
.fi
.LP
@@ -124,7 +135,13 @@ zpool \- configures ZFS storage pools
.LP
.nf
-\fBzpool status\fR [\fB-xv\fR] [\fIpool\fR] ...
+\fBzpool split\fR [\fB-R\fR \fIaltroot\fR] [\fB-n\fR] [\fB-o\fR \fImntopts\fR] [\fB-o\fR \fIproperty\fR=\fIvalue\fR] \fIpool\fR
+ \fInewpool\fR [\fIdevice\fR ...]
+.fi
+
+.LP
+.nf
+\fBzpool status\fR [\fB-xv\fR] [\fB-T\fR d|u ] [\fIpool\fR] ... [\fIinterval\fR[\fIcount\fR]]
.fi
.LP
@@ -163,7 +180,8 @@ following virtual devices are supported:
.na
\fB\fBdisk\fR\fR
.ad
-.RS 10n
+.sp .6
+.RS 4n
A block device, typically located under \fB/dev\fR. \fBZFS\fR can use
individual slices, partitions or \fBgeom(4)\fR objects, though the recommended
mode of operation is to use whole disks. A disk can be specified by a full
@@ -176,7 +194,8 @@ path, or it can be a shorthand name (the relative portion of the path under
.na
\fB\fBfile\fR\fR
.ad
-.RS 10n
+.sp .6
+.RS 4n
A regular file. The use of files as a backing store is strongly discouraged. It
is designed primarily for experimental purposes, as the fault tolerance of a
file is only as good as the file system of which it is a part. A file must be
@@ -188,7 +207,8 @@ specified by a full path.
.na
\fB\fBmirror\fR\fR
.ad
-.RS 10n
+.sp .6
+.RS 4n
A mirror of two or more devices. Data is replicated in an identical fashion
across all components of a mirror. A mirror with \fIN\fR disks of size \fIX\fR
can hold \fIX\fR bytes and can withstand (\fIN-1\fR) devices failing before
@@ -212,7 +232,8 @@ data integrity is compromised.
.na
\fB\fBraidz3\fR\fR
.ad
-.RS 10n
+.sp .6
+.RS 4n
A variation on \fBRAID-5\fR that allows for better distribution of parity and
eliminates the "\fBRAID-5\fR write hole" (in which data and parity become
inconsistent after a power loss). Data and parity is striped across all disks
@@ -238,7 +259,8 @@ disks. The recommended number is between 3 and 9 to help increase performance.
.na
\fB\fBspare\fR\fR
.ad
-.RS 10n
+.sp .6
+.RS 4n
A special pseudo-\fBvdev\fR which keeps track of available hot spares for a
pool. For more information, see the "Hot Spares" section.
.RE
@@ -248,7 +270,8 @@ pool. For more information, see the "Hot Spares" section.
.na
\fB\fBlog\fR\fR
.ad
-.RS 10n
+.sp .6
+.RS 4n
A separate-intent log device. If more than one log device is specified, then
writes are load-balanced between devices. Log devices can be mirrored. However,
\fBraidz\fR \fBvdev\fR types are not supported for the intent log. For more
@@ -260,10 +283,11 @@ information, see the "Intent Log" section.
.na
\fB\fBcache\fR\fR
.ad
-.RS 10n
-A device used to cache storage pool data. A cache device cannot be cannot be
-configured as a mirror or \fBraidz\fR group. For more information, see the
-"Cache Devices" section.
+.sp .6
+.RS 4n
+A device used to cache storage pool data. A cache device cannot be configured
+as a mirror or \fBraidz\fR group. For more information, see the "Cache Devices"
+section.
.RE
.sp
@@ -323,7 +347,8 @@ states:
.na
\fB\fBDEGRADED\fR\fR
.ad
-.RS 12n
+.sp .6
+.RS 4n
One or more top-level vdevs is in the degraded state because one or more
component devices are offline. Sufficient replicas exist to continue
functioning.
@@ -354,7 +379,8 @@ functioning.
.na
\fB\fBFAULTED\fR\fR
.ad
-.RS 12n
+.sp .6
+.RS 4n
One or more top-level vdevs is in the faulted state because one or more
component devices are offline. Insufficient replicas exist to continue
functioning.
@@ -382,7 +408,8 @@ prevent further use of the device.
.na
\fB\fBOFFLINE\fR\fR
.ad
-.RS 12n
+.sp .6
+.RS 4n
The device was explicitly taken offline by the "\fBzpool offline\fR" command.
.RE
@@ -391,7 +418,8 @@ The device was explicitly taken offline by the "\fBzpool offline\fR" command.
.na
\fB\fBONLINE\fR\fR
.ad
-.RS 12n
+.sp .6
+.RS 4n
The device is online and functioning.
.RE
@@ -400,7 +428,8 @@ The device is online and functioning.
.na
\fB\fBREMOVED\fR\fR
.ad
-.RS 12n
+.sp .6
+.RS 4n
The device was physically removed while the system was running. Device removal
detection is hardware-dependent and may not be supported on all platforms.
.RE
@@ -410,7 +439,8 @@ detection is hardware-dependent and may not be supported on all platforms.
.na
\fB\fBUNAVAIL\fR\fR
.ad
-.RS 12n
+.sp .6
+.RS 4n
The device could not be opened. If a pool is imported when a device was
unavailable, then the device will be identified by a unique identifier instead
of its path since the path was never correct in the first place.
@@ -418,7 +448,7 @@ of its path since the path was never correct in the first place.
.sp
.LP
-If a device is removed and later re-attached to the system, \fBZFS\fR attempts
+If a device is removed and later reattached to the system, \fBZFS\fR attempts
to put the device online automatically. Device attach detection is
hardware-dependent and might not be supported on all platforms.
.SS "Hot Spares"
@@ -431,7 +461,7 @@ specify a "spare" \fBvdev\fR with any number of devices. For example,
.sp
.in +2
.nf
-# zpool create pool mirror da0 da1 spare da2 da3
+# \fBzpool create pool mirror da0 da1 spare da2 da3\fR
.fi
.in -2
.sp
@@ -470,7 +500,7 @@ intent log devices such as \fBNVRAM\fR or a dedicated disk. For example:
.sp
.in +2
.nf
-\fB# zpool create pool da0 da1 log da3\fR
+# \fBzpool create pool da0 da1 log da3\fR
.fi
.in -2
.sp
@@ -481,9 +511,9 @@ Multiple log devices can also be specified, and they can be mirrored. See the
EXAMPLES section for an example of mirroring multiple log devices.
.sp
.LP
-Log devices can be added, replaced, attached, detached, and imported and
-exported as part of the larger pool. Mirrored log devices can be removed by
-specifying the top-level mirror for the log.
+Log devices can be added, replaced, attached, detached, imported, and exported
+as part of the larger pool. Mirrored log devices can be removed by specifying
+the top-level mirror for the log.
.SS "Cache Devices"
.sp
.LP
@@ -516,6 +546,15 @@ the original storage pool device, which might be part of a mirrored or
.LP
The content of the cache devices is considered volatile, as is the case with
other system caches.
+.SS "Processes"
+.sp
+.LP
+Each imported pool has an associated process, named \fBzpool-\fR\fIpoolname\fR.
+The threads in this process are the pool's I/O processing threads, which handle
+the compression, checksumming, and other tasks for all I/O associated with the
+pool. This process exists to provides visibility into the CPU utilization of
+the system's storage pools. The existence of this process is an unstable
+interface.
.SS "Properties"
.sp
.LP
@@ -525,11 +564,11 @@ the pool. The following are read-only properties:
.sp
.ne 2
.na
-\fB\fBavailable\fR\fR
+\fB\fBalloc\fR\fR
.ad
-.RS 20n
-Amount of storage available within the pool. This property can also be referred
-to by its shortened column name, "avail".
+.sp .6
+.RS 4n
+Amount of storage space within the pool that has been physically allocated.
.RE
.sp
@@ -537,36 +576,77 @@ to by its shortened column name, "avail".
.na
\fB\fBcapacity\fR\fR
.ad
-.RS 20n
+.sp .6
+.RS 4n
Percentage of pool space used. This property can also be referred to by its
shortened column name, "cap".
.RE
+.ne 2
+.na
+\fB\fBdedupratio\fR\fR
+.ad
+.sp .6
+.RS 4n
+The deduplication ratio specified for a pool, expressed as a multiplier. This
+value is expressed as a single decimal number. For example, a \fBdedupratio\fR
+value of \fB1.76\fR indicates that 1.76 units of data were stored but only 1
+unit of disk space was actually consumed. This property can also be referred
+to by its shortened column name, \fBdedup\fR.
+.sp
+Deduplication can be enabled as follows:
+.sp
+.in +2
+.nf
+# \fBzfs set dedup=on \fIpool\fR/\fIdataset\fR\fR
+.fi
+.in -2
+.sp
+
+The default value is \fBoff\fR.
+.sp
+See \fBzfs\fR(1M) for a description of the deduplication feature.
+.RE
+
.sp
.ne 2
.na
-\fB\fBhealth\fR\fR
+\fB\fBfree\fR\fR
.ad
-.RS 20n
-The current health of the pool. Health can be "\fBONLINE\fR", "\fBDEGRADED\fR",
-"\fBFAULTED\fR", " \fBOFFLINE\fR", "\fBREMOVED\fR", or "\fBUNAVAIL\fR".
+.sp .6
+.RS 4n
+Number of blocks within the pool that are not allocated.
.RE
+
.sp
.ne 2
.na
\fB\fBguid\fR\fR
.ad
-.RS 20n
+.sp .6
+.RS 4n
A unique identifier for the pool.
.RE
.sp
.ne 2
.na
+\fB\fBhealth\fR\fR
+.ad
+.sp .6
+.RS 4n
+The current health of the pool. Health can be "\fBONLINE\fR", "\fBDEGRADED\fR",
+"\fBFAULTED\fR", " \fBOFFLINE\fR", "\fBREMOVED\fR", or "\fBUNAVAIL\fR".
+.RE
+
+.sp
+.ne 2
+.na
\fB\fBsize\fR\fR
.ad
-.RS 20n
+.sp .6
+.RS 4n
Total size of the storage pool.
.RE
@@ -575,7 +655,8 @@ Total size of the storage pool.
.na
\fB\fBused\fR\fR
.ad
-.RS 20n
+.sp .6
+.RS 4n
Amount of storage space used within the pool.
.RE
@@ -610,6 +691,43 @@ is valid only while the system is up. Setting \fBaltroot\fR defaults to using
.sp
.LP
+The following property can be set at import time:
+.sp
+.ne 2
+.na
+\fB\fBreadonly\fR=\fBon\fR | \fBoff\fR\fR
+.ad
+.sp .6
+.RS 4n
+Controls whether the pool can be modified. When enabled, any synchronous data
+that exists only on the intent log will not be accessible until the pool is
+re-imported in read-write mode.
+.sp
+Using read-only imports has the following limitations:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Attempts to set additional zpool-level properties during import are ignored.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+All filesystem mounts are converted to include the \fBro\fR mount option.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Additional mount options can be set on a temporary basis.
+.RE
+A pool that has been imported read-only can be restored to read-write by
+exporting and reimporting it.
+.RE
+
+.sp
+.LP
The following properties can be set at creation time and import time, and later
changed with the \fBzpool set\fR command:
.sp
@@ -680,6 +798,18 @@ exported or destroyed, the file is removed.
.sp
.ne 2
.na
+\fB\fBdedupditto\fR=\fInumber\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets a threshold for number of copies. If the reference count for a
+deduplicated block goes above this threshold, another ditto copy of the block
+is stored automatically. The default value is \fB0\fR.
+.RE
+
+.sp
+.ne 2
+.na
\fB\fBdelegation\fR=\fBon\fR | \fBoff\fR\fR
.ad
.sp .6
@@ -705,7 +835,8 @@ such an event is determined as follows:
.na
\fB\fBwait\fR\fR
.ad
-.RS 12n
+.sp .6
+.RS 4n
Blocks all \fBI/O\fR access until the device connectivity is recovered and the
errors are cleared. This is the default behavior.
.RE
@@ -715,7 +846,8 @@ errors are cleared. This is the default behavior.
.na
\fB\fBcontinue\fR\fR
.ad
-.RS 12n
+.sp .6
+.RS 4n
Returns \fBEIO\fR to any new write \fBI/O\fR requests but allows reads to any
of the remaining healthy devices. Any write requests that have yet to be
committed to disk would be blocked.
@@ -726,7 +858,8 @@ committed to disk would be blocked.
.na
\fB\fBpanic\fR\fR
.ad
-.RS 12n
+.sp .6
+.RS 4n
Prints out a message to the console and generates a system crash dump.
.RE
@@ -794,7 +927,8 @@ the \fB-f\fR option, and the device checks performed are described in the
.na
\fB\fB-f\fR\fR
.ad
-.RS 6n
+.sp .6
+.RS 4n
Forces use of \fBvdev\fRs, even if they appear in use or specify a conflicting
replication level. Not all devices can be overridden in this manner.
.RE
@@ -804,7 +938,8 @@ replication level. Not all devices can be overridden in this manner.
.na
\fB\fB-n\fR\fR
.ad
-.RS 6n
+.sp .6
+.RS 4n
Displays the configuration that would be used without actually adding the
\fBvdev\fRs. The actual pool creation can still fail due to insufficient
privileges or device sharing.
@@ -834,7 +969,8 @@ resilver immediately.
.na
\fB\fB-f\fR\fR
.ad
-.RS 6n
+.sp .6
+.RS 4n
Forces use of \fInew_device\fR, even if its appears to be in use. Not all
devices can be overridden in this manner.
.RE
@@ -844,13 +980,38 @@ devices can be overridden in this manner.
.sp
.ne 2
.na
-\fB\fBzpool clear\fR \fIpool\fR [\fIdevice\fR] ...\fR
+\fB\fBzpool clear\fR [\fB-F\fR [\fB-n\fR]] \fIpool\fR [\fIdevice\fR] \&...\fR
.ad
.sp .6
.RS 4n
Clears device errors in a pool. If no arguments are specified, all device
errors within the pool are cleared. If one or more devices is specified, only
those errors associated with the specified device or devices are cleared.
+.sp
+.ne 2
+.na
+\fB\fB-F\fR\fR
+.ad
+.sp .6
+.RS 4n
+Initiates recovery mode for an unopenable pool. Attempts to discard the last
+few transactions in the pool to return it to an openable state. Not all damaged
+pools can be recovered by using this option. If successful, the data from the
+discarded transactions is irretrievably lost.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used in combination with the \fB-F\fR flag. Check whether discarding
+transactions would make the pool openable, but do not actually discard any
+transactions.
+.RE
+
.RE
.sp
@@ -865,9 +1026,9 @@ those errors associated with the specified device or devices are cleared.
Creates a new storage pool containing the virtual devices specified on the
command line. The pool name must begin with a letter, and can only contain
alphanumeric characters as well as underscore ("_"), dash ("-"), and period
-("."). The pool names "mirror", "raidz", "spare" and "log" are reserved, as are
-names beginning with the pattern "c[0-9]". The \fBvdev\fR specification is
-described in the "Virtual Devices" section.
+("."). The pool names \fBmirror\fR, \fBraidz\fR, \fBspare\fR, and \fBlog\fR
+are reserved, as are names beginning with the pattern \fBc\fR[\fB0-9\fR]. The
+\fBvdev\fR specification is described in the "Virtual Devices" section.
.sp
The command verifies that each device specified is accessible and not currently
in use by another subsystem. There are some uses, such as being currently
@@ -926,7 +1087,7 @@ valid properties that can be set.
.ad
.br
.na
-\fB[\fB-O\fR \fIfile-system-property=value\fR] ...\fR
+\fB[\fB-O\fR \fIfile-system-property=value\fR] \&...\fR
.ad
.sp .6
.RS 4n
@@ -974,7 +1135,8 @@ tries to unmount any active datasets before destroying the pool.
.na
\fB\fB-f\fR\fR
.ad
-.RS 6n
+.sp .6
+.RS 4n
Forces any active datasets contained within the pool to be unmounted.
.RE
@@ -1015,7 +1177,8 @@ recognize the disks.
.na
\fB\fB-f\fR\fR
.ad
-.RS 6n
+.sp .6
+.RS 4n
Forcefully unmount all datasets, using the "\fBunmount -f\fR" command.
.sp
This command will forcefully export the pool even if it has a shared spare that
@@ -1063,7 +1226,8 @@ specified.
.na
\fB\fB-i\fR\fR
.ad
-.RS 6n
+.sp .6
+.RS 4n
Displays internally logged \fBZFS\fR events in addition to user initiated
events.
.RE
@@ -1073,7 +1237,8 @@ events.
.na
\fB\fB-l\fR\fR
.ad
-.RS 6n
+.sp .6
+.RS 4n
Displays log records in long format, which in addition to standard format
includes, the user name, the hostname, and the jail in which the operation was
performed.
@@ -1090,7 +1255,7 @@ performed.
.sp .6
.RS 4n
Lists pools available to import. If the \fB-d\fR option is not specified, this
-command searches for devices in "/dev/dsk". The \fB-d\fR option can be
+command searches for devices in "/dev". The \fB-d\fR option can be
specified multiple times, and all directories are searched. If the device
appears to be part of an exported pool, this command displays a summary of the
pool with the name of the pool, a numeric identifier, as well as the \fIvdev\fR
@@ -1105,7 +1270,8 @@ multiple exported pools of the same name are available.
.na
\fB\fB-c\fR \fIcachefile\fR\fR
.ad
-.RS 16n
+.sp .6
+.RS 4n
Reads configuration from the given \fBcachefile\fR that was created with the
"\fBcachefile\fR" pool property. This \fBcachefile\fR is used instead of
searching for devices.
@@ -1116,7 +1282,8 @@ searching for devices.
.na
\fB\fB-d\fR \fIdir\fR\fR
.ad
-.RS 16n
+.sp .6
+.RS 4n
Searches for devices or files in \fIdir\fR. The \fB-d\fR option can be
specified multiple times.
.RE
@@ -1126,7 +1293,8 @@ specified multiple times.
.na
\fB\fB-D\fR\fR
.ad
-.RS 16n
+.sp .6
+.RS 4n
Lists destroyed pools only.
.RE
@@ -1137,7 +1305,8 @@ Lists destroyed pools only.
.na
\fB\fBzpool import\fR [\fB-o\fR \fImntopts\fR] [ \fB-o\fR
\fIproperty\fR=\fIvalue\fR] ... [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR]
-[\fB-D\fR] [\fB-f\fR] [\fB-R\fR \fIroot\fR] \fB-a\fR\fR
+[\fB-D\fR] [\fB-f\fR] [\fB-m\fR] [\fB-N\fR] [\fB-R\fR \fIroot\fR] [\fB-F\fR
+[\fB-n\fR]] \fB-a\fR\fR
.ad
.sp .6
.RS 4n
@@ -1151,7 +1320,8 @@ is specified.
.na
\fB\fB-o\fR \fImntopts\fR\fR
.ad
-.RS 21n
+.sp .6
+.RS 4n
Comma-separated list of mount options to use when mounting datasets within the
pool. See \fBzfs\fR(8) for a description of dataset properties and mount
options.
@@ -1162,7 +1332,8 @@ options.
.na
\fB\fB-o\fR \fIproperty=value\fR\fR
.ad
-.RS 21n
+.sp .6
+.RS 4n
Sets the specified property on the imported pool. See the "Properties" section
for more information on the available pool properties.
.RE
@@ -1172,7 +1343,8 @@ for more information on the available pool properties.
.na
\fB\fB-c\fR \fIcachefile\fR\fR
.ad
-.RS 21n
+.sp .6
+.RS 4n
Reads configuration from the given \fBcachefile\fR that was created with the
"\fBcachefile\fR" pool property. This \fBcachefile\fR is used instead of
searching for devices.
@@ -1183,7 +1355,8 @@ searching for devices.
.na
\fB\fB-d\fR \fIdir\fR\fR
.ad
-.RS 21n
+.sp .6
+.RS 4n
Searches for devices or files in \fIdir\fR. The \fB-d\fR option can be
specified multiple times. This option is incompatible with the \fB-c\fR option.
.RE
@@ -1193,7 +1366,8 @@ specified multiple times. This option is incompatible with the \fB-c\fR option.
.na
\fB\fB-D\fR\fR
.ad
-.RS 21n
+.sp .6
+.RS 4n
Imports destroyed pools only. The \fB-f\fR option is also required.
.RE
@@ -1202,29 +1376,79 @@ Imports destroyed pools only. The \fB-f\fR option is also required.
.na
\fB\fB-f\fR\fR
.ad
-.RS 21n
+.sp .6
+.RS 4n
Forces import, even if the pool appears to be potentially active.
.RE
.sp
.ne 2
.na
+\fB\fB-F\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recovery mode for a non-importable pool. Attempt to return the pool to an
+importable state by discarding the last few transactions. Not all damaged pools
+can be recovered by using this option. If successful, the data from the
+discarded transactions is irretrievably lost. This option is ignored if the
+pool is importable or already imported.
+.RE
+
+.sp
+.ne 2
+.na
\fB\fB-a\fR\fR
.ad
-.RS 21n
+.sp .6
+.RS 4n
Searches for and imports all pools found.
.RE
.sp
.ne 2
.na
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allows a pool to import when there is a missing log device.
+.RE
+
+.sp
+.ne 2
+.na
\fB\fB-R\fR \fIroot\fR\fR
.ad
-.RS 21n
+.sp .6
+.RS 4n
Sets the "\fBcachefile\fR" property to "\fBnone\fR" and the "\fIaltroot\fR"
property to "\fIroot\fR".
.RE
+.sp
+.ne 2
+.na
+\fB\fB-N\fR\fR
+.ad
+.sp .6
+.RS 4n
+Import the pool without mounting any file systems.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used with the \fB-F\fR recovery option. Determines whether a non-importable
+pool can be made importable again, but does not actually perform the pool
+recovery. For more details about pool recovery mode, see the \fB-F\fR
+option, above.
+.RE
+
.RE
.sp
@@ -1233,7 +1457,8 @@ property to "\fIroot\fR".
\fB\fBzpool import\fR [\fB-o\fR \fImntopts\fR] [ \fB-o\fR
\fIproperty\fR=\fIvalue\fR] ... [\fB-d\fR \fIdir\fR | \fB-c\fR \fIcachefile\fR]
[\fB-D\fR] [\fB-f\fR] [\fB-R\fR \fIroot\fR] \fIpool\fR | \fIid\fR
-[\fInewpool\fR]\fR
+[\fB-D\fR] [\fB-f\fR] [\fB-m\fR] [\fB-R\fR \fIroot\fR] [\fB-F\fR [\fB-n\fR]]
+\fIpool\fR | \fIid\fR [\fInewpool\fR]\fR
.ad
.sp .6
.RS 4n
@@ -1315,6 +1540,20 @@ Forces import, even if the pool appears to be potentially active.
.sp
.ne 2
.na
+\fB\fB-F\fR\fR
+.ad
+.sp .6
+.RS 4n
+Recovery mode for a non-importable pool. Attempt to return the pool to an
+importable state by discarding the last few transactions. Not all damaged pools
+can be recovered by using this option. If successful, the data from the
+discarded transactions is irretrievably lost. This option is ignored if the
+pool is importable or already imported.
+.RE
+
+.sp
+.ne 2
+.na
\fB\fB-R\fR \fIroot\fR\fR
.ad
.sp .6
@@ -1323,13 +1562,36 @@ Sets the "\fBcachefile\fR" property to "\fBnone\fR" and the "\fIaltroot\fR"
property to "\fIroot\fR".
.RE
+.sp
+.ne 2
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Used with the \fB-F\fR recovery option. Determines whether a non-importable
+pool can be made importable again, but does not actually perform the pool
+recovery. For more details about pool recovery mode, see the \fB-F\fR option,
+above.
.RE
.sp
.ne 2
.na
-\fB\fBzpool iostat\fR [\fB-T\fR \fBu\fR | \fBd\fR] [\fB-v\fR] [\fIpool\fR] ...
-[\fIinterval\fR[\fIcount\fR]]\fR
+\fB\fB-m\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allows a pool to import when there is a missing log device.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBzpool iostat\fR [\fB-T\fR \fBu\fR | \fBd\fR] [\fB-v\fR] [\fIpool\fR]
+\&... [\fIinterval\fR[\fIcount\fR]]\fR
.ad
.sp .6
.RS 4n
@@ -1341,14 +1603,15 @@ system is shown. If \fIcount\fR is specified, the command exits after
.sp
.ne 2
.na
-\fB\fB-T\fR \fBu\fR | \fBd\fR\fR
+\fB\fB-T\fR \fBd\fR|\fBu\fR\fR
.ad
-.RS 12n
+.sp .6
+.RS 4n
Display a time stamp.
.sp
-Specify \fBu\fR for a printed representation of the internal representation of
-time. See \fBtime\fR(2). Specify \fBd\fR for standard date format. See
-\fBdate\fR(1).
+Specify \fBd\fR for standard date format. See \fBdate\fR(1). Specify \fBu\fR
+for a printed representation of the internal representation of time. See
+\fBtime\fR(2).
.RE
.sp
@@ -1356,7 +1619,8 @@ time. See \fBtime\fR(2). Specify \fBd\fR for standard date format. See
.na
\fB\fB-v\fR\fR
.ad
-.RS 12n
+.sp .6
+.RS 4n
Verbose statistics. Reports usage statistics for individual \fIvdevs\fR within
the pool, in addition to the pool-wide statistics.
.RE
@@ -1389,18 +1653,26 @@ Treat exported or foreign devices as inactive.
.ne 2
.mk
.na
-\fB\fBzpool list\fR [\fB-H\fR] [\fB-o\fR \fIprops\fR[,...]] [\fIpool\fR] ...\fR
+\fB\fBzpool list\fR [\fB-H\fR] [\fB-o\fR \fIprops\fR[,...]]
+[\fB-T\fR \fBd\fR|\fBu\fR] [\fIpool\fR] ...\fR
.ad
.sp .6
.RS 4n
Lists the given pools along with a health status and space usage. When given no
arguments, all pools in the system are listed.
.sp
+When given an interval, the status and space usage are displayed every
+\fIinterval\fR seconds until Ctrl-C is entered. If \fIcount\fR is specified,
+the command exits after \fIcount\fR reports are displayed.
+.RE
+
+.sp
.ne 2
.na
\fB\fB-H\fR\fR
.ad
-.RS 12n
+.sp .6
+.RS 4n
Scripted mode. Do not display headers, and separate fields by a single tab
instead of arbitrary space.
.RE
@@ -1410,10 +1682,25 @@ instead of arbitrary space.
.na
\fB\fB-o\fR \fIprops\fR\fR
.ad
-.RS 12n
+.sp .6
+.RS 4n
Comma-separated list of properties to display. See the "Properties" section for
-a list of valid properties. The default list is "name, size, used, available,
-capacity, health, altroot"
+a list of valid properties. The default list is \fBname\fR, \fBsize\fR,
+\fBallocated\fR, \fBfree\fR, \fBcapacity\fR, \fBhealth\fR, \fBaltroot\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fB-T\fR \fBd\fR|\fBu\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display a time stamp.
+.sp
+Specify \fBd\fR for standard date format. See \fBdate\fR(1). Specify \fBu\fR
+for a printed representation of the internal representation of time. See
+\fBtime\fR(2).
.RE
.RE
@@ -1434,7 +1721,8 @@ This command is not applicable to spares or cache devices.
.na
\fB\fB-t\fR\fR
.ad
-.RS 6n
+.sp .6
+.RS 4n
Temporary. Upon reboot, the specified physical device reverts to its previous
state.
.RE
@@ -1456,7 +1744,8 @@ This command is not applicable to spares or cache devices.
.na
\fB\fB-e\fR\fR
.ad
-.RS 6n
+.sp .6
+.RS 4n
Expand the device to use all available space. If the device is part of a mirror
or \fBraidz\fR then all devices must be expanded before the new space will
become available to the pool.
@@ -1497,14 +1786,24 @@ of all the devices in a mirror or \fBraidz\fR configuration.
\fInew_device\fR is required if the pool is not redundant. If \fInew_device\fR
is not specified, it defaults to \fIold_device\fR. This form of replacement is
useful after an existing disk has failed and has been physically replaced. In
-this case, the new disk may have the same \fB/dev/dsk\fR path as the old
+this case, the new disk may have the same \fB/dev\fR path as the old
device, even though it is actually a different disk. \fBZFS\fR recognizes this.
.sp
+In \fBzpool status\fR output, the \fIold_device\fR is shown under the word
+\fBreplacing\fR with the string \fB/old\fR appended to it. Once the resilver
+completes, both the \fBreplacing\fR and the \fIold_device\fR are automatically
+removed. If the new device fails before the resilver completes and a third
+device is installed in its place, then both failed devices will show up with
+\fB/old\fR appended, and the resilver starts over again. After the resilver
+completes, both \fB/old\fR devices are removed along with the word
+\fBreplacing\fR.
+.sp
.ne 2
.na
\fB\fB-f\fR\fR
.ad
-.RS 6n
+.sp .6
+.RS 4n
Forces use of \fInew_device\fR, even if its appears to be in use. Not all
devices can be overridden in this manner.
.RE
@@ -1531,16 +1830,17 @@ device), whereas scrubbing examines all data to discover silent errors due to
hardware faults or disk failure.
.sp
Because scrubbing and resilvering are \fBI/O\fR-intensive operations, \fBZFS\fR
-only allows one at a time. If a scrub is already in progress, the "\fBzpool
-scrub\fR" command terminates it and starts a new scrub. If a resilver is in
-progress, \fBZFS\fR does not allow a scrub to be started until the resilver
-completes.
+allows only one at a time. If a scrub is already in progress, a subsequent
+"\fBzpool scrub\fR" returns an error, with the advice to use \fBzpool scrub\fR
+\fB-s\fR to cancel the current scrub. If a resilver is in progress, \fBZFS\fR
+does not allow a scrub to be started until the resilver completes.
.sp
.ne 2
.na
\fB\fB-s\fR\fR
.ad
-.RS 6n
+.sp .6
+.RS 4n
Stop scrubbing.
.RE
@@ -1560,7 +1860,65 @@ more information on what properties can be set and acceptable values.
.sp
.ne 2
.na
-\fB\fBzpool status\fR [\fB-xv\fR] [\fIpool\fR] ...\fR
+\fB\fBzpool split\fR [\fB-R\fR \fIaltroot\fR] [\fB-n\fR] [\fB-o\fR
+\fImntopts\fR] [\fB-o\fR\fIproperty\fR=\fIvalue\fR] \fIpool\fR \fInewpool\fR
+[\fIdevice\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+Splits off one disk from each mirrored top-level vdev in a pool and creates a
+new pool from the split-off disks. The original pool must be made up of one or
+more mirrors and must not be in the process of resilvering. The \fBsplit\fR
+subcommand chooses the last device in each mirror vdev unless overridden by a
+device specification on the command line.
+.sp
+When using a \fIdevice\fR argument, \fBsplit\fR includes the specified
+device(s) in a new pool and, should any devices remain unspecified, assigns the
+last device in each mirror vdev to that pool, as it does normally. If you are
+uncertain about the outcome of a \fBsplit\fR command, use the \fB-n\fR
+("dry-run") option to ensure your command will have the effect you intend.
+.sp
+.ne 2
+.na
+\fB\fB-R\fR \fIaltroot\fR\fR
+.ad
+.sp .6
+.RS 4n
+Automatically import the newly created pool after splitting, using the
+specified \fIaltroot\fR parameter for the new pool's alternate root. See the
+\fBaltroot\fR description in the "Properties" section, above.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays the configuration that would be created without actually splitting the
+pool. The actual pool split could still fail due to insufficient privileges or
+device status.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fB-o\fR \fIproperty\fR=\fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sets the specified property on the new pool. See the "Properties" section,
+above, for more information on the available pool properties.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBzpool status\fR [\fB-xv\fR] [\fB-T\fR \fBd\fR|\fBu\fR] [\fIpool\fR] ...
+[\fIinterval \fR[\fIcount\fR]]\fR
.ad
.sp .6
.RS 4n
@@ -1569,6 +1927,10 @@ specified, then the status of each pool in the system is displayed. For more
information on pool and device health, see the "Device Failure and Recovery"
section.
.sp
+When given an interval, the status and space usage are displayed every
+\fIinterval\fR seconds until Ctrl-C is entered. If \fIcount\fR is specified,
+the command exits after \fIcount\fR reports are displayed.
+.sp
If a scrub or resilver is in progress, this command reports the percentage done
and the estimated time to completion. Both of these are only approximate,
because the amount of data in the pool and the other workloads on the system
@@ -1578,7 +1940,8 @@ can change.
.na
\fB\fB-x\fR\fR
.ad
-.RS 6n
+.sp .6
+.RS 4n
Only display status for pools that are exhibiting errors or are otherwise
unavailable.
.RE
@@ -1588,11 +1951,24 @@ unavailable.
.na
\fB\fB-v\fR\fR
.ad
-.RS 6n
+.sp .6
+.RS 4n
Displays verbose data error information, printing out a complete list of all
data errors since the last complete pool scrub.
.RE
+.sp
+.ne 2
+.na
+\fB\fB-T\fR \fBd\fR|\fBu\fR\fR
+.ad
+.sp .6
+.RS 4n
+Display a time stamp.
+.sp
+Specify \fBd\fR for standard date format. See \fBdate\fR(1). Specify \fBu\fR
+for a printed representation of the internal representation of time. See
+\fBtime\fR(2).
.RE
.sp
@@ -1602,11 +1978,11 @@ data errors since the last complete pool scrub.
.ad
.sp .6
.RS 4n
-Displays all pools formatted using a different \fBZFS\fR on-disk version. Older
-versions can continue to be used, but some features may not be available. These
-pools can be upgraded using "\fBzpool upgrade -a\fR". Pools that are formatted
-with a more recent version are also displayed, although these pools will be
-inaccessible on the system.
+Identifies a pool's on-disk version, which determines available pool features
+in the currently running software release. You can continue to use older pool
+versions, but some features might not be available. A pool can be upgraded by
+using the \fBzpool upgrade\fR \fB-a\fR command. You will not be able to access
+a pool of a later version on a system that runs an earlier software version.
.RE
.sp
@@ -1616,9 +1992,9 @@ inaccessible on the system.
.ad
.sp .6
.RS 4n
-Displays \fBZFS\fR versions supported by the current software. The current
-\fBZFS\fR versions and all previous supported versions are displayed, along
-with an explanation of the features provided with each version.
+Displays \fBZFS\fR pool versions supported by the current software. The current
+\fBZFS\fR pool versions and all previous supported versions are displayed,
+along with an explanation of the features provided with each version.
.RE
.sp
@@ -1628,15 +2004,17 @@ with an explanation of the features provided with each version.
.ad
.sp .6
.RS 4n
-Upgrades the given pool to the latest on-disk version. Once this is done, the
-pool will no longer be accessible on systems running older versions of the
-software.
+Upgrades the specified pool to the latest on-disk version. If this command
+reveals that a pool is out-of-date, the pool can subsequently be upgraded
+using the \fBzpool upgrade\fR \fB-a\fR command. A pool that is upgraded will not
+be accessible on a system that runs an earlier software release.
.sp
.ne 2
.na
\fB\fB-a\fR\fR
.ad
-.RS 14n
+.sp .6
+.RS 4n
Upgrades all pools.
.RE
@@ -1645,7 +2023,8 @@ Upgrades all pools.
.na
\fB\fB-V\fR \fIversion\fR\fR
.ad
-.RS 14n
+.sp .6
+.RS 4n
Upgrade to the specified version. If the \fB-V\fR flag is not specified, the
pool is upgraded to the most recent version. This option can only be used to
increase the version number, and only up to the most recent version supported
@@ -1734,27 +2113,51 @@ is immediately available to any datasets within the pool.
\fBExample 6 \fRListing Available ZFS Storage Pools
.sp
.LP
-The following command lists all available pools on the system. In this case,
-the pool \fIzion\fR is faulted due to a missing device.
+The following command lists all available pools on the system.
.sp
+.in +2
+.nf
+# \fBzpool list\fR
+NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
+pool 136G 109M 136G 0% 3.00x ONLINE -
+rpool 67.5G 12.6G 54.9G 18% 1.01x ONLINE -
+.fi
+.in -2
+.sp
+
.LP
-The results from this command are similar to the following:
+\fBExample 7 \fRListing All Properties for a Pool
+The following command lists all the properties for a pool.
.sp
.in +2
.nf
-# \fBzpool list\fR
- NAME SIZE USED AVAIL CAP HEALTH ALTROOT
- pool 67.5G 2.92M 67.5G 0% ONLINE -
- tank 67.5G 2.92M 67.5G 0% ONLINE -
- zion - - - 0% FAULTED -
+% \fBzpool get all pool\fR
+NAME PROPERTY VALUE SOURCE
+pool size 464G -
+pool capacity 0% -
+pool altroot - default
+pool health ONLINE -
+pool guid 9893442355858802973 default
+pool version 23 default
+pool bootfs - default
+pool delegation on default
+pool autoreplace off default
+pool cachefile - default
+pool failmode wait default
+pool listsnapshots off default
+pool autoexpand off default
+pool dedupditto 0 default
+pool dedupratio 1.00x -
+pool free 464G -
+pool allocated 130K -
.fi
.in -2
.sp
.LP
-\fBExample 7 \fRDestroying a ZFS Storage Pool
+\fBExample 8 \fRDestroying a ZFS Storage Pool
.sp
.LP
The following command destroys the pool "\fItank\fR" and any datasets contained
@@ -1769,7 +2172,7 @@ within.
.sp
.LP
-\fBExample 8 \fRExporting a ZFS Storage Pool
+\fBExample 9 \fRExporting a ZFS Storage Pool
.sp
.LP
The following command exports the devices in pool \fItank\fR so that they can
@@ -1784,7 +2187,7 @@ be relocated or later imported.
.sp
.LP
-\fBExample 9 \fRImporting a ZFS Storage Pool
+\fBExample 10 \fRImporting a ZFS Storage Pool
.sp
.LP
The following command displays available pools, and then imports the pool
@@ -1799,13 +2202,15 @@ The results from this command are similar to the following:
.nf
# \fBzpool import\fR
pool: tank
- id: 15451357997522795478
+ id: 7678868315469843843
state: ONLINE
action: The pool can be imported using its name or numeric identifier.
config:
tank ONLINE
mirror ONLINE
+ tank ONLINE
+ mirror-0 ONLINE
da0 ONLINE
da1 ONLINE
@@ -1815,7 +2220,7 @@ config:
.sp
.LP
-\fBExample 10 \fRUpgrading All ZFS Storage Pools to the Current Version
+\fBExample 11 \fRUpgrading All ZFS Storage Pools to the Current Version
.sp
.LP
The following command upgrades all ZFS Storage pools to the current version of
@@ -1825,13 +2230,15 @@ the software.
.in +2
.nf
# \fBzpool upgrade -a\fR
-This system is currently running ZFS version 2.
+This system is currently running ZFS pool version 22.
+
+All pools are formatted using this version.
.fi
.in -2
.sp
.LP
-\fBExample 11 \fRManaging Hot Spares
+\fBExample 12 \fRManaging Hot Spares
.sp
.LP
The following command creates a new pool with an available hot spare:
@@ -1859,10 +2266,9 @@ state. The failed device can be replaced using the following command:
.sp
.LP
-Once the data has been resilvered, the spare is automatically removed and is
-made available should another device fails. The hot spare can be permanently
+After the device has been resilvered, the spare is automatically detached and
+is made available should another device fail. The hot spare can be permanently
removed from the pool using the following command:
-
.sp
.in +2
.nf
@@ -1872,7 +2278,7 @@ removed from the pool using the following command:
.sp
.LP
-\fBExample 12 \fRCreating a ZFS Pool with Mirrored Separate Intent Logs
+\fBExample 13 \fRCreating a ZFS Pool with Mirrored Separate Intent Logs
.sp
.LP
The following command creates a ZFS storage pool consisting of two, two-way
@@ -1888,7 +2294,7 @@ mirrors and mirrored log devices:
.sp
.LP
-\fBExample 13 \fRAdding Cache Devices to a ZFS Pool
+\fBExample 14 \fRAdding Cache Devices to a ZFS Pool
.sp
.LP
The following command adds two disks for use as cache devices to a ZFS storage
@@ -1918,7 +2324,7 @@ as follows:
.sp
.LP
-\fBExample 14 \fRRemoving a Mirrored Log Device
+\fBExample 15 \fRRemoving a Mirrored Log Device
.sp
.LP
The following command removes the mirrored log device \fBmirror-2\fR.
@@ -1963,6 +2369,178 @@ The command to remove the mirrored log \fBmirror-2\fR is:
.in -2
.sp
+.LP
+\fBExample 16 \fRRecovering a Faulted ZFS Pool
+.sp
+.LP
+If a pool is faulted but recoverable, a message indicating this state is
+provided by \fBzpool status\fR if the pool was cached (see \fBcachefile\fR
+above), or as part of the error output from a failed \fBzpool import\fR of the
+pool.
+
+.sp
+.LP
+Recover a cached pool with the \fBzpool clear\fR command:
+
+.sp
+.in +2
+.nf
+# \fBzpool clear -F data\fR
+Pool data returned to its state as of Tue Sep 08 13:23:35 2009.
+Discarded approximately 29 seconds of transactions.
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If the pool configuration was not cached, use \fBzpool import\fR with the
+recovery mode flag:
+
+.sp
+.in +2
+.nf
+# \fBzpool import -F data\fR
+Pool data returned to its state as of Tue Sep 08 13:23:35 2009.
+Discarded approximately 29 seconds of transactions.
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 17 \fRImporting with a Single Intent Log Device
+.sp
+.LP
+The following sequence of commands attempts to import a pool with a missing
+device, then employs the \fB-m\fR option to complete the import operation.
+
+.sp
+.in +2
+.nf
+# \fBzpool import\fR
+ pool: tank
+ id: 429789444028972405
+ state: UNAVAIL
+status: One or more devices are missing from the system.
+action: The pool cannot be imported. Attach the missing
+ devices and try again.
+ see: http://www.sun.com/msg/ZFS-8000-6X
+config:
+
+ tank UNAVAIL missing device
+ c7t0d0 ONLINE
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Additional devices are known to be part of this pool, though their exact
+configuration cannot be determined.
+
+.sp
+.in +2
+.nf
+# \fBzpool import tank\fR
+The devices below are missing, use '-m' to import the pool anyway:
+ c5t0d0 [log]
+
+cannot import 'tank': one or more devices is currently unavailable
+
+# \fBzpool import -m tank\fR
+# \fBzpool status tank\fR
+ pool: tank
+ state: DEGRADED
+status: One or more devices could not be opened. Sufficient replicas
+exist for
+ the pool to continue functioning in a degraded state.
+action: Attach the missing device and online it using 'zpool online'.
+ see: http://www.sun.com/msg/ZFS-8000-2Q
+ scan: none requested
+config:
+
+ NAME STATE READ WRITE CKSUM
+ tank DEGRADED 0 0 0
+ da0 ONLINE 0 0 0
+ logs
+ 1693927398582730352 UNAVAIL 0 0 0 was
+/dev/da1
+
+errors: No known data errors
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 18 \fRImporting with a Mirrored Intent Log Device
+.sp
+.LP
+The following sequence of commands attempts to import a pool when a mirrored
+log device is unavailable, then employs the \fB-m\fR option to complete the
+import operation.
+
+.sp
+.in +2
+.nf
+# \fBzpool import\fR
+ pool: tank
+ id: 429789444028972405
+ state: UNAVAIL
+status: One or more devices are missing from the system.
+action: The pool cannot be imported. Attach the missing
+ devices and try again.
+ see: http://www.sun.com/msg/ZFS-8000-6X
+config:
+
+ tank UNAVAIL missing device
+ c7t0d0 ONLINE
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Additional devices are known to be part of this pool, though their exact
+configuration cannot be determined.
+
+.sp
+.in +2
+.nf
+# \fBzpool import tank\fR
+The devices below are missing, use '-m' to import the pool anyway:
+ mirror-1 [log]
+ c5t0d0
+ c5t1d0
+
+# \fBzpool import -m tank\fR
+
+# \fBzpool status tank\fR
+ pool: tank
+ state: DEGRADED
+status: One or more devices could not be opened. Sufficient replicas
+exist for
+ the pool to continue functioning in a degraded state.
+action: Attach the missing device and online it using 'zpool online'.
+ see: http://www.sun.com/msg/ZFS-8000-2Q
+ scan: none requested
+config:
+
+ NAME STATE READ WRITE CKSUM
+ tank DEGRADED 0 0 0
+ da0 ONLINE 0 0 0
+ logs
+ mirror-1 UNAVAIL 0 0 0
+insufficient replicas
+ 46385995713041169 UNAVAIL 0 0 0 was
+/dev/da1
+ 13821442324672734438 UNAVAIL 0 0 0 was
+/dev/da2
+
+errors: No known data errors
+.fi
+.in -2
+.sp
+
.SH EXIT STATUS
.sp
.LP
@@ -1972,7 +2550,8 @@ The following exit values are returned:
.na
\fB\fB0\fR\fR
.ad
-.RS 5n
+.sp .6
+.RS 4n
Successful completion.
.RE
@@ -1981,7 +2560,8 @@ Successful completion.
.na
\fB\fB1\fR\fR
.ad
-.RS 5n
+.sp .6
+.RS 4n
An error occurred.
.RE
@@ -1990,7 +2570,8 @@ An error occurred.
.na
\fB\fB2\fR\fR
.ad
-.RS 5n
+.sp .6
+.RS 4n
Invalid command line options were specified.
.RE
OpenPOWER on IntegriCloud