xref: /titanic_44/usr/src/man/man1m/zfs.1m (revision a2cdcdd260232b58202b11a9bfc0103c9449ed52)
189f5d17bSYuri Pankov.\"
289f5d17bSYuri Pankov.\" CDDL HEADER START
389f5d17bSYuri Pankov.\"
489f5d17bSYuri Pankov.\" The contents of this file are subject to the terms of the
589f5d17bSYuri Pankov.\" Common Development and Distribution License (the "License").
689f5d17bSYuri Pankov.\" You may not use this file except in compliance with the License.
789f5d17bSYuri Pankov.\"
889f5d17bSYuri Pankov.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
989f5d17bSYuri Pankov.\" or http://www.opensolaris.org/os/licensing.
1089f5d17bSYuri Pankov.\" See the License for the specific language governing permissions
1189f5d17bSYuri Pankov.\" and limitations under the License.
1289f5d17bSYuri Pankov.\"
1389f5d17bSYuri Pankov.\" When distributing Covered Code, include this CDDL HEADER in each
1489f5d17bSYuri Pankov.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1589f5d17bSYuri Pankov.\" If applicable, add the following below this CDDL HEADER, with the
1689f5d17bSYuri Pankov.\" fields enclosed by brackets "[]" replaced with your own identifying
1789f5d17bSYuri Pankov.\" information: Portions Copyright [yyyy] [name of copyright owner]
1889f5d17bSYuri Pankov.\"
1989f5d17bSYuri Pankov.\" CDDL HEADER END
2089f5d17bSYuri Pankov.\"
2189f5d17bSYuri Pankov.\"
22c10c16deSRichard Lowe.\" Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
236658b4ffSJoshua M. Clulow.\" Copyright 2011 Joshua M. Clulow <josh@sysmgr.org>
2430925561SChris Williamson.\" Copyright (c) 2011, 2014 by Delphix. All rights reserved.
25a6f561b4SSašo Kiselkov.\" Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
26a2afb611SJerry Jelinek.\" Copyright (c) 2014, Joyent, Inc. All rights reserved.
27409f1c06SAdam Stevko.\" Copyright (c) 2014 by Adam Stevko. All rights reserved.
28b3cff10cSYuri Pankov.\" Copyright 2015 Nexenta Systems, Inc.  All Rights Reserved.
2989f5d17bSYuri Pankov.\"
30b3cff10cSYuri Pankov.Dd June 8, 2015
31b3cff10cSYuri Pankov.Dt ZFS 1M
32b3cff10cSYuri Pankov.Os
33b3cff10cSYuri Pankov.Sh NAME
34b3cff10cSYuri Pankov.Nm zfs
35b3cff10cSYuri Pankov.Nd configures ZFS file systems
36b3cff10cSYuri Pankov.Sh SYNOPSIS
37b3cff10cSYuri Pankov.Nm
38b3cff10cSYuri Pankov.Op Fl \?
39b3cff10cSYuri Pankov.Nm
40b3cff10cSYuri Pankov.Cm create
41b3cff10cSYuri Pankov.Op Fl p
42b3cff10cSYuri Pankov.Oo Fl o Ar property Ns = Ns Ar value Oc Ns ...
43b3cff10cSYuri Pankov.Ar filesystem
44b3cff10cSYuri Pankov.Nm
45b3cff10cSYuri Pankov.Cm create
46b3cff10cSYuri Pankov.Op Fl ps
47b3cff10cSYuri Pankov.Op Fl b Ar blocksize
48b3cff10cSYuri Pankov.Oo Fl o Ar property Ns = Ns Ar value Oc Ns ...
49b3cff10cSYuri Pankov.Fl V Ar size Ar volume
50b3cff10cSYuri Pankov.Nm
51b3cff10cSYuri Pankov.Cm destroy
52b3cff10cSYuri Pankov.Op Fl Rfnprv
53b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
54b3cff10cSYuri Pankov.Nm
55b3cff10cSYuri Pankov.Cm destroy
56b3cff10cSYuri Pankov.Op Fl Rdnprv
57b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns @ Ns Ar snap Ns
58b3cff10cSYuri Pankov.Oo % Ns Ar snap Ns Oo , Ns Ar snap Ns Oo % Ns Ar snap Oc Oc Oc Ns ...
59b3cff10cSYuri Pankov.Nm
60b3cff10cSYuri Pankov.Cm destroy
61b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns # Ns Ar bookmark
62b3cff10cSYuri Pankov.Nm
63b3cff10cSYuri Pankov.Cm snapshot
64b3cff10cSYuri Pankov.Op Fl r
65b3cff10cSYuri Pankov.Oo Fl o Ar property Ns = Ns value Oc Ns ...
66b3cff10cSYuri Pankov.Ar filesystem Ns @ Ns Ar snapname Ns | Ns Ar volume Ns @ Ns Ar snapname Ns ...
67b3cff10cSYuri Pankov.Nm
68b3cff10cSYuri Pankov.Cm rollback
69b3cff10cSYuri Pankov.Op Fl Rfr
70b3cff10cSYuri Pankov.Ar snapshot
71b3cff10cSYuri Pankov.Nm
72b3cff10cSYuri Pankov.Cm clone
73b3cff10cSYuri Pankov.Op Fl p
74b3cff10cSYuri Pankov.Oo Fl o Ar property Ns = Ns Ar value Oc Ns ...
75b3cff10cSYuri Pankov.Ar snapshot Ar filesystem Ns | Ns Ar volume
76b3cff10cSYuri Pankov.Nm
77b3cff10cSYuri Pankov.Cm promote
78b3cff10cSYuri Pankov.Ar clone-filesystem
79b3cff10cSYuri Pankov.Nm
80b3cff10cSYuri Pankov.Cm rename
81b3cff10cSYuri Pankov.Op Fl f
82b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
83b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
84b3cff10cSYuri Pankov.Nm
85b3cff10cSYuri Pankov.Cm rename
86b3cff10cSYuri Pankov.Op Fl fp
87b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
88b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
89b3cff10cSYuri Pankov.Nm
90b3cff10cSYuri Pankov.Cm rename
91b3cff10cSYuri Pankov.Fl r
92b3cff10cSYuri Pankov.Ar snapshot Ar snapshot
93b3cff10cSYuri Pankov.Nm
94b3cff10cSYuri Pankov.Cm list
95b3cff10cSYuri Pankov.Op Fl r Ns | Ns Fl d Ar depth
96b3cff10cSYuri Pankov.Op Fl Hp
97b3cff10cSYuri Pankov.Oo Fl o Ar property Ns Oo , Ns Ar property Oc Ns ... Oc
98b3cff10cSYuri Pankov.Oo Fl s Ar property Oc Ns ...
99b3cff10cSYuri Pankov.Oo Fl S Ar property Oc Ns ...
100b3cff10cSYuri Pankov.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns ... Oc
101b3cff10cSYuri Pankov.Oo Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Oc Ns ...
102b3cff10cSYuri Pankov.Nm
103b3cff10cSYuri Pankov.Cm set
104b3cff10cSYuri Pankov.Ar property Ns = Ns Ar value Oo Ar property Ns = Ns Ar value Oc Ns ...
105b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ...
106b3cff10cSYuri Pankov.Nm
107b3cff10cSYuri Pankov.Cm get
108b3cff10cSYuri Pankov.Op Fl r Ns | Ns Fl d Ar depth
109b3cff10cSYuri Pankov.Op Fl Hp
110b3cff10cSYuri Pankov.Oo Fl o Ar field Ns Oo , Ns Ar field Oc Ns ... Oc
111b3cff10cSYuri Pankov.Oo Fl s Ar source Ns Oo , Ns Ar source Oc Ns ... Oc
112b3cff10cSYuri Pankov.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns ... Oc
113b3cff10cSYuri Pankov.Cm all | Ar property Ns Oo , Ns Ar property Oc Ns ...
114b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ...
115b3cff10cSYuri Pankov.Nm
116b3cff10cSYuri Pankov.Cm inherit
117b3cff10cSYuri Pankov.Op Fl rS
118b3cff10cSYuri Pankov.Ar property Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ...
119b3cff10cSYuri Pankov.Nm
120b3cff10cSYuri Pankov.Cm upgrade
121b3cff10cSYuri Pankov.Nm
122b3cff10cSYuri Pankov.Cm upgrade
123b3cff10cSYuri Pankov.Fl v
124b3cff10cSYuri Pankov.Nm
125b3cff10cSYuri Pankov.Cm upgrade
126b3cff10cSYuri Pankov.Op Fl r
127b3cff10cSYuri Pankov.Op Fl V Ar version
128b3cff10cSYuri Pankov.Fl a | Ar filesystem
129b3cff10cSYuri Pankov.Nm
130b3cff10cSYuri Pankov.Cm userspace
131b3cff10cSYuri Pankov.Op Fl Hinp
132b3cff10cSYuri Pankov.Oo Fl o Ar field Ns Oo , Ns Ar field Oc Ns ... Oc
133b3cff10cSYuri Pankov.Oo Fl s Ar field Oc Ns ...
134b3cff10cSYuri Pankov.Oo Fl S Ar field Oc Ns ...
135b3cff10cSYuri Pankov.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns ... Oc
136b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar snapshot
137b3cff10cSYuri Pankov.Nm
138b3cff10cSYuri Pankov.Cm groupspace
139b3cff10cSYuri Pankov.Op Fl Hinp
140b3cff10cSYuri Pankov.Oo Fl o Ar field Ns Oo , Ns Ar field Oc Ns ... Oc
141b3cff10cSYuri Pankov.Oo Fl s Ar field Oc Ns ...
142b3cff10cSYuri Pankov.Oo Fl S Ar field Oc Ns ...
143b3cff10cSYuri Pankov.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns ... Oc
144b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar snapshot
145b3cff10cSYuri Pankov.Nm
146b3cff10cSYuri Pankov.Cm mount
147b3cff10cSYuri Pankov.Nm
148b3cff10cSYuri Pankov.Cm mount
149b3cff10cSYuri Pankov.Op Fl Ov
150b3cff10cSYuri Pankov.Op Fl o Ar options
151b3cff10cSYuri Pankov.Fl a | Ar filesystem
152b3cff10cSYuri Pankov.Nm
153b3cff10cSYuri Pankov.Cm unmount
154b3cff10cSYuri Pankov.Op Fl f
155b3cff10cSYuri Pankov.Fl a | Ar filesystem Ns | Ns Ar mountpoint
156b3cff10cSYuri Pankov.Nm
157b3cff10cSYuri Pankov.Cm share
158b3cff10cSYuri Pankov.Fl a | Ar filesystem
159b3cff10cSYuri Pankov.Nm
160b3cff10cSYuri Pankov.Cm unshare
161b3cff10cSYuri Pankov.Fl a | Ar filesystem Ns | Ns Ar mountpoint
162b3cff10cSYuri Pankov.Nm
163b3cff10cSYuri Pankov.Cm bookmark
164b3cff10cSYuri Pankov.Ar snapshot bookmark
165b3cff10cSYuri Pankov.Nm
166b3cff10cSYuri Pankov.Cm send
167b3cff10cSYuri Pankov.Op Fl DLPRenpv
168b3cff10cSYuri Pankov.Op Oo Fl I Ns | Ns Fl i Oc Ar snapshot
169b3cff10cSYuri Pankov.Ar snapshot
170b3cff10cSYuri Pankov.Nm
171b3cff10cSYuri Pankov.Cm send
172b3cff10cSYuri Pankov.Op Fl Le
173b3cff10cSYuri Pankov.Op Fl i Ar snapshot Ns | Ns Ar bookmark
174b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
175b3cff10cSYuri Pankov.Nm
176b3cff10cSYuri Pankov.Cm receive
177b3cff10cSYuri Pankov.Op Fl Fnuv
178*a2cdcdd2SPaul Dagnelie.Op Fl o Sy origin Ns = Ns Ar snapshot
179b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
180b3cff10cSYuri Pankov.Nm
181b3cff10cSYuri Pankov.Cm receive
182b3cff10cSYuri Pankov.Op Fl Fnuv
183b3cff10cSYuri Pankov.Op Fl d Ns | Ns Fl e
184*a2cdcdd2SPaul Dagnelie.Op Fl o Sy origin Ns = Ns Ar snapshot
185b3cff10cSYuri Pankov.Ar filesystem
186b3cff10cSYuri Pankov.Nm
187b3cff10cSYuri Pankov.Cm allow
188b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
189b3cff10cSYuri Pankov.Nm
190b3cff10cSYuri Pankov.Cm allow
191b3cff10cSYuri Pankov.Op Fl dglu
192b3cff10cSYuri Pankov.Ar user Ns | Ns Ar group Ns Oo , Ns Ar user Ns | Ns Ar group Oc Ns ...
193b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns
194b3cff10cSYuri Pankov.Ar setname Oc Ns ...
195b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
196b3cff10cSYuri Pankov.Nm
197b3cff10cSYuri Pankov.Cm allow
198b3cff10cSYuri Pankov.Op Fl dl
199b3cff10cSYuri Pankov.Fl e Ns | Ns Sy everyone
200b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns
201b3cff10cSYuri Pankov.Ar setname Oc Ns ...
202b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
203b3cff10cSYuri Pankov.Nm
204b3cff10cSYuri Pankov.Cm allow
205b3cff10cSYuri Pankov.Fl c
206b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns
207b3cff10cSYuri Pankov.Ar setname Oc Ns ...
208b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
209b3cff10cSYuri Pankov.Nm
210b3cff10cSYuri Pankov.Cm allow
211b3cff10cSYuri Pankov.Fl s No @ Ns Ar setname
212b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns
213b3cff10cSYuri Pankov.Ar setname Oc Ns ...
214b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
215b3cff10cSYuri Pankov.Nm
216b3cff10cSYuri Pankov.Cm unallow
217b3cff10cSYuri Pankov.Op Fl dglru
218b3cff10cSYuri Pankov.Ar user Ns | Ns Ar group Ns Oo , Ns Ar user Ns | Ns Ar group Oc Ns ...
219b3cff10cSYuri Pankov.Oo Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns
220b3cff10cSYuri Pankov.Ar setname Oc Ns ... Oc
221b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
222b3cff10cSYuri Pankov.Nm
223b3cff10cSYuri Pankov.Cm unallow
224b3cff10cSYuri Pankov.Op Fl dlr
225b3cff10cSYuri Pankov.Fl e Ns | Ns Sy everyone
226b3cff10cSYuri Pankov.Oo Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns
227b3cff10cSYuri Pankov.Ar setname Oc Ns ... Oc
228b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
229b3cff10cSYuri Pankov.Nm
230b3cff10cSYuri Pankov.Cm unallow
231b3cff10cSYuri Pankov.Op Fl r
232b3cff10cSYuri Pankov.Fl c
233b3cff10cSYuri Pankov.Oo Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns
234b3cff10cSYuri Pankov.Ar setname Oc Ns ... Oc
235b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
236b3cff10cSYuri Pankov.Nm
237b3cff10cSYuri Pankov.Cm unallow
238b3cff10cSYuri Pankov.Op Fl r
239b3cff10cSYuri Pankov.Fl s @ Ns Ar setname
240b3cff10cSYuri Pankov.Oo Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns
241b3cff10cSYuri Pankov.Ar setname Oc Ns ... Oc
242b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
243b3cff10cSYuri Pankov.Nm
244b3cff10cSYuri Pankov.Cm hold
245b3cff10cSYuri Pankov.Op Fl r
246b3cff10cSYuri Pankov.Ar tag Ar snapshot Ns ...
247b3cff10cSYuri Pankov.Nm
248b3cff10cSYuri Pankov.Cm holds
249b3cff10cSYuri Pankov.Op Fl r
250b3cff10cSYuri Pankov.Ar snapshot Ns ...
251b3cff10cSYuri Pankov.Nm
252b3cff10cSYuri Pankov.Cm release
253b3cff10cSYuri Pankov.Op Fl r
254b3cff10cSYuri Pankov.Ar tag Ar snapshot Ns ...
255b3cff10cSYuri Pankov.Nm
256b3cff10cSYuri Pankov.Cm diff
257b3cff10cSYuri Pankov.Op Fl FHt
258b3cff10cSYuri Pankov.Ar snapshot Ar snapshot Ns | Ns Ar filesystem
259b3cff10cSYuri Pankov.Sh DESCRIPTION
260b3cff10cSYuri PankovThe
261b3cff10cSYuri Pankov.Nm
262b3cff10cSYuri Pankovcommand configures ZFS datasets within a ZFS storage pool, as described in
263b3cff10cSYuri Pankov.Xr zpool 1M .
264b3cff10cSYuri PankovA dataset is identified by a unique path within the ZFS namespace. For example:
265b3cff10cSYuri Pankov.Bd -literal
266c10c16deSRichard Lowepool/{filesystem,volume,snapshot}
267b3cff10cSYuri Pankov.Ed
268b3cff10cSYuri Pankov.Pp
269b3cff10cSYuri Pankovwhere the maximum length of a dataset name is
270b3cff10cSYuri Pankov.Dv MAXNAMELEN
271b3cff10cSYuri Pankov.Pq 256 bytes .
272b3cff10cSYuri Pankov.Pp
273c10c16deSRichard LoweA dataset can be one of the following:
274b3cff10cSYuri Pankov.Bl -tag -width "file system"
275b3cff10cSYuri Pankov.It Sy file system
276b3cff10cSYuri PankovA ZFS dataset of type
277b3cff10cSYuri Pankov.Sy filesystem
278b3cff10cSYuri Pankovcan be mounted within the standard system namespace and behaves like other file
279b3cff10cSYuri Pankovsystems. While ZFS file systems are designed to be POSIX compliant, known issues
280b3cff10cSYuri Pankovexist that prevent compliance in some cases. Applications that depend on
281b3cff10cSYuri Pankovstandards conformance might fail due to non-standard behavior when checking file
282b3cff10cSYuri Pankovsystem free space.
283b3cff10cSYuri Pankov.It Sy volume
284c10c16deSRichard LoweA logical volume exported as a raw or block device. This type of dataset should
285c10c16deSRichard Loweonly be used under special circumstances. File systems are typically used in
286c10c16deSRichard Lowemost environments.
287b3cff10cSYuri Pankov.It Sy snapshot
288c10c16deSRichard LoweA read-only version of a file system or volume at a given point in time. It is
289b3cff10cSYuri Pankovspecified as
290b3cff10cSYuri Pankov.Ar filesystem Ns @ Ns Ar name
291b3cff10cSYuri Pankovor
292b3cff10cSYuri Pankov.Ar volume Ns @ Ns Ar name .
293b3cff10cSYuri Pankov.El
294b3cff10cSYuri Pankov.Ss ZFS File System Hierarchy
295b3cff10cSYuri PankovA ZFS storage pool is a logical collection of devices that provide space for
296b3cff10cSYuri Pankovdatasets. A storage pool is also the root of the ZFS file system hierarchy.
297b3cff10cSYuri Pankov.Pp
298c10c16deSRichard LoweThe root of the pool can be accessed as a file system, such as mounting and
299c10c16deSRichard Loweunmounting, taking snapshots, and setting properties. The physical storage
300b3cff10cSYuri Pankovcharacteristics, however, are managed by the
301b3cff10cSYuri Pankov.Xr zpool 1M
302b3cff10cSYuri Pankovcommand.
303b3cff10cSYuri Pankov.Pp
304b3cff10cSYuri PankovSee
305b3cff10cSYuri Pankov.Xr zpool 1M
306b3cff10cSYuri Pankovfor more information on creating and administering pools.
307b3cff10cSYuri Pankov.Ss Snapshots
308c10c16deSRichard LoweA snapshot is a read-only copy of a file system or volume. Snapshots can be
309c10c16deSRichard Lowecreated extremely quickly, and initially consume no additional space within the
310c10c16deSRichard Lowepool. As data within the active dataset changes, the snapshot consumes more
311c10c16deSRichard Lowedata than would otherwise be shared with the active dataset.
312b3cff10cSYuri Pankov.Pp
313c10c16deSRichard LoweSnapshots can have arbitrary names. Snapshots of volumes can be cloned or
314c10c16deSRichard Lowerolled back, but cannot be accessed independently.
315b3cff10cSYuri Pankov.Pp
316b3cff10cSYuri PankovFile system snapshots can be accessed under the
317b3cff10cSYuri Pankov.Pa .zfs/snapshot
318b3cff10cSYuri Pankovdirectory in the root of the file system. Snapshots are automatically mounted on
319b3cff10cSYuri Pankovdemand and may be unmounted at regular intervals. The visibility of the
320b3cff10cSYuri Pankov.Pa .zfs
321b3cff10cSYuri Pankovdirectory can be controlled by the
322b3cff10cSYuri Pankovsnapdir
323b3cff10cSYuri Pankovproperty.
324b3cff10cSYuri Pankov.Ss Clones
325c10c16deSRichard LoweA clone is a writable volume or file system whose initial contents are the same
326b3cff10cSYuri Pankovas another dataset. As with snapshots, creating a clone is nearly instantaneous,
327b3cff10cSYuri Pankovand initially consumes no additional space.
328b3cff10cSYuri Pankov.Pp
329c10c16deSRichard LoweClones can only be created from a snapshot. When a snapshot is cloned, it
330c10c16deSRichard Lowecreates an implicit dependency between the parent and child. Even though the
331c10c16deSRichard Loweclone is created somewhere else in the dataset hierarchy, the original snapshot
332b3cff10cSYuri Pankovcannot be destroyed as long as a clone exists. The
333b3cff10cSYuri Pankov.Sy origin
334b3cff10cSYuri Pankovproperty exposes this dependency, and the
335b3cff10cSYuri Pankov.Cm destroy
336b3cff10cSYuri Pankovcommand lists any such dependencies, if they exist.
337b3cff10cSYuri Pankov.Pp
338c10c16deSRichard LoweThe clone parent-child dependency relationship can be reversed by using the
339b3cff10cSYuri Pankov.Cm promote
340b3cff10cSYuri Pankovsubcommand. This causes the
341b3cff10cSYuri Pankov.Qq origin
342b3cff10cSYuri Pankovfile system to become a clone of the specified file system, which makes it
343b3cff10cSYuri Pankovpossible to destroy the file system that the clone was created from.
344b3cff10cSYuri Pankov.Ss "Mount Points"
345b3cff10cSYuri PankovCreating a ZFS file system is a simple operation, so the number of file systems
346b3cff10cSYuri Pankovper system is likely to be numerous. To cope with this, ZFS automatically
347b3cff10cSYuri Pankovmanages mounting and unmounting file systems without the need to edit the
348b3cff10cSYuri Pankov.Pa /etc/vfstab
349b3cff10cSYuri Pankovfile. All automatically managed file systems are mounted by ZFS at boot time.
350b3cff10cSYuri Pankov.Pp
351b3cff10cSYuri PankovBy default, file systems are mounted under
352b3cff10cSYuri Pankov.Pa /path ,
353b3cff10cSYuri Pankovwhere
354b3cff10cSYuri Pankov.Ar path
355b3cff10cSYuri Pankovis the name of the file system in the ZFS namespace. Directories are created and
356b3cff10cSYuri Pankovdestroyed as needed.
357b3cff10cSYuri Pankov.Pp
358b3cff10cSYuri PankovA file system can also have a mount point set in the
359b3cff10cSYuri Pankov.Sy mountpoint
360b3cff10cSYuri Pankovproperty. This directory is created as needed, and ZFS automatically mounts the
361b3cff10cSYuri Pankovfile system when the
362b3cff10cSYuri Pankov.Nm zfs Cm mount Fl a
363b3cff10cSYuri Pankovcommand is invoked
364b3cff10cSYuri Pankov.Po without editing
365b3cff10cSYuri Pankov.Pa /etc/vfstab
366b3cff10cSYuri Pankov.Pc .
367b3cff10cSYuri PankovThe
368b3cff10cSYuri Pankov.Sy mountpoint
369b3cff10cSYuri Pankovproperty can be inherited, so if
370b3cff10cSYuri Pankov.Em pool/home
371b3cff10cSYuri Pankovhas a mount point of
372b3cff10cSYuri Pankov.Pa /export/stuff ,
373b3cff10cSYuri Pankovthen
374b3cff10cSYuri Pankov.Em pool/home/user
375b3cff10cSYuri Pankovautomatically inherits a mount point of
376b3cff10cSYuri Pankov.Pa /export/stuff/user .
377b3cff10cSYuri Pankov.Pp
378b3cff10cSYuri PankovA file system
379b3cff10cSYuri Pankov.Sy mountpoint
380b3cff10cSYuri Pankovproperty of
381b3cff10cSYuri Pankov.Sy none
382b3cff10cSYuri Pankovprevents the file system from being mounted.
383b3cff10cSYuri Pankov.Pp
384b3cff10cSYuri PankovIf needed, ZFS file systems can also be managed with traditional tools
385b3cff10cSYuri Pankov.Po
386b3cff10cSYuri Pankov.Nm mount ,
387b3cff10cSYuri Pankov.Nm umount ,
388b3cff10cSYuri Pankov.Pa /etc/vfstab
389b3cff10cSYuri Pankov.Pc .
390b3cff10cSYuri PankovIf a file system's mount point is set to
391b3cff10cSYuri Pankov.Sy legacy ,
392b3cff10cSYuri PankovZFS makes no attempt to manage the file system, and the administrator is
393b3cff10cSYuri Pankovresponsible for mounting and unmounting the file system.
394b3cff10cSYuri Pankov.Ss "Zones"
395b3cff10cSYuri PankovA ZFS file system can be added to a non-global zone by using the
396b3cff10cSYuri Pankov.Nm zonecfg Cm add Sy fs
397b3cff10cSYuri Pankovsubcommand. A ZFS file system that is added to a non-global zone must have its
398b3cff10cSYuri Pankov.Sy mountpoint
399b3cff10cSYuri Pankovproperty set to
400b3cff10cSYuri Pankov.Sy legacy .
401b3cff10cSYuri Pankov.Pp
402c10c16deSRichard LoweThe physical properties of an added file system are controlled by the global
403c10c16deSRichard Loweadministrator. However, the zone administrator can create, modify, or destroy
404b3cff10cSYuri Pankovfiles within the added file system, depending on how the file system is mounted.
405b3cff10cSYuri Pankov.Pp
406b3cff10cSYuri PankovA dataset can also be delegated to a non-global zone by using the
407b3cff10cSYuri Pankov.Nm zonecfg Cm add Sy dataset
408b3cff10cSYuri Pankovsubcommand. You cannot delegate a dataset to one zone and the children of the
409b3cff10cSYuri Pankovsame dataset to another zone. The zone administrator can change properties of
410b3cff10cSYuri Pankovthe dataset or any of its children. However, the
411b3cff10cSYuri Pankov.Sy quota ,
412b3cff10cSYuri Pankov.Sy filesystem_limit
413b3cff10cSYuri Pankovand
414b3cff10cSYuri Pankov.Sy snapshot_limit
415b3cff10cSYuri Pankovproperties of the delegated dataset can be modified only by the global
416b3cff10cSYuri Pankovadministrator.
417b3cff10cSYuri Pankov.Pp
418b3cff10cSYuri PankovA ZFS volume can be added as a device to a non-global zone by using the
419b3cff10cSYuri Pankov.Nm zonecfg Cm add Sy device
420b3cff10cSYuri Pankovsubcommand. However, its physical properties can be modified only by the global
421b3cff10cSYuri Pankovadministrator.
422b3cff10cSYuri Pankov.Pp
423b3cff10cSYuri PankovFor more information about
424b3cff10cSYuri Pankov.Nm zonecfg
425b3cff10cSYuri Pankovsyntax, see
426b3cff10cSYuri Pankov.Xr zonecfg 1M .
427b3cff10cSYuri Pankov.Pp
428b3cff10cSYuri PankovAfter a dataset is delegated to a non-global zone, the
429b3cff10cSYuri Pankov.Sy zoned
430b3cff10cSYuri Pankovproperty is automatically set. A zoned file system cannot be mounted in the
431b3cff10cSYuri Pankovglobal zone, since the zone administrator might have to set the mount point to
432b3cff10cSYuri Pankovan unacceptable value.
433b3cff10cSYuri Pankov.Pp
434b3cff10cSYuri PankovThe global administrator can forcibly clear the
435b3cff10cSYuri Pankov.Sy zoned
436b3cff10cSYuri Pankovproperty, though this should be done with extreme care. The global administrator
437b3cff10cSYuri Pankovshould verify that all the mount points are acceptable before clearing the
438b3cff10cSYuri Pankovproperty.
439b3cff10cSYuri Pankov.Ss Native Properties
440b3cff10cSYuri PankovProperties are divided into two types, native properties and user-defined
441b3cff10cSYuri Pankov.Po or
442b3cff10cSYuri Pankov.Qq user
443b3cff10cSYuri Pankov.Pc
444b3cff10cSYuri Pankovproperties. Native properties either export internal statistics or control ZFS
445b3cff10cSYuri Pankovbehavior. In addition, native properties are either editable or read-only. User
446b3cff10cSYuri Pankovproperties have no effect on ZFS behavior, but you can use them to annotate
447b3cff10cSYuri Pankovdatasets in a way that is meaningful in your environment. For more information
448b3cff10cSYuri Pankovabout user properties, see the
449b3cff10cSYuri Pankov.Sx User Properties
450b3cff10cSYuri Pankovsection, below.
451b3cff10cSYuri Pankov.Pp
452c10c16deSRichard LoweEvery dataset has a set of properties that export statistics about the dataset
453c10c16deSRichard Loweas well as control various behaviors. Properties are inherited from the parent
454c10c16deSRichard Loweunless overridden by the child. Some properties apply only to certain types of
455b3cff10cSYuri Pankovdatasets
456b3cff10cSYuri Pankov.Pq file systems, volumes, or snapshots .
457b3cff10cSYuri Pankov.Pp
458c10c16deSRichard LoweThe values of numeric properties can be specified using human-readable suffixes
459b3cff10cSYuri Pankov.Po for example,
460b3cff10cSYuri Pankov.Sy k ,
461b3cff10cSYuri Pankov.Sy KB ,
462b3cff10cSYuri Pankov.Sy M ,
463b3cff10cSYuri Pankov.Sy Gb ,
464b3cff10cSYuri Pankovand so forth, up to
465b3cff10cSYuri Pankov.Sy Z
466b3cff10cSYuri Pankovfor zettabyte
467b3cff10cSYuri Pankov.Pc .
468b3cff10cSYuri PankovThe following are all valid
469b3cff10cSYuri Pankov.Pq and equal
470b3cff10cSYuri Pankovspecifications:
471b3cff10cSYuri Pankov.Li 1536M, 1.5g, 1.50GB .
472b3cff10cSYuri Pankov.Pp
473c10c16deSRichard LoweThe values of non-numeric properties are case sensitive and must be lowercase,
474b3cff10cSYuri Pankovexcept for
475b3cff10cSYuri Pankov.Sy mountpoint ,
476b3cff10cSYuri Pankov.Sy sharenfs ,
477b3cff10cSYuri Pankovand
478b3cff10cSYuri Pankov.Sy sharesmb .
479b3cff10cSYuri Pankov.Pp
480c10c16deSRichard LoweThe following native properties consist of read-only statistics about the
481c10c16deSRichard Lowedataset. These properties can be neither set, nor inherited. Native properties
482c10c16deSRichard Loweapply to all dataset types unless otherwise noted.
483b3cff10cSYuri Pankov.Bl -tag -width "usedbyrefreservation"
484b3cff10cSYuri Pankov.It Sy available
485b3cff10cSYuri PankovThe amount of space available to the dataset and all its children, assuming that
486b3cff10cSYuri Pankovthere is no other activity in the pool. Because space is shared within a pool,
487b3cff10cSYuri Pankovavailability can be limited by any number of factors, including physical pool
488b3cff10cSYuri Pankovsize, quotas, reservations, or other datasets within the pool.
489b3cff10cSYuri Pankov.Pp
490c10c16deSRichard LoweThis property can also be referred to by its shortened column name,
491b3cff10cSYuri Pankov.Sy avail .
492b3cff10cSYuri Pankov.It Sy compressratio
493b3cff10cSYuri PankovFor non-snapshots, the compression ratio achieved for the
494b3cff10cSYuri Pankov.Sy used
495b3cff10cSYuri Pankovspace of this dataset, expressed as a multiplier. The
496b3cff10cSYuri Pankov.Sy used
497b3cff10cSYuri Pankovproperty includes descendant datasets, and, for clones, does not include the
498b3cff10cSYuri Pankovspace shared with the origin snapshot. For snapshots, the
499b3cff10cSYuri Pankov.Sy compressratio
500b3cff10cSYuri Pankovis the same as the
501b3cff10cSYuri Pankov.Sy refcompressratio
502b3cff10cSYuri Pankovproperty. Compression can be turned on by running:
503b3cff10cSYuri Pankov.Nm zfs Cm set Sy compression Ns = Ns Sy on Ar dataset .
504b3cff10cSYuri PankovThe default value is
505b3cff10cSYuri Pankov.Sy off .
506b3cff10cSYuri Pankov.It Sy creation
507c10c16deSRichard LoweThe time this dataset was created.
508b3cff10cSYuri Pankov.It Sy clones
509b3cff10cSYuri PankovFor snapshots, this property is a comma-separated list of filesystems or volumes
510b3cff10cSYuri Pankovwhich are clones of this snapshot. The clones'
511b3cff10cSYuri Pankov.Sy origin
512b3cff10cSYuri Pankovproperty is this snapshot. If the
513b3cff10cSYuri Pankov.Sy clones
514b3cff10cSYuri Pankovproperty is not empty, then this snapshot can not be destroyed
515b3cff10cSYuri Pankov.Po even with the
516b3cff10cSYuri Pankov.Fl r
517b3cff10cSYuri Pankovor
518b3cff10cSYuri Pankov.Fl f
519b3cff10cSYuri Pankovoptions
520b3cff10cSYuri Pankov.Pc .
521b3cff10cSYuri Pankov.It Sy defer_destroy
522b3cff10cSYuri PankovThis property is
523b3cff10cSYuri Pankov.Sy on
524b3cff10cSYuri Pankovif the snapshot has been marked for deferred destroy by using the
525b3cff10cSYuri Pankov.Nm zfs Cm destroy Fl d
526b3cff10cSYuri Pankovcommand. Otherwise, the property is
527b3cff10cSYuri Pankov.Sy off .
528b3cff10cSYuri Pankov.It Sy filesystem_count
529b3cff10cSYuri PankovThe total number of filesystems and volumes that exist under this location in
530b3cff10cSYuri Pankovthe dataset tree. This value is only available when a
531b3cff10cSYuri Pankov.Sy filesystem_limit
532b3cff10cSYuri Pankovhas been set somewhere in the tree under which the dataset resides.
533b3cff10cSYuri Pankov.It Sy logicalreferenced
534b3cff10cSYuri PankovThe amount of space that is
535b3cff10cSYuri Pankov.Qq logically
536b3cff10cSYuri Pankovaccessible by this dataset. See the
537b3cff10cSYuri Pankov.Sy referenced
538b3cff10cSYuri Pankovproperty. The logical space ignores the effect of the
539b3cff10cSYuri Pankov.Sy compression
540b3cff10cSYuri Pankovand
541b3cff10cSYuri Pankov.Sy copies
542b3cff10cSYuri Pankovproperties, giving a quantity closer to the amount of data that applications
543b3cff10cSYuri Pankovsee. However, it does include space consumed by metadata.
544b3cff10cSYuri Pankov.Pp
54577372cb0SMatthew AhrensThis property can also be referred to by its shortened column name,
546b3cff10cSYuri Pankov.Sy lrefer .
547b3cff10cSYuri Pankov.It Sy logicalused
548b3cff10cSYuri PankovThe amount of space that is
549b3cff10cSYuri Pankov.Qq logically
550b3cff10cSYuri Pankovconsumed by this dataset and all its descendents. See the
551b3cff10cSYuri Pankov.Sy used
552b3cff10cSYuri Pankovproperty. The logical space ignores the effect of the
553b3cff10cSYuri Pankov.Sy compression
554b3cff10cSYuri Pankovand
555b3cff10cSYuri Pankov.Sy copies
556b3cff10cSYuri Pankovproperties, giving a quantity closer to the amount of data that applications
557b3cff10cSYuri Pankovsee. However, it does include space consumed by metadata.
558b3cff10cSYuri Pankov.Pp
55977372cb0SMatthew AhrensThis property can also be referred to by its shortened column name,
560b3cff10cSYuri Pankov.Sy lused .
561b3cff10cSYuri Pankov.It Sy mounted
562c10c16deSRichard LoweFor file systems, indicates whether the file system is currently mounted. This
563b3cff10cSYuri Pankovproperty can be either
564b3cff10cSYuri Pankov.Sy yes
565b3cff10cSYuri Pankovor
566b3cff10cSYuri Pankov.Sy no .
567b3cff10cSYuri Pankov.It Sy origin
568c10c16deSRichard LoweFor cloned file systems or volumes, the snapshot from which the clone was
569b3cff10cSYuri Pankovcreated. See also the
570b3cff10cSYuri Pankov.Sy clones
571b3cff10cSYuri Pankovproperty.
572b3cff10cSYuri Pankov.It Sy referenced
573c10c16deSRichard LoweThe amount of data that is accessible by this dataset, which may or may not be
574c10c16deSRichard Loweshared with other datasets in the pool. When a snapshot or clone is created, it
575c10c16deSRichard Loweinitially references the same amount of space as the file system or snapshot it
576c10c16deSRichard Lowewas created from, since its contents are identical.
577b3cff10cSYuri Pankov.Pp
578c10c16deSRichard LoweThis property can also be referred to by its shortened column name,
579b3cff10cSYuri Pankov.Sy refer .
580b3cff10cSYuri Pankov.It Sy refcompressratio
581b3cff10cSYuri PankovThe compression ratio achieved for the
582b3cff10cSYuri Pankov.Sy referenced
583b3cff10cSYuri Pankovspace of this dataset, expressed as a multiplier. See also the
584b3cff10cSYuri Pankov.Sy compressratio
585187d6ac0SMatt Ahrensproperty.
586b3cff10cSYuri Pankov.It Sy snapshot_count
587b3cff10cSYuri PankovThe total number of snapshots that exist under this location in the dataset
588b3cff10cSYuri Pankovtree. This value is only available when a
589b3cff10cSYuri Pankov.Sy snapshot_limit
590b3cff10cSYuri Pankovhas been set somewhere in the tree under which the dataset resides.
591b3cff10cSYuri Pankov.It Sy type
592b3cff10cSYuri PankovThe type of dataset:
593b3cff10cSYuri Pankov.Sy filesystem ,
594b3cff10cSYuri Pankov.Sy volume ,
595b3cff10cSYuri Pankovor
596b3cff10cSYuri Pankov.Sy snapshot .
597b3cff10cSYuri Pankov.It Sy used
598c10c16deSRichard LoweThe amount of space consumed by this dataset and all its descendents. This is
599c10c16deSRichard Lowethe value that is checked against this dataset's quota and reservation. The
600c10c16deSRichard Lowespace used does not include this dataset's reservation, but does take into
601c10c16deSRichard Loweaccount the reservations of any descendent datasets. The amount of space that a
602c10c16deSRichard Lowedataset consumes from its parent, as well as the amount of space that are freed
603c10c16deSRichard Loweif this dataset is recursively destroyed, is the greater of its space used and
604c10c16deSRichard Loweits reservation.
605b3cff10cSYuri Pankov.Pp
606b3cff10cSYuri PankovWhen snapshots
607b3cff10cSYuri Pankov.Po see the
608b3cff10cSYuri Pankov.Sx Snapshots
609b3cff10cSYuri Pankovsection
610b3cff10cSYuri Pankov.Pc
611b3cff10cSYuri Pankovare created, their space is initially shared between the snapshot and
612b3cff10cSYuri Pankovthe file system, and possibly with previous snapshots. As the file system
613b3cff10cSYuri Pankovchanges, space that was previously shared becomes unique to the snapshot, and
614b3cff10cSYuri Pankovcounted in the snapshot's space used. Additionally, deleting snapshots can
615b3cff10cSYuri Pankovincrease the amount of space unique to
616b3cff10cSYuri Pankov.Pq and used by
617b3cff10cSYuri Pankovother snapshots.
618b3cff10cSYuri Pankov.Pp
619c10c16deSRichard LoweThe amount of space used, available, or referenced does not take into account
620c10c16deSRichard Lowepending changes. Pending changes are generally accounted for within a few
621b3cff10cSYuri Pankovseconds. Committing a change to a disk using
622b3cff10cSYuri Pankov.Xr fsync 3C
623b3cff10cSYuri Pankovor
624b3cff10cSYuri Pankov.Dv O_SYNC
625c10c16deSRichard Lowedoes not necessarily guarantee that the space usage information is updated
626c10c16deSRichard Loweimmediately.
627b3cff10cSYuri Pankov.It Sy usedby*
628b3cff10cSYuri PankovThe
629b3cff10cSYuri Pankov.Sy usedby*
630b3cff10cSYuri Pankovproperties decompose the
631b3cff10cSYuri Pankov.Sy used
632b3cff10cSYuri Pankovproperties into the various reasons that space is used. Specifically,
633b3cff10cSYuri Pankov.Sy used No =
634b3cff10cSYuri Pankov.Sy usedbychildren No +
635b3cff10cSYuri Pankov.Sy usedbydataset No +
636b3cff10cSYuri Pankov.Sy usedbyrefreservation No +
637b3cff10cSYuri Pankov.Sy usedbysnapshots .
638b3cff10cSYuri PankovThese properties are only available for datasets created on
639b3cff10cSYuri Pankov.Nm zpool
640b3cff10cSYuri Pankov.Qo version 13 Qc
641b3cff10cSYuri Pankovpools.
642b3cff10cSYuri Pankov.It Sy usedbychildren
643c10c16deSRichard LoweThe amount of space used by children of this dataset, which would be freed if
644c10c16deSRichard Loweall the dataset's children were destroyed.
645b3cff10cSYuri Pankov.It Sy usedbydataset
646c10c16deSRichard LoweThe amount of space used by this dataset itself, which would be freed if the
647b3cff10cSYuri Pankovdataset were destroyed
648b3cff10cSYuri Pankov.Po after first removing any
649b3cff10cSYuri Pankov.Sy refreservation
650b3cff10cSYuri Pankovand destroying any necessary snapshots or descendents
651b3cff10cSYuri Pankov.Pc .
652b3cff10cSYuri Pankov.It Sy usedbyrefreservation
653b3cff10cSYuri PankovThe amount of space used by a
654b3cff10cSYuri Pankov.Sy refreservation
655b3cff10cSYuri Pankovset on this dataset, which would be freed if the
656b3cff10cSYuri Pankov.Sy refreservation
657b3cff10cSYuri Pankovwas removed.
658b3cff10cSYuri Pankov.It Sy usedbysnapshots
659c10c16deSRichard LoweThe amount of space consumed by snapshots of this dataset. In particular, it is
660c10c16deSRichard Lowethe amount of space that would be freed if all of this dataset's snapshots were
661b3cff10cSYuri Pankovdestroyed. Note that this is not simply the sum of the snapshots'
662b3cff10cSYuri Pankov.Sy used
663c10c16deSRichard Loweproperties because space can be shared by multiple snapshots.
664b3cff10cSYuri Pankov.It Sy userused Ns @ Ns Em user
665c10c16deSRichard LoweThe amount of space consumed by the specified user in this dataset. Space is
666b3cff10cSYuri Pankovcharged to the owner of each file, as displayed by
667b3cff10cSYuri Pankov.Nm ls Fl l .
668b3cff10cSYuri PankovThe amount of space charged is displayed by
669b3cff10cSYuri Pankov.Nm du
670b3cff10cSYuri Pankovand
671b3cff10cSYuri Pankov.Nm ls Fl s .
672b3cff10cSYuri PankovSee the
673b3cff10cSYuri Pankov.Nm zfs Cm userspace
674b3cff10cSYuri Pankovsubcommand for more information.
675b3cff10cSYuri Pankov.Pp
676c10c16deSRichard LoweUnprivileged users can access only their own space usage. The root user, or a
677b3cff10cSYuri Pankovuser who has been granted the
678b3cff10cSYuri Pankov.Sy userused
679b3cff10cSYuri Pankovprivilege with
680b3cff10cSYuri Pankov.Nm zfs Cm allow ,
681c10c16deSRichard Lowecan access everyone's usage.
682b3cff10cSYuri Pankov.Pp
683b3cff10cSYuri PankovThe
684b3cff10cSYuri Pankov.Sy userused Ns @ Ns Em ...
685b3cff10cSYuri Pankovproperties are not displayed by
686b3cff10cSYuri Pankov.Nm zfs Cm get Sy all .
687b3cff10cSYuri PankovThe user's name must be appended after the @ symbol, using one of the following
688b3cff10cSYuri Pankovforms:
689b3cff10cSYuri Pankov.Bl -bullet -width ""
690b3cff10cSYuri Pankov.It
691b3cff10cSYuri Pankov.Em POSIX name
692b3cff10cSYuri Pankov.Po for example,
693b3cff10cSYuri Pankov.Sy joe
694b3cff10cSYuri Pankov.Pc
695b3cff10cSYuri Pankov.It
696b3cff10cSYuri Pankov.Em POSIX numeric ID
697b3cff10cSYuri Pankov.Po for example,
698b3cff10cSYuri Pankov.Sy 789
699b3cff10cSYuri Pankov.Pc
700b3cff10cSYuri Pankov.It
701b3cff10cSYuri Pankov.Em SID name
702b3cff10cSYuri Pankov.Po for example,
703b3cff10cSYuri Pankov.Sy joe.smith@mydomain
704b3cff10cSYuri Pankov.Pc
705b3cff10cSYuri Pankov.It
706b3cff10cSYuri Pankov.Em SID numeric ID
707b3cff10cSYuri Pankov.Po for example,
708b3cff10cSYuri Pankov.Sy S-1-123-456-789
709b3cff10cSYuri Pankov.Pc
710b3cff10cSYuri Pankov.El
711b3cff10cSYuri Pankov.It Sy userrefs
712c10c16deSRichard LoweThis property is set to the number of user holds on this snapshot. User holds
713b3cff10cSYuri Pankovare set by using the
714b3cff10cSYuri Pankov.Nm zfs Cm hold
715b3cff10cSYuri Pankovcommand.
716b3cff10cSYuri Pankov.It Sy groupused Ns @ Ns Em group
717c10c16deSRichard LoweThe amount of space consumed by the specified group in this dataset. Space is
718b3cff10cSYuri Pankovcharged to the group of each file, as displayed by
719b3cff10cSYuri Pankov.Nm ls Fl l .
720b3cff10cSYuri PankovSee the
721b3cff10cSYuri Pankov.Sy userused Ns @ Ns Em user
722b3cff10cSYuri Pankovproperty for more information.
723b3cff10cSYuri Pankov.Pp
724b3cff10cSYuri PankovUnprivileged users can only access their own groups' space usage. The root user,
725b3cff10cSYuri Pankovor a user who has been granted the
726b3cff10cSYuri Pankov.Sy groupused
727b3cff10cSYuri Pankovprivilege with
728b3cff10cSYuri Pankov.Nm zfs Cm allow ,
729b3cff10cSYuri Pankovcan access all groups' usage.
730b3cff10cSYuri Pankov.It Sy volblocksize Ns = Ns Em blocksize
731b3cff10cSYuri PankovFor volumes, specifies the block size of the volume. The
732b3cff10cSYuri Pankov.Sy blocksize
733b3cff10cSYuri Pankovcannot be changed once the volume has been written, so it should be set at
734b3cff10cSYuri Pankovvolume creation time. The default
735b3cff10cSYuri Pankov.Sy blocksize
736b3cff10cSYuri Pankovfor volumes is 8 Kbytes. Any power of 2 from 512 bytes to 128 Kbytes is valid.
737b3cff10cSYuri Pankov.Pp
738c10c16deSRichard LoweThis property can also be referred to by its shortened column name,
739b3cff10cSYuri Pankov.Sy volblock .
740b3cff10cSYuri Pankov.It Sy written
741b3cff10cSYuri PankovThe amount of
742b3cff10cSYuri Pankov.Sy referenced
743b3cff10cSYuri Pankovspace written to this dataset since the previous snapshot.
744b3cff10cSYuri Pankov.It Sy written Ns @ Ns Em snapshot
745b3cff10cSYuri PankovThe amount of
746b3cff10cSYuri Pankov.Sy referenced
747b3cff10cSYuri Pankovspace written to this dataset since the specified snapshot. This is the space
748b3cff10cSYuri Pankovthat is referenced by this dataset but was not referenced by the specified
749b3cff10cSYuri Pankovsnapshot.
750b3cff10cSYuri Pankov.Pp
751b3cff10cSYuri PankovThe
752b3cff10cSYuri Pankov.Em snapshot
753b3cff10cSYuri Pankovmay be specified as a short snapshot name
754b3cff10cSYuri Pankov.Po just the part after the
755b3cff10cSYuri Pankov.Sy @
756b3cff10cSYuri Pankov.Pc ,
757b3cff10cSYuri Pankovin which case it will be interpreted as a snapshot in the same filesystem as
758b3cff10cSYuri Pankovthis dataset. The
759b3cff10cSYuri Pankov.Em snapshot
760b3cff10cSYuri Pankovmay be a full snapshot name
761b3cff10cSYuri Pankov.No Po Em filesystem Ns @ Ns Em snapshot Pc ,
762b3cff10cSYuri Pankovwhich for clones may be a snapshot in the origin's filesystem
763b3cff10cSYuri Pankov.Pq or the origin of the origin's filesystem, etc.
764b3cff10cSYuri Pankov.El
765b3cff10cSYuri Pankov.Pp
766b3cff10cSYuri PankovThe following native properties can be used to change the behavior of a ZFS
767b3cff10cSYuri Pankovdataset.
768b3cff10cSYuri Pankov.Bl -tag -width ""
769b3cff10cSYuri Pankov.It Xo
770b3cff10cSYuri Pankov.Sy aclinherit Ns = Ns Sy discard Ns | Ns Sy noallow Ns | Ns
771b3cff10cSYuri Pankov.Sy restricted Ns | Ns Sy passthrough Ns | Ns Sy passthrough-x
772b3cff10cSYuri Pankov.Xc
773b3cff10cSYuri PankovControls how
774b3cff10cSYuri Pankov.Sy ACE Ns s
775b3cff10cSYuri Pankovare inherited when files and directories are created.
776b3cff10cSYuri Pankov.Bl -tag -width "passthrough-x"
777b3cff10cSYuri Pankov.It Sy discard
778b3cff10cSYuri Pankovdoes not inherit any
779b3cff10cSYuri Pankov.Sy ACE Ns s .
780b3cff10cSYuri Pankov.It Sy noallow
781b3cff10cSYuri Pankovonly inherits inheritable
782b3cff10cSYuri Pankov.Sy ACE Ns s
783b3cff10cSYuri Pankovthat specify
784b3cff10cSYuri Pankov.Qq deny
785b3cff10cSYuri Pankovpermissions.
786b3cff10cSYuri Pankov.It Sy restricted
787b3cff10cSYuri Pankovdefault, removes the
788b3cff10cSYuri Pankov.Sy write_acl
789b3cff10cSYuri Pankovand
790b3cff10cSYuri Pankov.Sy write_owner
791b3cff10cSYuri Pankovpermissions when the
792b3cff10cSYuri Pankov.Sy ACE
793b3cff10cSYuri Pankovis inherited.
794b3cff10cSYuri Pankov.It Sy passthrough
795b3cff10cSYuri Pankovinherits all inheritable
796b3cff10cSYuri Pankov.Sy ACE Ns s
797b3cff10cSYuri Pankovwithout any modifications.
798b3cff10cSYuri Pankov.It Sy passthrough-x
799b3cff10cSYuri Pankovsame meaning as
800b3cff10cSYuri Pankov.Sy passthrough ,
801b3cff10cSYuri Pankovexcept that the
802b3cff10cSYuri Pankov.Sy owner@ ,
803b3cff10cSYuri Pankov.Sy group@ ,
804b3cff10cSYuri Pankovand
805b3cff10cSYuri Pankov.Sy everyone@
806b3cff10cSYuri Pankov.Sy ACE Ns s
807b3cff10cSYuri Pankovinherit the execute permission only if the file creation mode also requests the
808b3cff10cSYuri Pankovexecute bit.
809b3cff10cSYuri Pankov.El
810b3cff10cSYuri Pankov.Pp
811b3cff10cSYuri PankovWhen the property value is set to
812b3cff10cSYuri Pankov.Sy passthrough ,
813b3cff10cSYuri Pankovfiles are created with a mode determined by the inheritable
814b3cff10cSYuri Pankov.Sy ACE Ns s .
815b3cff10cSYuri PankovIf no inheritable
816b3cff10cSYuri Pankov.Sy ACE Ns s
817c10c16deSRichard Loweexist that affect the mode, then the mode is set in accordance to the requested
818c10c16deSRichard Lowemode from the application.
819b3cff10cSYuri Pankov.It Xo
820b3cff10cSYuri Pankov.Sy aclmode Ns = Ns Sy discard Ns | Ns Sy groupmask Ns | Ns
821b3cff10cSYuri Pankov.Sy passthrough Ns | Ns Sy restricted
822b3cff10cSYuri Pankov.Xc
823b3cff10cSYuri PankovControls how an
824b3cff10cSYuri Pankov.Sy ACL
825b3cff10cSYuri Pankovis modified during
826b3cff10cSYuri Pankov.Xr chmod 2 .
827b3cff10cSYuri Pankov.Bl -tag -width "passthrough"
828b3cff10cSYuri Pankov.It Sy discard
829b3cff10cSYuri Pankovdefault, deletes all
830b3cff10cSYuri Pankov.Sy ACE Ns s
831b3cff10cSYuri Pankovthat do not represent the mode of the file.
832b3cff10cSYuri Pankov.It Sy groupmask
833b3cff10cSYuri Pankovreduces permissions granted in all
834b3cff10cSYuri Pankov.Sy ALLOW
835b3cff10cSYuri Pankoventries found in the
836b3cff10cSYuri Pankov.Sy ACL
837b3cff10cSYuri Pankovsuch that they are no greater than the group permissions specified by
838b3cff10cSYuri Pankov.Xr chmod 2 .
839b3cff10cSYuri Pankov.It Sy passthrough
840b3cff10cSYuri Pankovindicates that no changes are made to the
841b3cff10cSYuri Pankov.Sy ACL
842b3cff10cSYuri Pankovother than creating or updating the necessary
843b3cff10cSYuri Pankov.Sy ACE Ns s
844b3cff10cSYuri Pankovto represent the new mode of the file or directory.
845b3cff10cSYuri Pankov.It Sy restricted
846b3cff10cSYuri Pankovcauses the
847b3cff10cSYuri Pankov.Xr chmod 2
848b3cff10cSYuri Pankovoperation to return an error when used on any file or directory which has a
849b3cff10cSYuri Pankovnon-trivial
850b3cff10cSYuri Pankov.Sy ACE Ns s
851b3cff10cSYuri Pankovwhose entries can not be represented by a mode.
852b3cff10cSYuri Pankov.El
853b3cff10cSYuri Pankov.Pp
854b3cff10cSYuri Pankov.Xr chmod 2
855b3cff10cSYuri Pankovis required to change the set user ID, set group ID, or sticky bits on a file or
856b3cff10cSYuri Pankovdirectory, as they do not have equivalent
857b3cff10cSYuri Pankov.Sy ACE Ns s.
858b3cff10cSYuri PankovIn order to use
859b3cff10cSYuri Pankov.Xr chmod 2
860b3cff10cSYuri Pankovon a file or directory with a non-trivial
861b3cff10cSYuri Pankov.Sy ACL
862b3cff10cSYuri Pankovwhen
863b3cff10cSYuri Pankov.Sy aclmode
864b3cff10cSYuri Pankovis set to
865b3cff10cSYuri Pankov.Sy restricted ,
866b3cff10cSYuri Pankovyou must first remove all
867b3cff10cSYuri Pankov.Sy ACE Ns s
868b3cff10cSYuri Pankovwhich do not represent the current mode.
869b3cff10cSYuri Pankov.It Sy atime Ns = Ns Sy on Ns | Ns Sy off
870c10c16deSRichard LoweControls whether the access time for files is updated when they are read.
871c10c16deSRichard LoweTurning this property off avoids producing write traffic when reading files and
872c10c16deSRichard Lowecan result in significant performance gains, though it might confuse mailers
873b3cff10cSYuri Pankovand other similar utilities. The default value is
874b3cff10cSYuri Pankov.Sy on .
875b3cff10cSYuri Pankov.It Sy canmount Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy noauto
876b3cff10cSYuri PankovIf this property is set to
877b3cff10cSYuri Pankov.Sy off ,
878b3cff10cSYuri Pankovthe file system cannot be mounted, and is ignored by
879b3cff10cSYuri Pankov.Nm zfs Cm mount Fl a .
880b3cff10cSYuri PankovSetting this property to
881b3cff10cSYuri Pankov.Sy off
882b3cff10cSYuri Pankovis similar to setting the
883b3cff10cSYuri Pankov.Sy mountpoint
884b3cff10cSYuri Pankovproperty to
885b3cff10cSYuri Pankov.Sy none ,
886b3cff10cSYuri Pankovexcept that the dataset still has a normal
887b3cff10cSYuri Pankov.Sy mountpoint
888b3cff10cSYuri Pankovproperty, which can be inherited. Setting this property to
889b3cff10cSYuri Pankov.Sy off
890b3cff10cSYuri Pankovallows datasets to be used solely as a mechanism to inherit properties. One
891b3cff10cSYuri Pankovexample of setting
892b3cff10cSYuri Pankov.Sy canmount Ns = Ns Sy off
893b3cff10cSYuri Pankovis to have two datasets with the same
894b3cff10cSYuri Pankov.Sy mountpoint ,
895b3cff10cSYuri Pankovso that the children of both datasets appear in the same directory, but might
896b3cff10cSYuri Pankovhave different inherited characteristics.
897b3cff10cSYuri Pankov.Pp
898b3cff10cSYuri PankovWhen set to
899b3cff10cSYuri Pankov.Sy noauto ,
900b3cff10cSYuri Pankova dataset can only be mounted and unmounted explicitly. The dataset is not
901b3cff10cSYuri Pankovmounted automatically when the dataset is created or imported, nor is it mounted
902b3cff10cSYuri Pankovby the
903b3cff10cSYuri Pankov.Nm zfs Cm mount Fl a
904b3cff10cSYuri Pankovcommand or unmounted by the
905b3cff10cSYuri Pankov.Nm zfs Cm unmount Fl a
906b3cff10cSYuri Pankovcommand.
907b3cff10cSYuri Pankov.Pp
908c10c16deSRichard LoweThis property is not inherited.
909b3cff10cSYuri Pankov.It Xo
910b3cff10cSYuri Pankov.Sy checksum Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy fletcher2 Ns | Ns
911b3cff10cSYuri Pankov.Sy fletcher4 Ns | Ns Sy sha256 Ns | Ns Sy noparity
912b3cff10cSYuri Pankov.Xc
913c10c16deSRichard LoweControls the checksum used to verify data integrity. The default value is
914b3cff10cSYuri Pankov.Sy on ,
915b3cff10cSYuri Pankovwhich automatically selects an appropriate algorithm
916b3cff10cSYuri Pankov.Po currently,
917b3cff10cSYuri Pankov.Sy fletcher4 ,
918b3cff10cSYuri Pankovbut this may change in future releases
919b3cff10cSYuri Pankov.Pc .
920b3cff10cSYuri PankovThe value
921b3cff10cSYuri Pankov.Sy off
922b3cff10cSYuri Pankovdisables integrity checking on user data. The value
923b3cff10cSYuri Pankov.Sy noparity
924b3cff10cSYuri Pankovnot only disables integrity but also disables maintaining parity for user data.
925b3cff10cSYuri PankovThis setting is used internally by a dump device residing on a RAID-Z pool and
926b3cff10cSYuri Pankovshould not be used by any other dataset. Disabling checksums is
927b3cff10cSYuri Pankov.Sy NOT
928b3cff10cSYuri Pankova recommended practice.
929b3cff10cSYuri Pankov.Pp
930c10c16deSRichard LoweChanging this property affects only newly-written data.
931b3cff10cSYuri Pankov.It Xo
932b3cff10cSYuri Pankov.Sy compression Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy gzip Ns | Ns
933b3cff10cSYuri Pankov.Sy gzip- Ns Em N Ns | Ns Sy lz4 Ns | Ns Sy lzjb Ns | Ns Sy zle
934b3cff10cSYuri Pankov.Xc
935db1741f5SJustin T. GibbsControls the compression algorithm used for this dataset.
936b3cff10cSYuri Pankov.Pp
937b3cff10cSYuri PankovSetting compression to
938b3cff10cSYuri Pankov.Sy on
939b3cff10cSYuri Pankovindicates that the current default compression algorithm should be used. The
940b3cff10cSYuri Pankovdefault balances compression and decompression speed, with compression ratio and
941b3cff10cSYuri Pankovis expected to work well on a wide variety of workloads.  Unlike all other
942b3cff10cSYuri Pankovsettings for this property,
943b3cff10cSYuri Pankov.Sy on
944b3cff10cSYuri Pankovdoes not select a fixed compression type. As new compression algorithms are
945b3cff10cSYuri Pankovadded to ZFS and enabled on a pool, the default compression algorithm may
946b3cff10cSYuri Pankovchange. The current default compression algorthm is either
947b3cff10cSYuri Pankov.Sy lzjb
948b3cff10cSYuri Pankovor, if the
949b3cff10cSYuri Pankov.Sy lz4_compress
950b3cff10cSYuri Pankovfeature is enabled,
951b3cff10cSYuri Pankov.Sy lz4 .
952b3cff10cSYuri Pankov.Pp
953b3cff10cSYuri PankovThe
954b3cff10cSYuri Pankov.Sy lz4
955b3cff10cSYuri Pankovcompression algorithm is a high-performance replacement for the
956b3cff10cSYuri Pankov.Sy lzjb
957b3cff10cSYuri Pankovalgorithm. It features significantly faster compression and decompression, as
958b3cff10cSYuri Pankovwell as a moderately higher compression ratio than
959b3cff10cSYuri Pankov.Sy lzjb ,
960b3cff10cSYuri Pankovbut can only be used on pools with the
961b3cff10cSYuri Pankov.Sy lz4_compress
962b3cff10cSYuri Pankovfeature set to
963b3cff10cSYuri Pankov.Sy enabled .
964b3cff10cSYuri PankovSee
965b3cff10cSYuri Pankov.Xr zpool-features 5
966b3cff10cSYuri Pankovfor details on ZFS feature flags and the
967b3cff10cSYuri Pankov.Sy lz4_compress
968b3cff10cSYuri Pankovfeature.
969b3cff10cSYuri Pankov.Pp
970b3cff10cSYuri PankovThe
971b3cff10cSYuri Pankov.Sy lzjb
972b3cff10cSYuri Pankovcompression algorithm is optimized for performance while providing decent data
973b3cff10cSYuri Pankovcompression.
974b3cff10cSYuri Pankov.Pp
975b3cff10cSYuri PankovThe
976b3cff10cSYuri Pankov.Sy gzip
977b3cff10cSYuri Pankovcompression algorithm uses the same compression as the
978b3cff10cSYuri Pankov.Xr gzip 1
979b3cff10cSYuri Pankovcommand. You can specify the
980b3cff10cSYuri Pankov.Sy gzip
981b3cff10cSYuri Pankovlevel by using the value
982b3cff10cSYuri Pankov.Sy gzip- Ns Em N ,
983b3cff10cSYuri Pankovwhere
984b3cff10cSYuri Pankov.Em N
985b3cff10cSYuri Pankovis an integer from 1
986b3cff10cSYuri Pankov.Pq fastest
987b3cff10cSYuri Pankovto 9
988b3cff10cSYuri Pankov.Pq best compression ratio .
989b3cff10cSYuri PankovCurrently,
990b3cff10cSYuri Pankov.Sy gzip
991b3cff10cSYuri Pankovis equivalent to
992b3cff10cSYuri Pankov.Sy gzip-6
993b3cff10cSYuri Pankov.Po which is also the default for
994b3cff10cSYuri Pankov.Xr gzip 1
995b3cff10cSYuri Pankov.Pc .
996b3cff10cSYuri Pankov.Pp
997b3cff10cSYuri PankovThe
998b3cff10cSYuri Pankov.Sy zle
999b3cff10cSYuri Pankovcompression algorithm compresses runs of zeros.
1000b3cff10cSYuri Pankov.Pp
1001c10c16deSRichard LoweThis property can also be referred to by its shortened column name
1002c10c16deSRichard Lowe\fBcompress\fR. Changing this property affects only newly-written data.
1003b3cff10cSYuri Pankov.It Sy copies Ns = Ns Sy 1 Ns | Ns Sy 2 Ns | Ns Sy 3
1004c10c16deSRichard LoweControls the number of copies of data stored for this dataset. These copies are
1005c10c16deSRichard Lowein addition to any redundancy provided by the pool, for example, mirroring or
1006c10c16deSRichard LoweRAID-Z. The copies are stored on different disks, if possible. The space used
1007c10c16deSRichard Loweby multiple copies is charged to the associated file and dataset, changing the
1008b3cff10cSYuri Pankov.Sy used
1009b3cff10cSYuri Pankovproperty and counting against quotas and reservations.
1010b3cff10cSYuri Pankov.Pp
1011c10c16deSRichard LoweChanging this property only affects newly-written data. Therefore, set this
1012b3cff10cSYuri Pankovproperty at file system creation time by using the
1013b3cff10cSYuri Pankov.Fl o Sy copies Ns = Ns Ar N
1014b3cff10cSYuri Pankovoption.
1015b3cff10cSYuri Pankov.It Sy devices Ns = Ns Sy on Ns | Ns Sy off
1016c10c16deSRichard LoweControls whether device nodes can be opened on this file system. The default
1017b3cff10cSYuri Pankovvalue is
1018b3cff10cSYuri Pankov.Sy on .
1019b3cff10cSYuri Pankov.It Sy exec Ns = Ns Sy on Ns | Ns Sy off
1020c10c16deSRichard LoweControls whether processes can be executed from within this file system. The
1021b3cff10cSYuri Pankovdefault value is
1022b3cff10cSYuri Pankov.Sy on .
1023b3cff10cSYuri Pankov.It Sy filesystem_limit Ns = Ns Em count Ns | Ns Sy none
1024a2afb611SJerry JelinekLimits the number of filesystems and volumes that can exist under this point in
1025a2afb611SJerry Jelinekthe dataset tree. The limit is not enforced if the user is allowed to change
1026b3cff10cSYuri Pankovthe limit. Setting a
1027b3cff10cSYuri Pankov.Sy filesystem_limit
1028b3cff10cSYuri Pankovto
1029b3cff10cSYuri Pankov.Sy on
1030b3cff10cSYuri Pankova descendent of a filesystem that already has a
1031b3cff10cSYuri Pankov.Sy filesystem_limit
1032b3cff10cSYuri Pankovdoes not override the ancestor's
1033b3cff10cSYuri Pankov.Sy filesystem_limit ,
1034a2afb611SJerry Jelinekbut rather imposes an additional limit. This feature must be enabled to be used
1035b3cff10cSYuri Pankov.Po see
1036b3cff10cSYuri Pankov.Xr zpool-features 5
1037b3cff10cSYuri Pankov.Pc .
1038b3cff10cSYuri Pankov.It Sy mountpoint Ns = Ns Pa path Ns | Ns Sy none Ns | Ns Sy legacy
1039b3cff10cSYuri PankovControls the mount point used for this file system. See the
1040b3cff10cSYuri Pankov.Sx Mount Points
1041c10c16deSRichard Lowesection for more information on how this property is used.
1042b3cff10cSYuri Pankov.Pp
1043b3cff10cSYuri PankovWhen the
1044b3cff10cSYuri Pankov.Sy mountpoint
1045b3cff10cSYuri Pankovproperty is changed for a file system, the file system and any children that
1046b3cff10cSYuri Pankovinherit the mount point are unmounted. If the new value is
1047b3cff10cSYuri Pankov.Sy legacy ,
1048b3cff10cSYuri Pankovthen they remain unmounted. Otherwise, they are automatically remounted in the
1049b3cff10cSYuri Pankovnew location if the property was previously
1050b3cff10cSYuri Pankov.Sy legacy
1051b3cff10cSYuri Pankovor
1052b3cff10cSYuri Pankov.Sy none ,
1053b3cff10cSYuri Pankovor if they were mounted before the property was changed. In addition, any shared
1054b3cff10cSYuri Pankovfile systems are unshared and shared in the new location.
1055b3cff10cSYuri Pankov.It Sy nbmand Ns = Ns Sy on Ns | Ns Sy off
1056b3cff10cSYuri PankovControls whether the file system should be mounted with
1057b3cff10cSYuri Pankov.Sy nbmand
1058b3cff10cSYuri Pankov.Pq Non Blocking mandatory locks .
1059b3cff10cSYuri PankovThis is used for SMB clients. Changes to this property only take effect when the
1060b3cff10cSYuri Pankovfile system is umounted and remounted. See
1061b3cff10cSYuri Pankov.Xr mount 1M
1062b3cff10cSYuri Pankovfor more information on
1063b3cff10cSYuri Pankov.Sy nbmand
1064b3cff10cSYuri Pankovmounts.
1065b3cff10cSYuri Pankov.It Sy primarycache Ns = Ns Sy all Ns | Ns Sy none Ns | Ns Sy metadata
1066b3cff10cSYuri PankovControls what is cached in the primary cache
1067b3cff10cSYuri Pankov.Pq ARC .
1068b3cff10cSYuri PankovIf this property is set to
1069b3cff10cSYuri Pankov.Sy all ,
1070b3cff10cSYuri Pankovthen both user data and metadata is cached. If this property is set to
1071b3cff10cSYuri Pankov.Sy none ,
1072b3cff10cSYuri Pankovthen neither user data nor metadata is cached. If this property is set to
1073b3cff10cSYuri Pankov.Sy metadata ,
1074b3cff10cSYuri Pankovthen only metadata is cached. The default value is
1075b3cff10cSYuri Pankov.Sy all .
1076b3cff10cSYuri Pankov.It Sy quota Ns = Ns Em size Ns | Ns Sy none
1077c10c16deSRichard LoweLimits the amount of space a dataset and its descendents can consume. This
1078c10c16deSRichard Loweproperty enforces a hard limit on the amount of space used. This includes all
1079c10c16deSRichard Lowespace consumed by descendents, including file systems and snapshots. Setting a
1080c10c16deSRichard Lowequota on a descendent of a dataset that already has a quota does not override
1081c10c16deSRichard Lowethe ancestor's quota, but rather imposes an additional limit.
1082b3cff10cSYuri Pankov.Pp
1083b3cff10cSYuri PankovQuotas cannot be set on volumes, as the
1084b3cff10cSYuri Pankov.Sy volsize
1085b3cff10cSYuri Pankovproperty acts as an implicit quota.
1086b3cff10cSYuri Pankov.It Sy snapshot_limit Ns = Ns Em count Ns | Ns Sy none
1087a2afb611SJerry JelinekLimits the number of snapshots that can be created on a dataset and its
1088b3cff10cSYuri Pankovdescendents. Setting a
1089b3cff10cSYuri Pankov.Sy snapshot_limit
1090b3cff10cSYuri Pankovon a descendent of a dataset that already has a
1091b3cff10cSYuri Pankov.Sy snapshot_limit
1092b3cff10cSYuri Pankovdoes not override the ancestor's
1093b3cff10cSYuri Pankov.Sy snapshot_limit ,
1094b3cff10cSYuri Pankovbut rather imposes an additional limit. The limit is not enforced if the user is
1095a2afb611SJerry Jelinekallowed to change the limit. For example, this means that recursive snapshots
1096a2afb611SJerry Jelinektaken from the global zone are counted against each delegated dataset within
1097b3cff10cSYuri Pankova zone. This feature must be enabled to be used
1098b3cff10cSYuri Pankov.Po see
1099b3cff10cSYuri Pankov.Xr zpool-features 5
1100b3cff10cSYuri Pankov.Pc .
1101b3cff10cSYuri Pankov.It Sy userquota@ Ns Em user Ns = Ns Em size Ns | Ns Sy none
1102c10c16deSRichard LoweLimits the amount of space consumed by the specified user. User space
1103b3cff10cSYuri Pankovconsumption is identified by the
1104b3cff10cSYuri Pankov.Sy userspace@ Ns Em user
1105b3cff10cSYuri Pankovproperty.
1106b3cff10cSYuri Pankov.Pp
1107c10c16deSRichard LoweEnforcement of user quotas may be delayed by several seconds. This delay means
1108c10c16deSRichard Lowethat a user might exceed their quota before the system notices that they are
1109b3cff10cSYuri Pankovover quota and begins to refuse additional writes with the
1110b3cff10cSYuri Pankov.Er EDQUOT
1111b3cff10cSYuri Pankoverror message. See the
1112b3cff10cSYuri Pankov.Nm zfs Cm userspace
1113b3cff10cSYuri Pankovsubcommand for more information.
1114b3cff10cSYuri Pankov.Pp
1115c10c16deSRichard LoweUnprivileged users can only access their own groups' space usage. The root
1116b3cff10cSYuri Pankovuser, or a user who has been granted the
1117b3cff10cSYuri Pankov.Sy userquota
1118b3cff10cSYuri Pankovprivilege with
1119b3cff10cSYuri Pankov.Nm zfs Cm allow ,
1120b3cff10cSYuri Pankovcan get and set everyone's quota.
1121b3cff10cSYuri Pankov.Pp
1122c10c16deSRichard LoweThis property is not available on volumes, on file systems before version 4, or
1123b3cff10cSYuri Pankovon pools before version 15. The
1124b3cff10cSYuri Pankov.Sy userquota@ Ns Em ...
1125b3cff10cSYuri Pankovproperties are not displayed by
1126b3cff10cSYuri Pankov.Nm zfs Cm get Sy all .
1127b3cff10cSYuri PankovThe user's name must be appended after the
1128b3cff10cSYuri Pankov.Sy @
1129b3cff10cSYuri Pankovsymbol, using one of the following forms:
1130b3cff10cSYuri Pankov.Bl -bullet
1131b3cff10cSYuri Pankov.It
1132b3cff10cSYuri Pankov.Em POSIX name
1133b3cff10cSYuri Pankov.Po for example,
1134b3cff10cSYuri Pankov.Sy joe
1135b3cff10cSYuri Pankov.Pc
1136b3cff10cSYuri Pankov.It
1137b3cff10cSYuri Pankov.Em POSIX numeric ID
1138b3cff10cSYuri Pankov.Po for example,
1139b3cff10cSYuri Pankov.Sy 789
1140b3cff10cSYuri Pankov.Pc
1141b3cff10cSYuri Pankov.It
1142b3cff10cSYuri Pankov.Em SID name
1143b3cff10cSYuri Pankov.Po for example,
1144b3cff10cSYuri Pankov.Sy joe.smith@mydomain
1145b3cff10cSYuri Pankov.Pc
1146b3cff10cSYuri Pankov.It
1147b3cff10cSYuri Pankov.Em SID numeric ID
1148b3cff10cSYuri Pankov.Po for example,
1149b3cff10cSYuri Pankov.Sy S-1-123-456-789
1150b3cff10cSYuri Pankov.Pc
1151b3cff10cSYuri Pankov.El
1152b3cff10cSYuri Pankov.It Sy groupquota@ Ns Em group Ns = Ns Em size Ns | Ns Sy none
1153c10c16deSRichard LoweLimits the amount of space consumed by the specified group. Group space
1154b3cff10cSYuri Pankovconsumption is identified by the
1155b3cff10cSYuri Pankov.Sy groupused@ Ns Em group
1156b3cff10cSYuri Pankovproperty.
1157b3cff10cSYuri Pankov.Pp
1158c10c16deSRichard LoweUnprivileged users can access only their own groups' space usage. The root
1159b3cff10cSYuri Pankovuser, or a user who has been granted the
1160b3cff10cSYuri Pankov.Sy groupquota
1161b3cff10cSYuri Pankovprivilege with
1162b3cff10cSYuri Pankov.Nm zfs Cm allow ,
1163b3cff10cSYuri Pankovcan get and set all groups' quotas.
1164b3cff10cSYuri Pankov.It Sy readonly Ns = Ns Sy on Ns | Ns Sy off
1165b3cff10cSYuri PankovControls whether this dataset can be modified. The default value is
1166b3cff10cSYuri Pankov.Sy off .
1167b3cff10cSYuri Pankov.Pp
1168c10c16deSRichard LoweThis property can also be referred to by its shortened column name,
1169b3cff10cSYuri Pankov.Sy rdonly .
1170b3cff10cSYuri Pankov.It Sy recordsize Ns = Ns Em size
1171c10c16deSRichard LoweSpecifies a suggested block size for files in the file system. This property is
1172c10c16deSRichard Lowedesigned solely for use with database workloads that access files in fixed-size
1173b3cff10cSYuri Pankovrecords. ZFS automatically tunes block sizes according to internal algorithms
1174b3cff10cSYuri Pankovoptimized for typical access patterns.
1175b3cff10cSYuri Pankov.Pp
1176c10c16deSRichard LoweFor databases that create very large files but access them in small random
1177b3cff10cSYuri Pankovchunks, these algorithms may be suboptimal. Specifying a
1178b3cff10cSYuri Pankov.Sy recordsize
1179c10c16deSRichard Lowegreater than or equal to the record size of the database can result in
1180c10c16deSRichard Lowesignificant performance gains. Use of this property for general purpose file
1181c10c16deSRichard Lowesystems is strongly discouraged, and may adversely affect performance.
1182b3cff10cSYuri Pankov.Pp
1183c10c16deSRichard LoweThe size specified must be a power of two greater than or equal to 512 and less
1184b3cff10cSYuri Pankovthan or equal to 128 Kbytes. If the
1185b3cff10cSYuri Pankov.Sy large_blocks
1186b3cff10cSYuri Pankovfeature is enabled on the pool, the size may be up to 1 Mbyte. See
1187b3cff10cSYuri Pankov.Xr zpool-features 5
1188b5152584SMatthew Ahrensfor details on ZFS feature flags.
1189b3cff10cSYuri Pankov.Pp
1190b3cff10cSYuri PankovChanging the file system's
1191b3cff10cSYuri Pankov.Sy recordsize
1192b3cff10cSYuri Pankovaffects only files created afterward; existing files are unaffected.
1193b3cff10cSYuri Pankov.Pp
1194c10c16deSRichard LoweThis property can also be referred to by its shortened column name,
1195b3cff10cSYuri Pankov.Sy recsize .
1196b3cff10cSYuri Pankov.It Sy redundant_metadata Ns = Ns Sy all Ns | Ns Sy most
1197b3cff10cSYuri PankovControls what types of metadata are stored redundantly. ZFS stores an extra copy
1198b3cff10cSYuri Pankovof metadata, so that if a single block is corrupted, the amount of user data
1199b3cff10cSYuri Pankovlost is limited. This extra copy is in addition to any redundancy provided at
1200b3cff10cSYuri Pankovthe pool level
1201b3cff10cSYuri Pankov.Pq e.g. by mirroring or RAID-Z ,
1202b3cff10cSYuri Pankovand is in addition to an extra copy specified by the
1203b3cff10cSYuri Pankov.Sy copies
1204b3cff10cSYuri Pankovproperty
1205b3cff10cSYuri Pankov.Pq up to a total of 3 copies .
1206b3cff10cSYuri PankovFor example if the pool is mirrored,
1207b3cff10cSYuri Pankov.Sy copies Ns = Ns 2 ,
1208b3cff10cSYuri Pankovand
1209b3cff10cSYuri Pankov.Sy redundant_metadata Ns = Ns Sy most ,
1210b3cff10cSYuri Pankovthen ZFS stores 6 copies of most metadata, and 4 copies of data and some
1211edf345e6SMatthew Ahrensmetadata.
1212b3cff10cSYuri Pankov.Pp
1213b3cff10cSYuri PankovWhen set to
1214b3cff10cSYuri Pankov.Sy all ,
1215b3cff10cSYuri PankovZFS stores an extra copy of all metadata. If a single on-disk block is corrupt,
1216b3cff10cSYuri Pankovat worst a single block of user data
1217b3cff10cSYuri Pankov.Po which is
1218b3cff10cSYuri Pankov.Sy recordsize
1219b3cff10cSYuri Pankovbytes long
1220b3cff10cSYuri Pankov.Pc
1221b3cff10cSYuri Pankovcan be lost.
1222b3cff10cSYuri Pankov.Pp
1223b3cff10cSYuri PankovWhen set to
1224b3cff10cSYuri Pankov.Sy most ,
1225b3cff10cSYuri PankovZFS stores an extra copy of most types of metadata. This can improve performance
1226b3cff10cSYuri Pankovof random writes, because less metadata must be written. In practice, at worst
1227b3cff10cSYuri Pankovabout 100 blocks
1228b3cff10cSYuri Pankov.Po of
1229b3cff10cSYuri Pankov.Sy recordsize
1230b3cff10cSYuri Pankovbytes each
1231b3cff10cSYuri Pankov.Pc
1232b3cff10cSYuri Pankovof user data can be lost if a single on-disk block is corrupt. The exact
1233b3cff10cSYuri Pankovbehavior of which metadata blocks are stored redundantly may change in future
1234b3cff10cSYuri Pankovreleases.
1235b3cff10cSYuri Pankov.Pp
1236b3cff10cSYuri PankovThe default value is
1237b3cff10cSYuri Pankov.Sy all .
1238b3cff10cSYuri Pankov.It Sy refquota Ns = Ns Em size Ns | Ns Sy none
1239c10c16deSRichard LoweLimits the amount of space a dataset can consume. This property enforces a hard
1240c10c16deSRichard Lowelimit on the amount of space used. This hard limit does not include space used
1241c10c16deSRichard Loweby descendents, including file systems and snapshots.
1242b3cff10cSYuri Pankov.It Sy refreservation Ns = Ns Em size Ns | Ns Sy none
1243c10c16deSRichard LoweThe minimum amount of space guaranteed to a dataset, not including its
1244c10c16deSRichard Lowedescendents. When the amount of space used is below this value, the dataset is
1245c10c16deSRichard Lowetreated as if it were taking up the amount of space specified by
1246b3cff10cSYuri Pankov.Sy refreservation .
1247b3cff10cSYuri PankovThe
1248b3cff10cSYuri Pankov.Sy refreservation
1249b3cff10cSYuri Pankovreservation is accounted for in the parent datasets' space used, and counts
1250b3cff10cSYuri Pankovagainst the parent datasets' quotas and reservations.
1251b3cff10cSYuri Pankov.Pp
1252b3cff10cSYuri PankovIf
1253b3cff10cSYuri Pankov.Sy refreservation
1254b3cff10cSYuri Pankovis set, a snapshot is only allowed if there is enough free pool space outside of
1255b3cff10cSYuri Pankovthis reservation to accommodate the current number of
1256b3cff10cSYuri Pankov.Qq referenced
1257b3cff10cSYuri Pankovbytes in the dataset.
1258b3cff10cSYuri Pankov.Pp
1259c10c16deSRichard LoweThis property can also be referred to by its shortened column name,
1260b3cff10cSYuri Pankov.Sy refreserv .
1261b3cff10cSYuri Pankov.It Sy reservation Ns = Ns Em size Ns | Ns Sy none
1262c10c16deSRichard LoweThe minimum amount of space guaranteed to a dataset and its descendents. When
1263c10c16deSRichard Lowethe amount of space used is below this value, the dataset is treated as if it
1264c10c16deSRichard Lowewere taking up the amount of space specified by its reservation. Reservations
1265c10c16deSRichard Loweare accounted for in the parent datasets' space used, and count against the
1266c10c16deSRichard Loweparent datasets' quotas and reservations.
1267b3cff10cSYuri Pankov.Pp
1268c10c16deSRichard LoweThis property can also be referred to by its shortened column name,
1269b3cff10cSYuri Pankov.Sy reserv .
1270b3cff10cSYuri Pankov.It Sy secondarycache Ns = Ns Sy all Ns | Ns Sy none Ns | Ns Sy metadata
1271b3cff10cSYuri PankovControls what is cached in the secondary cache
1272b3cff10cSYuri Pankov.Pq L2ARC .
1273b3cff10cSYuri PankovIf this property is set to
1274b3cff10cSYuri Pankov.Sy all ,
1275b3cff10cSYuri Pankovthen both user data and metadata is cached. If this property is set to
1276b3cff10cSYuri Pankov.Sy none ,
1277b3cff10cSYuri Pankovthen neither user data nor metadata is cached. If this property is set to
1278b3cff10cSYuri Pankov.Sy metadata ,
1279b3cff10cSYuri Pankovthen only metadata is cached. The default value is
1280b3cff10cSYuri Pankov.Sy all .
1281b3cff10cSYuri Pankov.It Sy setuid Ns = Ns Sy on Ns | Ns Sy off
1282b3cff10cSYuri PankovControls whether the setuid bit is respected for the file system. The default
1283b3cff10cSYuri Pankovvalue is
1284b3cff10cSYuri Pankov.Sy on .
1285b3cff10cSYuri Pankov.It Sy sharesmb Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Em opts
1286b3cff10cSYuri PankovControls whether the file system is shared via SMB, and what options are to be
1287b3cff10cSYuri Pankovused. A file system with the
1288b3cff10cSYuri Pankov.Sy sharesmb
1289b3cff10cSYuri Pankovproperty set to
1290b3cff10cSYuri Pankov.Sy off
1291b3cff10cSYuri Pankovis managed through traditional tools such as
1292b3cff10cSYuri Pankov.Xr sharemgr 1M .
1293b3cff10cSYuri PankovOtherwise, the file system is automatically shared and unshared with the
1294b3cff10cSYuri Pankov.Nm zfs Cm share
1295b3cff10cSYuri Pankovand
1296b3cff10cSYuri Pankov.Nm zfs Cm unshare
1297b3cff10cSYuri Pankovcommands. If the property is set to
1298b3cff10cSYuri Pankov.Sy on ,
1299b3cff10cSYuri Pankovthe
1300b3cff10cSYuri Pankov.Xr sharemgr 1M
1301b3cff10cSYuri Pankovcommand is invoked with no options. Otherwise, the
1302b3cff10cSYuri Pankov.Xr sharemgr 1M
1303b3cff10cSYuri Pankovcommand is invoked with options equivalent to the contents of this property.
1304b3cff10cSYuri Pankov.Pp
1305b3cff10cSYuri PankovBecause SMB shares requires a resource name, a unique resource name is
1306b3cff10cSYuri Pankovconstructed from the dataset name. The constructed name is a copy of the dataset
1307b3cff10cSYuri Pankovname except that the characters in the dataset name, which would be illegal in
1308b3cff10cSYuri Pankovthe resource name, are replaced with underscore
1309b3cff10cSYuri Pankov.Pq Sy _
1310b3cff10cSYuri Pankovcharacters. A pseudo property
1311b3cff10cSYuri Pankov.Qq name
1312b3cff10cSYuri Pankovis also supported that allows you to replace the data set name with a specified
1313b3cff10cSYuri Pankovname. The specified name is then used to replace the prefix dataset in the case
1314b3cff10cSYuri Pankovof inheritance. For example, if the dataset
1315b3cff10cSYuri Pankov.Em data/home/john
1316b3cff10cSYuri Pankovis set to
1317b3cff10cSYuri Pankov.Sy name Ns = Ns Sy john ,
1318b3cff10cSYuri Pankovthen
1319b3cff10cSYuri Pankov.Em data/home/john
1320b3cff10cSYuri Pankovhas a resource name of
1321b3cff10cSYuri Pankov.Sy john .
1322b3cff10cSYuri PankovIf a child dataset
1323b3cff10cSYuri Pankov.Em data/home/john/backups
1324b3cff10cSYuri Pankovis shared, it has a resource name of
1325b3cff10cSYuri Pankov.Sy john_backups .
1326b3cff10cSYuri Pankov.Pp
1327c10c16deSRichard LoweWhen SMB shares are created, the SMB share name appears as an entry in the
1328b3cff10cSYuri Pankov.Pa .zfs/shares
1329b3cff10cSYuri Pankovdirectory. You can use the
1330b3cff10cSYuri Pankov.Nm ls
1331b3cff10cSYuri Pankovor
1332b3cff10cSYuri Pankov.Nm chmod
1333b3cff10cSYuri Pankovcommand to display the share-level ACLs on the entries in this directory.
1334b3cff10cSYuri Pankov.Pp
1335b3cff10cSYuri PankovWhen the
1336b3cff10cSYuri Pankov.Sy sharesmb
1337b3cff10cSYuri Pankovproperty is changed for a dataset, the dataset and any children inheriting the
1338b3cff10cSYuri Pankovproperty are re-shared with the new options, only if the property was previously
1339b3cff10cSYuri Pankovset to
1340b3cff10cSYuri Pankov.Sy off ,
1341b3cff10cSYuri Pankovor if they were shared before the property was changed. If the new property is
1342b3cff10cSYuri Pankovset to
1343b3cff10cSYuri Pankov.Sy off ,
1344b3cff10cSYuri Pankovthe file systems are unshared.
1345b3cff10cSYuri Pankov.It Sy sharenfs Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Em opts
1346b3cff10cSYuri PankovControls whether the file system is shared via NFS, and what options are to be
1347b3cff10cSYuri Pankovused. A file system with a
1348b3cff10cSYuri Pankov.Sy sharenfs
1349b3cff10cSYuri Pankovproperty of
1350b3cff10cSYuri Pankov.Sy off
1351b3cff10cSYuri Pankovis managed through traditional tools such as
1352b3cff10cSYuri Pankov.Xr share 1M ,
1353b3cff10cSYuri Pankov.Xr unshare 1M ,
1354b3cff10cSYuri Pankovand
1355b3cff10cSYuri Pankov.Xr dfstab 4 .
1356b3cff10cSYuri PankovOtherwise, the file system is automatically shared and unshared with the
1357b3cff10cSYuri Pankov.Nm zfs Cm share
1358b3cff10cSYuri Pankovand
1359b3cff10cSYuri Pankov.Nm zfs Cm unshare
1360b3cff10cSYuri Pankovcommands. If the property is set to
1361b3cff10cSYuri Pankov.Sy on ,
1362b3cff10cSYuri Pankov.Xr share 1M
1363b3cff10cSYuri Pankovcommand is invoked with no options. Otherwise, the
1364b3cff10cSYuri Pankov.Xr share 1M
1365b3cff10cSYuri Pankovcommand is invoked with options equivalent to the contents of this property.
1366b3cff10cSYuri Pankov.Pp
1367b3cff10cSYuri PankovWhen the
1368b3cff10cSYuri Pankov.Sy sharenfs
1369b3cff10cSYuri Pankovproperty is changed for a dataset, the dataset and any children inheriting the
1370b3cff10cSYuri Pankovproperty are re-shared with the new options, only if the property was previously
1371b3cff10cSYuri Pankov.Sy off ,
1372b3cff10cSYuri Pankovor if they were shared before the property was changed. If the new property is
1373b3cff10cSYuri Pankov.Sy off ,
1374b3cff10cSYuri Pankovthe file systems are unshared.
1375b3cff10cSYuri Pankov.It Sy logbias Ns = Ns Sy latency Ns | Ns Sy throughput
1376b3cff10cSYuri PankovProvide a hint to ZFS about handling of synchronous requests in this dataset. If
1377b3cff10cSYuri Pankov.Sy logbias
1378b3cff10cSYuri Pankovis set to
1379b3cff10cSYuri Pankov.Sy latency
1380b3cff10cSYuri Pankov.Pq the default ,
1381b3cff10cSYuri PankovZFS will use pool log devices
1382b3cff10cSYuri Pankov.Pq if configured
1383b3cff10cSYuri Pankovto handle the requests at low latency. If
1384b3cff10cSYuri Pankov.Sy logbias
1385b3cff10cSYuri Pankovis set to
1386b3cff10cSYuri Pankov.Sy throughput ,
1387b3cff10cSYuri PankovZFS will not use configured pool log devices. ZFS will instead optimize
1388b3cff10cSYuri Pankovsynchronous operations for global pool throughput and efficient use of
1389b3cff10cSYuri Pankovresources.
1390b3cff10cSYuri Pankov.It Sy snapdir Ns = Ns Sy hidden Ns | Ns Sy visible
1391b3cff10cSYuri PankovControls whether the
1392b3cff10cSYuri Pankov.Pa .zfs
1393b3cff10cSYuri Pankovdirectory is hidden or visible in the root of the file system as discussed in
1394b3cff10cSYuri Pankovthe
1395b3cff10cSYuri Pankov.Sx Snapshots
1396b3cff10cSYuri Pankovsection. The default value is
1397b3cff10cSYuri Pankov.Sy hidden .
1398b3cff10cSYuri Pankov.It Sy sync Ns = Ns Sy standard Ns | Ns Sy always Ns | Ns Sy disabled
1399b3cff10cSYuri PankovControls the behavior of synchronous requests
1400b3cff10cSYuri Pankov.Pq e.g. fsync, O_DSYNC .
1401b3cff10cSYuri Pankov.Sy standard
1402b3cff10cSYuri Pankovis the
1403b3cff10cSYuri Pankov.Tn POSIX
1404b3cff10cSYuri Pankovspecified behavior of ensuring all synchronous requests are written to stable
1405b3cff10cSYuri Pankovstorage and all devices are flushed to ensure data is not cached by device
1406b3cff10cSYuri Pankovcontrollers
1407b3cff10cSYuri Pankov.Pq this is the default .
1408b3cff10cSYuri Pankov.Sy always
140919b94df9SMatthew Ahrenscauses every file system transaction to be written and flushed before its
1410b3cff10cSYuri Pankovsystem call returns. This has a large performance penalty.
1411b3cff10cSYuri Pankov.Sy disabled
141219b94df9SMatthew Ahrensdisables synchronous requests. File system transactions are only committed to
141319b94df9SMatthew Ahrensstable storage periodically. This option will give the highest performance.
141419b94df9SMatthew AhrensHowever, it is very dangerous as ZFS would be ignoring the synchronous
141519b94df9SMatthew Ahrenstransaction demands of applications such as databases or NFS. Administrators
141619b94df9SMatthew Ahrensshould only use this option when the risks are understood.
1417b3cff10cSYuri Pankov.It Sy version Ns = Ns Em N Ns | Ns Sy current
1418c10c16deSRichard LoweThe on-disk version of this file system, which is independent of the pool
1419c10c16deSRichard Loweversion. This property can only be set to later supported versions. See the
1420b3cff10cSYuri Pankov.Nm zfs Cm upgrade
1421b3cff10cSYuri Pankovcommand.
1422b3cff10cSYuri Pankov.It Sy volsize Ns = Ns Em size
1423c10c16deSRichard LoweFor volumes, specifies the logical size of the volume. By default, creating a
1424b3cff10cSYuri Pankovvolume establishes a reservation of equal size. For storage pools with a version
1425b3cff10cSYuri Pankovnumber of 9 or higher, a
1426b3cff10cSYuri Pankov.Sy refreservation
1427b3cff10cSYuri Pankovis set instead. Any changes to
1428b3cff10cSYuri Pankov.Sy volsize
1429b3cff10cSYuri Pankovare reflected in an equivalent change to the reservation
1430b3cff10cSYuri Pankov.Po or
1431b3cff10cSYuri Pankov.Sy refreservation
1432b3cff10cSYuri Pankov.Pc .
1433b3cff10cSYuri PankovThe
1434b3cff10cSYuri Pankov.Sy volsize
1435b3cff10cSYuri Pankovcan only be set to a multiple of
1436b3cff10cSYuri Pankov.Sy volblocksize ,
1437b3cff10cSYuri Pankovand cannot be zero.
1438b3cff10cSYuri Pankov.Pp
1439b3cff10cSYuri PankovThe reservation is kept equal to the volume's logical size to prevent unexpected
1440b3cff10cSYuri Pankovbehavior for consumers. Without the reservation, the volume could run out of
1441b3cff10cSYuri Pankovspace, resulting in undefined behavior or data corruption, depending on how the
1442b3cff10cSYuri Pankovvolume is used. These effects can also occur when the volume size is changed
1443b3cff10cSYuri Pankovwhile it is in use
1444b3cff10cSYuri Pankov.Pq particularly when shrinking the size .
1445b3cff10cSYuri PankovExtreme care should be used when adjusting the volume size.
1446b3cff10cSYuri Pankov.Pp
1447b3cff10cSYuri PankovThough not recommended, a
1448b3cff10cSYuri Pankov.Qq sparse volume
1449b3cff10cSYuri Pankov.Po also known as
1450b3cff10cSYuri Pankov.Qq thin provisioning
1451b3cff10cSYuri Pankov.Pc
1452b3cff10cSYuri Pankovcan be created by specifying the
1453b3cff10cSYuri Pankov.Fl s
1454b3cff10cSYuri Pankovoption to the
1455b3cff10cSYuri Pankov.Nm zfs Cm create Fl V
1456c10c16deSRichard Lowecommand, or by changing the reservation after the volume has been created. A
1457b3cff10cSYuri Pankov.Qq sparse volume
1458b3cff10cSYuri Pankovis a volume where the reservation is less then the volume size. Consequently,
1459b3cff10cSYuri Pankovwrites to a sparse volume can fail with
1460b3cff10cSYuri Pankov.Er ENOSPC
1461b3cff10cSYuri Pankovwhen the pool is low on space. For a sparse volume, changes to
1462b3cff10cSYuri Pankov.Sy volsize
1463b3cff10cSYuri Pankovare not reflected in the reservation.
1464b3cff10cSYuri Pankov.It Sy vscan Ns = Ns Sy on Ns | Ns Sy off
1465c10c16deSRichard LoweControls whether regular files should be scanned for viruses when a file is
1466c10c16deSRichard Loweopened and closed. In addition to enabling this property, the virus scan
1467c10c16deSRichard Loweservice must also be enabled for virus scanning to occur. The default value is
1468b3cff10cSYuri Pankov.Sy off .
1469b3cff10cSYuri Pankov.It Sy xattr Ns = Ns Sy on Ns | Ns Sy off
1470c10c16deSRichard LoweControls whether extended attributes are enabled for this file system. The
1471b3cff10cSYuri Pankovdefault value is
1472b3cff10cSYuri Pankov.Sy on .
1473b3cff10cSYuri Pankov.It Sy zoned Ns = Ns Sy on Ns | Ns Sy off
1474b3cff10cSYuri PankovControls whether the dataset is managed from a non-global zone. See the
1475b3cff10cSYuri Pankov.Sx Zones
1476b3cff10cSYuri Pankovsection for more information. The default value is
1477b3cff10cSYuri Pankov.Sy off .
1478b3cff10cSYuri Pankov.El
1479b3cff10cSYuri Pankov.Pp
1480c10c16deSRichard LoweThe following three properties cannot be changed after the file system is
1481c10c16deSRichard Lowecreated, and therefore, should be set when the file system is created. If the
1482b3cff10cSYuri Pankovproperties are not set with the
1483b3cff10cSYuri Pankov.Nm zfs Cm create
1484b3cff10cSYuri Pankovor
1485b3cff10cSYuri Pankov.Nm zpool Cm create
1486c10c16deSRichard Lowecommands, these properties are inherited from the parent dataset. If the parent
1487c10c16deSRichard Lowedataset lacks these properties due to having been created prior to these
1488c10c16deSRichard Lowefeatures being supported, the new file system will have the default values for
1489c10c16deSRichard Lowethese properties.
1490b3cff10cSYuri Pankov.Bl -tag -width ""
1491b3cff10cSYuri Pankov.It Xo
1492b3cff10cSYuri Pankov.Sy casesensitivity Ns = Ns Sy sensitive Ns | Ns
1493b3cff10cSYuri Pankov.Sy insensitive Ns | Ns Sy mixed
1494b3cff10cSYuri Pankov.Xc
1495c10c16deSRichard LoweIndicates whether the file name matching algorithm used by the file system
1496c10c16deSRichard Loweshould be case-sensitive, case-insensitive, or allow a combination of both
1497b3cff10cSYuri Pankovstyles of matching. The default value for the
1498b3cff10cSYuri Pankov.Sy casesensitivity
1499b3cff10cSYuri Pankovproperty is
1500b3cff10cSYuri Pankov.Sy sensitive .
1501b3cff10cSYuri PankovTraditionally,
1502b3cff10cSYuri Pankov.Ux
1503b3cff10cSYuri Pankovand
1504b3cff10cSYuri Pankov.Tn POSIX
1505b3cff10cSYuri Pankovfile systems have case-sensitive file names.
1506b3cff10cSYuri Pankov.Pp
1507b3cff10cSYuri PankovThe
1508b3cff10cSYuri Pankov.Sy mixed
1509b3cff10cSYuri Pankovvalue for the
1510b3cff10cSYuri Pankov.Sy casesensitivity
1511b3cff10cSYuri Pankovproperty indicates that the file system can support requests for both
1512b3cff10cSYuri Pankovcase-sensitive and case-insensitive matching behavior. Currently,
1513b3cff10cSYuri Pankovcase-insensitive matching behavior on a file system that supports mixed behavior
1514b3cff10cSYuri Pankovis limited to the SMB server product. For more information about the
1515b3cff10cSYuri Pankov.Sy mixed
1516b3cff10cSYuri Pankovvalue behavior, see the "ZFS Administration Guide".
1517b3cff10cSYuri Pankov.It Xo
1518b3cff10cSYuri Pankov.Sy normalization Ns = Ns Sy none Ns | Ns Sy formC Ns | Ns
1519b3cff10cSYuri Pankov.Sy formD Ns | Ns Sy formKC Ns | Ns Sy formKD
1520b3cff10cSYuri Pankov.Xc
1521b3cff10cSYuri PankovIndicates whether the file system should perform a
1522b3cff10cSYuri Pankov.Sy unicode
1523b3cff10cSYuri Pankovnormalization of file names whenever two file names are compared, and which
1524b3cff10cSYuri Pankovnormalization algorithm should be used. File names are always stored unmodified,
1525b3cff10cSYuri Pankovnames are normalized as part of any comparison process. If this property is set
1526b3cff10cSYuri Pankovto a legal value other than
1527b3cff10cSYuri Pankov.Sy none ,
1528b3cff10cSYuri Pankovand the
1529b3cff10cSYuri Pankov.Sy utf8only
1530b3cff10cSYuri Pankovproperty was left unspecified, the
1531b3cff10cSYuri Pankov.Sy utf8only
1532b3cff10cSYuri Pankovproperty is automatically set to
1533b3cff10cSYuri Pankov.Sy on .
1534b3cff10cSYuri PankovThe default value of the
1535b3cff10cSYuri Pankov.Sy normalization
1536b3cff10cSYuri Pankovproperty is
1537b3cff10cSYuri Pankov.Sy none .
1538b3cff10cSYuri PankovThis property cannot be changed after the file system is created.
1539b3cff10cSYuri Pankov.It Sy utf8only Ns = Ns Sy on Ns | Ns Sy off
1540c10c16deSRichard LoweIndicates whether the file system should reject file names that include
1541b3cff10cSYuri Pankovcharacters that are not present in the
1542b3cff10cSYuri Pankov.Sy UTF-8
1543b3cff10cSYuri Pankovcharacter code set. If this property is explicitly set to
1544b3cff10cSYuri Pankov.Sy off ,
1545b3cff10cSYuri Pankovthe normalization property must either not be explicitly set or be set to
1546b3cff10cSYuri Pankov.Sy none .
1547b3cff10cSYuri PankovThe default value for the
1548b3cff10cSYuri Pankov.Sy utf8only
1549b3cff10cSYuri Pankovproperty is
1550b3cff10cSYuri Pankov.Sy off .
1551b3cff10cSYuri PankovThis property cannot be changed after the file system is created.
1552b3cff10cSYuri Pankov.El
1553b3cff10cSYuri Pankov.Pp
1554b3cff10cSYuri PankovThe
1555b3cff10cSYuri Pankov.Sy casesensitivity ,
1556b3cff10cSYuri Pankov.Sy normalization ,
1557b3cff10cSYuri Pankovand
1558b3cff10cSYuri Pankov.Sy utf8only
1559b3cff10cSYuri Pankovproperties are also new permissions that can be assigned to non-privileged users
1560b3cff10cSYuri Pankovby using the ZFS delegated administration feature.
1561b3cff10cSYuri Pankov.Ss "Temporary Mount Point Properties"
1562b3cff10cSYuri PankovWhen a file system is mounted, either through
1563b3cff10cSYuri Pankov.Xr mount 1M
1564b3cff10cSYuri Pankovfor legacy mounts or the
1565b3cff10cSYuri Pankov.Nm zfs Cm mount
1566b3cff10cSYuri Pankovcommand for normal file systems, its mount options are set according to its
1567b3cff10cSYuri Pankovproperties. The correlation between properties and mount options is as follows:
1568b3cff10cSYuri Pankov.Bd -literal
1569c10c16deSRichard Lowe    PROPERTY                MOUNT OPTION
1570c10c16deSRichard Lowe    devices                 devices/nodevices
1571c10c16deSRichard Lowe    exec                    exec/noexec
1572c10c16deSRichard Lowe    readonly                ro/rw
1573c10c16deSRichard Lowe    setuid                  setuid/nosetuid
1574c10c16deSRichard Lowe    xattr                   xattr/noxattr
1575b3cff10cSYuri Pankov.Ed
1576b3cff10cSYuri Pankov.Pp
1577b3cff10cSYuri PankovIn addition, these options can be set on a per-mount basis using the
1578b3cff10cSYuri Pankov.Fl o
1579c10c16deSRichard Loweoption, without affecting the property that is stored on disk. The values
1580c10c16deSRichard Lowespecified on the command line override the values stored in the dataset. The
1581b3cff10cSYuri Pankov.Sy nosuid
1582b3cff10cSYuri Pankovoption is an alias for
1583b3cff10cSYuri Pankov.Sy nodevices Ns , Ns Sy nosetuid .
1584b3cff10cSYuri PankovThese properties are reported as
1585b3cff10cSYuri Pankov.Qq temporary
1586b3cff10cSYuri Pankovby the
1587b3cff10cSYuri Pankov.Nm zfs Cm get
1588b3cff10cSYuri Pankovcommand. If the properties are changed while the dataset is mounted, the new
1589b3cff10cSYuri Pankovsetting overrides any temporary settings.
1590b3cff10cSYuri Pankov.Ss "User Properties"
1591b3cff10cSYuri PankovIn addition to the standard native properties, ZFS supports arbitrary user
1592b3cff10cSYuri Pankovproperties. User properties have no effect on ZFS behavior, but applications or
1593b3cff10cSYuri Pankovadministrators can use them to annotate datasets
1594b3cff10cSYuri Pankov.Pq file systems, volumes, and snapshots .
1595b3cff10cSYuri Pankov.Pp
1596b3cff10cSYuri PankovUser property names must contain a colon
1597b3cff10cSYuri Pankov.No Po Ns Sy \&:  Ns Pc
1598b3cff10cSYuri Pankovcharacter to distinguish them from native properties. They may contain lowercase
1599b3cff10cSYuri Pankovletters, numbers, and the following punctuation characters: colon
1600b3cff10cSYuri Pankov.Pq Qq Sy \&: ,
1601b3cff10cSYuri Pankovdash
1602b3cff10cSYuri Pankov.Pq Qq Sy - ,
1603b3cff10cSYuri Pankovperiod
1604b3cff10cSYuri Pankov.Pq Qq Sy \&. ,
1605b3cff10cSYuri Pankovand underscore
1606b3cff10cSYuri Pankov.Pq Qq Sy _ .
1607b3cff10cSYuri PankovThe expected convention is that the property name is divided into two portions
1608b3cff10cSYuri Pankovsuch as
1609b3cff10cSYuri Pankov.Em module Ns : Ns Em property ,
1610b3cff10cSYuri Pankovbut this namespace is not enforced by ZFS.
1611b3cff10cSYuri PankovUser property names can be at most 256 characters, and cannot begin with a dash
1612b3cff10cSYuri Pankov.Pq Qq Sy - .
1613b3cff10cSYuri Pankov.Pp
1614b3cff10cSYuri PankovWhen making programmatic use of user properties, it is strongly suggested to use
1615b3cff10cSYuri Pankova reversed
1616b3cff10cSYuri Pankov.Sy DNS
1617b3cff10cSYuri Pankovdomain name for the
1618b3cff10cSYuri Pankov.Em module
1619b3cff10cSYuri Pankovcomponent of property names to reduce the chance that two
1620b3cff10cSYuri Pankovindependently-developed packages use the same property name for different
1621b3cff10cSYuri Pankovpurposes.
1622b3cff10cSYuri Pankov.Pp
1623c10c16deSRichard LoweThe values of user properties are arbitrary strings, are always inherited, and
1624b3cff10cSYuri Pankovare never validated. All of the commands that operate on properties
1625b3cff10cSYuri Pankov.Po Nm zfs Cm list ,
1626b3cff10cSYuri Pankov.Nm zfs Cm get ,
1627b3cff10cSYuri Pankov.Nm zfs Cm set ,
1628b3cff10cSYuri Pankovand so forth
1629b3cff10cSYuri Pankov.Pc
1630b3cff10cSYuri Pankovcan be used to manipulate both native properties and user properties. Use the
1631b3cff10cSYuri Pankov.Nm zfs Cm inherit
1632b3cff10cSYuri Pankovcommand to clear a user property . If the property is not defined in any parent
1633c10c16deSRichard Lowedataset, it is removed entirely. Property values are limited to 1024
1634c10c16deSRichard Lowecharacters.
1635b3cff10cSYuri Pankov.Ss ZFS Volumes as Swap or Dump Devices
1636b3cff10cSYuri PankovDuring an initial installation a swap device and dump device are created on ZFS
1637b3cff10cSYuri Pankovvolumes in the ZFS root pool. By default, the swap area size is based on 1/2 the
1638b3cff10cSYuri Pankovsize of physical memory up to 2 Gbytes. The size of the dump device depends on
1639b3cff10cSYuri Pankovthe kernel's requirements at installation time. Separate ZFS volumes must be
1640b3cff10cSYuri Pankovused for the swap area and dump devices. Do not swap to a file on a ZFS file
1641b3cff10cSYuri Pankovsystem. A ZFS swap file configuration is not supported.
1642b3cff10cSYuri Pankov.Pp
1643c10c16deSRichard LoweIf you need to change your swap area or dump device after the system is
1644b3cff10cSYuri Pankovinstalled or upgraded, use the
1645b3cff10cSYuri Pankov.Xr swap 1M
1646b3cff10cSYuri Pankovand
1647b3cff10cSYuri Pankov.Xr dumpadm 1M
1648b3cff10cSYuri Pankovcommands.
1649b3cff10cSYuri Pankov.Sh SUBCOMMANDS
1650c10c16deSRichard LoweAll subcommands that modify state are logged persistently to the pool in their
1651c10c16deSRichard Loweoriginal form.
1652b3cff10cSYuri Pankov.Bl -tag -width ""
1653b3cff10cSYuri Pankov.It Nm Fl \?
1654c10c16deSRichard LoweDisplays a help message.
1655b3cff10cSYuri Pankov.It Xo
1656b3cff10cSYuri Pankov.Nm
1657b3cff10cSYuri Pankov.Cm create
1658b3cff10cSYuri Pankov.Op Fl p
1659b3cff10cSYuri Pankov.Oo Fl o Ar property Ns = Ns Ar value Oc Ns ...
1660b3cff10cSYuri Pankov.Ar filesystem
1661b3cff10cSYuri Pankov.Xc
1662b3cff10cSYuri PankovCreates a new ZFS file system. The file system is automatically mounted
1663b3cff10cSYuri Pankovaccording to the
1664b3cff10cSYuri Pankov.Sy mountpoint
1665b3cff10cSYuri Pankovproperty inherited from the parent.
1666b3cff10cSYuri Pankov.Bl -tag -width "-o"
1667b3cff10cSYuri Pankov.It Fl o Ar property Ns = Ns Ar value
1668b3cff10cSYuri PankovSets the specified property as if the command
1669b3cff10cSYuri Pankov.Nm zfs Cm set Ar property Ns = Ns Ar value
1670b3cff10cSYuri Pankovwas invoked at the same time the dataset was created. Any editable ZFS property
1671b3cff10cSYuri Pankovcan also be set at creation time. Multiple
1672b3cff10cSYuri Pankov.Fl o
1673b3cff10cSYuri Pankovoptions can be specified. An error results if the same property is specified in
1674b3cff10cSYuri Pankovmultiple
1675b3cff10cSYuri Pankov.Fl o
1676b3cff10cSYuri Pankovoptions.
1677b3cff10cSYuri Pankov.It Fl p
1678c10c16deSRichard LoweCreates all the non-existing parent datasets. Datasets created in this manner
1679b3cff10cSYuri Pankovare automatically mounted according to the
1680b3cff10cSYuri Pankov.Sy mountpoint
1681b3cff10cSYuri Pankovproperty inherited from their parent. Any property specified on the command line
1682b3cff10cSYuri Pankovusing the
1683b3cff10cSYuri Pankov.Fl o
1684b3cff10cSYuri Pankovoption is ignored. If the target filesystem already exists, the operation
1685b3cff10cSYuri Pankovcompletes successfully.
1686b3cff10cSYuri Pankov.El
1687b3cff10cSYuri Pankov.It Xo
1688b3cff10cSYuri Pankov.Nm
1689b3cff10cSYuri Pankov.Cm create
1690b3cff10cSYuri Pankov.Op Fl ps
1691b3cff10cSYuri Pankov.Op Fl b Ar blocksize
1692b3cff10cSYuri Pankov.Oo Fl o Ar property Ns = Ns Ar value Oc Ns ...
1693b3cff10cSYuri Pankov.Fl V Ar size Ar volume
1694b3cff10cSYuri Pankov.Xc
1695c10c16deSRichard LoweCreates a volume of the given size. The volume is exported as a block device in
1696b3cff10cSYuri Pankov.Pa /dev/zvol/{dsk,rdsk}/path ,
1697b3cff10cSYuri Pankovwhere
1698b3cff10cSYuri Pankov.Em path
1699b3cff10cSYuri Pankovis the name of the volume in the ZFS namespace. The size represents the logical
1700b3cff10cSYuri Pankovsize as exported by the device. By default, a reservation of equal size is
1701b3cff10cSYuri Pankovcreated.
1702b3cff10cSYuri Pankov.Pp
1703b3cff10cSYuri Pankov.Ar size
1704b3cff10cSYuri Pankovis automatically rounded up to the nearest 128 Kbytes to ensure that the volume
1705b3cff10cSYuri Pankovhas an integral number of blocks regardless of
1706b3cff10cSYuri Pankov.Sy blocksize .
1707b3cff10cSYuri Pankov.Bl -tag -width "-b"
1708b3cff10cSYuri Pankov.It Fl b Ar blocksize
1709b3cff10cSYuri PankovEquivalent to
1710b3cff10cSYuri Pankov.Fl o Sy volblocksize Ns = Ns Ar blocksize .
1711b3cff10cSYuri PankovIf this option is specified in conjunction with
1712b3cff10cSYuri Pankov.Fl o Sy volblocksize ,
1713b3cff10cSYuri Pankovthe resulting behavior is undefined.
1714b3cff10cSYuri Pankov.It Fl o Ar property Ns = Ns Ar value
1715b3cff10cSYuri PankovSets the specified property as if the
1716b3cff10cSYuri Pankov.Nm zfs Cm set Ar property Ns = Ns Ar value
1717b3cff10cSYuri Pankovcommand was invoked at the same time the dataset was created. Any editable ZFS
1718b3cff10cSYuri Pankovproperty can also be set at creation time. Multiple
1719b3cff10cSYuri Pankov.Fl o
1720b3cff10cSYuri Pankovoptions can be specified. An error results if the same property is specified in
1721b3cff10cSYuri Pankovmultiple
1722b3cff10cSYuri Pankov.Fl o
1723b3cff10cSYuri Pankovoptions.
1724b3cff10cSYuri Pankov.It Fl p
1725c10c16deSRichard LoweCreates all the non-existing parent datasets. Datasets created in this manner
1726b3cff10cSYuri Pankovare automatically mounted according to the
1727b3cff10cSYuri Pankov.Sy mountpoint
1728b3cff10cSYuri Pankovproperty inherited from their parent. Any property specified on the command line
1729b3cff10cSYuri Pankovusing the
1730b3cff10cSYuri Pankov.Fl o
1731b3cff10cSYuri Pankovoption is ignored. If the target filesystem already exists, the operation
1732b3cff10cSYuri Pankovcompletes successfully.
1733b3cff10cSYuri Pankov.It Fl s
1734b3cff10cSYuri PankovCreates a sparse volume with no reservation. See
1735b3cff10cSYuri Pankov.Sy volsize
1736b3cff10cSYuri Pankovin the
1737b3cff10cSYuri Pankov.Sx Native Properties
1738b3cff10cSYuri Pankovsection for more information about sparse volumes.
1739b3cff10cSYuri Pankov.El
1740b3cff10cSYuri Pankov.It Xo
1741b3cff10cSYuri Pankov.Nm
1742b3cff10cSYuri Pankov.Cm destroy
1743b3cff10cSYuri Pankov.Op Fl Rfnprv
1744b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
1745b3cff10cSYuri Pankov.Xc
1746c10c16deSRichard LoweDestroys the given dataset. By default, the command unshares any file systems
1747c10c16deSRichard Lowethat are currently shared, unmounts any file systems that are currently
1748b3cff10cSYuri Pankovmounted, and refuses to destroy a dataset that has active dependents
1749b3cff10cSYuri Pankov.Pq children or clones .
1750b3cff10cSYuri Pankov.Bl -tag -width "-R"
1751b3cff10cSYuri Pankov.It Fl R
1752c10c16deSRichard LoweRecursively destroy all dependents, including cloned file systems outside the
1753c10c16deSRichard Lowetarget hierarchy.
1754b3cff10cSYuri Pankov.It Fl f
1755b3cff10cSYuri PankovForce an unmount of any file systems using the
1756b3cff10cSYuri Pankov.Nm unmount Fl f
1757b3cff10cSYuri Pankovcommand. This option has no effect on non-file systems or unmounted file
1758b3cff10cSYuri Pankovsystems.
1759b3cff10cSYuri Pankov.It Fl n
1760b3cff10cSYuri PankovDo a dry-run
1761b3cff10cSYuri Pankov.Pq Qq No-op
1762b3cff10cSYuri Pankovdeletion. No data will be deleted. This is useful in conjunction with the
1763b3cff10cSYuri Pankov.Fl v
1764b3cff10cSYuri Pankovor
1765b3cff10cSYuri Pankov.Fl p
1766b3cff10cSYuri Pankovflags to determine what data would be deleted.
1767b3cff10cSYuri Pankov.It Fl p
176819b94df9SMatthew AhrensPrint machine-parsable verbose information about the deleted data.
1769b3cff10cSYuri Pankov.It Fl r
1770b3cff10cSYuri PankovRecursively destroy all children.
1771b3cff10cSYuri Pankov.It Fl v
177219b94df9SMatthew AhrensPrint verbose information about the deleted data.
1773b3cff10cSYuri Pankov.El
1774b3cff10cSYuri Pankov.Pp
1775b3cff10cSYuri PankovExtreme care should be taken when applying either the
1776b3cff10cSYuri Pankov.Fl r
1777b3cff10cSYuri Pankovor the
1778b3cff10cSYuri Pankov.Fl R
1779c10c16deSRichard Loweoptions, as they can destroy large portions of a pool and cause unexpected
1780c10c16deSRichard Lowebehavior for mounted file systems in use.
1781b3cff10cSYuri Pankov.It Xo
1782b3cff10cSYuri Pankov.Nm
1783b3cff10cSYuri Pankov.Cm destroy
1784b3cff10cSYuri Pankov.Op Fl Rdnprv
1785b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns @ Ns Ar snap Ns
1786b3cff10cSYuri Pankov.Oo % Ns Ar snap Ns Oo , Ns Ar snap Ns Oo % Ns Ar snap Oc Oc Oc Ns ...
1787b3cff10cSYuri Pankov.Xc
1788b3cff10cSYuri PankovThe given snapshots are destroyed immediately if and only if the
1789b3cff10cSYuri Pankov.Nm zfs Cm destroy
1790b3cff10cSYuri Pankovcommand without the
1791b3cff10cSYuri Pankov.Fl d
1792b3cff10cSYuri Pankovoption would have destroyed it. Such immediate destruction would occur, for
1793b3cff10cSYuri Pankovexample, if the snapshot had no clones and the user-initiated reference count
1794b3cff10cSYuri Pankovwere zero.
1795b3cff10cSYuri Pankov.Pp
179619b94df9SMatthew AhrensIf a snapshot does not qualify for immediate destruction, it is marked for
1797c10c16deSRichard Lowedeferred deletion. In this state, it exists as a usable, visible snapshot until
1798c10c16deSRichard Loweboth of the preconditions listed above are met, at which point it is destroyed.
1799b3cff10cSYuri Pankov.Pp
1800b3cff10cSYuri PankovAn inclusive range of snapshots may be specified by separating the first and
1801b3cff10cSYuri Pankovlast snapshots with a percent sign. The first and/or last snapshots may be left
1802b3cff10cSYuri Pankovblank, in which case the filesystem's oldest or newest snapshot will be implied.
1803b3cff10cSYuri Pankov.Pp
180419b94df9SMatthew AhrensMultiple snapshots
1805b3cff10cSYuri Pankov.Pq or ranges of snapshots
1806b3cff10cSYuri Pankovof the same filesystem or volume may be specified in a comma-separated list of
1807b3cff10cSYuri Pankovsnapshots. Only the snapshot's short name
1808b3cff10cSYuri Pankov.Po the part after the
1809b3cff10cSYuri Pankov.Sy @
1810b3cff10cSYuri Pankov.Pc
1811b3cff10cSYuri Pankovshould be specified when using a range or comma-separated list to identify
1812b3cff10cSYuri Pankovmultiple snapshots.
1813b3cff10cSYuri Pankov.Bl -tag -width "-R"
1814b3cff10cSYuri Pankov.It Fl R
18153b2aab18SMatthew AhrensRecursively destroy all clones of these snapshots, including the clones,
1816b3cff10cSYuri Pankovsnapshots, and children. If this flag is specified, the
1817b3cff10cSYuri Pankov.Fl d
1818b3cff10cSYuri Pankovflag will have no effect.
1819b3cff10cSYuri Pankov.It Fl d
1820b3cff10cSYuri PankovDefer snapshot deletion.
1821b3cff10cSYuri Pankov.It Fl n
1822b3cff10cSYuri PankovDo a dry-run
1823b3cff10cSYuri Pankov.Pq Qq No-op
1824b3cff10cSYuri Pankovdeletion. No data will be deleted. This is
1825b3cff10cSYuri Pankovuseful in conjunction with the
1826b3cff10cSYuri Pankov.Fl p
1827b3cff10cSYuri Pankovor
1828b3cff10cSYuri Pankov.Fl v
1829b3cff10cSYuri Pankovflags to determine what data would be deleted.
1830b3cff10cSYuri Pankov.It Fl p
183119b94df9SMatthew AhrensPrint machine-parsable verbose information about the deleted data.
1832b3cff10cSYuri Pankov.It Fl r
1833b3cff10cSYuri PankovDestroy
1834b3cff10cSYuri Pankov.Pq or mark for deferred deletion
1835b3cff10cSYuri Pankovall snapshots with this name in descendent file systems.
1836b3cff10cSYuri Pankov.It Fl v
183719b94df9SMatthew AhrensPrint verbose information about the deleted data.
1838b3cff10cSYuri Pankov.Pp
1839b3cff10cSYuri PankovExtreme care should be taken when applying either the
1840b3cff10cSYuri Pankov.Fl r
1841b3cff10cSYuri Pankovor the
1842b3cff10cSYuri Pankov.Fl R
184319b94df9SMatthew Ahrensoptions, as they can destroy large portions of a pool and cause unexpected
184419b94df9SMatthew Ahrensbehavior for mounted file systems in use.
1845b3cff10cSYuri Pankov.El
1846b3cff10cSYuri Pankov.It Xo
1847b3cff10cSYuri Pankov.Nm
1848b3cff10cSYuri Pankov.Cm destroy
1849b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns # Ns Ar bookmark
1850b3cff10cSYuri Pankov.Xc
185178f17100SMatthew AhrensThe given bookmark is destroyed.
1852b3cff10cSYuri Pankov.It Xo
1853b3cff10cSYuri Pankov.Nm
1854b3cff10cSYuri Pankov.Cm snapshot
1855b3cff10cSYuri Pankov.Op Fl r
1856b3cff10cSYuri Pankov.Oo Fl o Ar property Ns = Ns value Oc Ns ...
1857b3cff10cSYuri Pankov.Ar filesystem Ns @ Ns Ar snapname Ns | Ns Ar volume Ns @ Ns Ar snapname Ns ...
1858b3cff10cSYuri Pankov.Xc
1859b3cff10cSYuri PankovCreates snapshots with the given names. All previous modifications by successful
1860b3cff10cSYuri Pankovsystem calls to the file system are part of the snapshots. Snapshots are taken
1861b3cff10cSYuri Pankovatomically, so that all snapshots correspond to the same moment in time. See the
1862b3cff10cSYuri Pankov.Sx Snapshots
1863b3cff10cSYuri Pankovsection for details.
1864b3cff10cSYuri Pankov.Bl -tag -width "-o"
1865b3cff10cSYuri Pankov.It Fl o Ar property Ns = Ns Ar value
1866b3cff10cSYuri PankovSets the specified property; see
1867b3cff10cSYuri Pankov.Nm zfs Cm create
1868b3cff10cSYuri Pankovfor details.
1869b3cff10cSYuri Pankov.It Fl r
18704445fffbSMatthew AhrensRecursively create snapshots of all descendent datasets
1871b3cff10cSYuri Pankov.El
1872b3cff10cSYuri Pankov.It Xo
1873b3cff10cSYuri Pankov.Nm
1874b3cff10cSYuri Pankov.Cm rollback
1875b3cff10cSYuri Pankov.Op Fl Rfr
1876b3cff10cSYuri Pankov.Ar snapshot
1877b3cff10cSYuri Pankov.Xc
1878c10c16deSRichard LoweRoll back the given dataset to a previous snapshot. When a dataset is rolled
1879b3cff10cSYuri Pankovback, all data that has changed since the snapshot is discarded, and the dataset
1880b3cff10cSYuri Pankovreverts to the state at the time of the snapshot. By default, the command
1881b3cff10cSYuri Pankovrefuses to roll back to a snapshot other than the most recent one. In order to
1882b3cff10cSYuri Pankovdo so, all intermediate snapshots and bookmarks must be destroyed by specifying
1883b3cff10cSYuri Pankovthe
1884b3cff10cSYuri Pankov.Fl r
1885b3cff10cSYuri Pankovoption.
1886b3cff10cSYuri Pankov.Pp
1887b3cff10cSYuri PankovThe
1888b3cff10cSYuri Pankov.Fl rR
1889b3cff10cSYuri Pankovoptions do not recursively destroy the child snapshots of a recursive snapshot.
1890b3cff10cSYuri PankovOnly direct snapshots of the specified filesystem are destroyed by either of
1891b3cff10cSYuri Pankovthese options. To completely roll back a recursive snapshot, you must rollback
1892b3cff10cSYuri Pankovthe individual child snapshots.
1893b3cff10cSYuri Pankov.Bl -tag -width "-R"
1894b3cff10cSYuri Pankov.It Fl R
189578f17100SMatthew AhrensDestroy any more recent snapshots and bookmarks, as well as any clones of those
1896c10c16deSRichard Lowesnapshots.
1897b3cff10cSYuri Pankov.It Fl f
1898b3cff10cSYuri PankovUsed with the
1899b3cff10cSYuri Pankov.Fl R
1900b3cff10cSYuri Pankovoption to force an unmount of any clone file systems that are to be destroyed.
1901b3cff10cSYuri Pankov.It Fl r
1902b3cff10cSYuri PankovDestroy any snapshots and bookmarks more recent than the one specified.
1903b3cff10cSYuri Pankov.El
1904b3cff10cSYuri Pankov.It Xo
1905b3cff10cSYuri Pankov.Nm
1906b3cff10cSYuri Pankov.Cm clone
1907b3cff10cSYuri Pankov.Op Fl p
1908b3cff10cSYuri Pankov.Oo Fl o Ar property Ns = Ns Ar value Oc Ns ...
1909b3cff10cSYuri Pankov.Ar snapshot Ar filesystem Ns | Ns Ar volume
1910b3cff10cSYuri Pankov.Xc
1911b3cff10cSYuri PankovCreates a clone of the given snapshot. See the
1912b3cff10cSYuri Pankov.Sx Clones
1913b3cff10cSYuri Pankovsection for details. The target dataset can be located anywhere in the ZFS
1914b3cff10cSYuri Pankovhierarchy, and is created as the same type as the original.
1915b3cff10cSYuri Pankov.Bl -tag -width "-o"
1916b3cff10cSYuri Pankov.It Fl o Ar property Ns = Ns Ar value
1917b3cff10cSYuri PankovSets the specified property; see
1918b3cff10cSYuri Pankov.Nm zfs Cm create
1919b3cff10cSYuri Pankovfor details.
1920b3cff10cSYuri Pankov.It Fl p
1921c10c16deSRichard LoweCreates all the non-existing parent datasets. Datasets created in this manner
1922b3cff10cSYuri Pankovare automatically mounted according to the
1923b3cff10cSYuri Pankov.Sy mountpoint
1924b3cff10cSYuri Pankovproperty inherited from their parent. If the target filesystem or volume already
1925b3cff10cSYuri Pankovexists, the operation completes successfully.
1926b3cff10cSYuri Pankov.El
1927b3cff10cSYuri Pankov.It Xo
1928b3cff10cSYuri Pankov.Nm
1929b3cff10cSYuri Pankov.Cm promote
1930b3cff10cSYuri Pankov.Ar clone-filesystem
1931b3cff10cSYuri Pankov.Xc
1932b3cff10cSYuri PankovPromotes a clone file system to no longer be dependent on its
1933b3cff10cSYuri Pankov.Qq origin
1934c10c16deSRichard Lowesnapshot. This makes it possible to destroy the file system that the clone was
1935c10c16deSRichard Lowecreated from. The clone parent-child dependency relationship is reversed, so
1936c10c16deSRichard Lowethat the origin file system becomes a clone of the specified file system.
1937b3cff10cSYuri Pankov.Pp
1938c10c16deSRichard LoweThe snapshot that was cloned, and any snapshots previous to this snapshot, are
1939c10c16deSRichard Lowenow owned by the promoted clone. The space they use moves from the origin file
1940c10c16deSRichard Lowesystem to the promoted clone, so enough space must be available to accommodate
1941c10c16deSRichard Lowethese snapshots. No new space is consumed by this operation, but the space
1942c10c16deSRichard Loweaccounting is adjusted. The promoted clone must not have any conflicting
1943b3cff10cSYuri Pankovsnapshot names of its own. The
1944b3cff10cSYuri Pankov.Cm rename
1945b3cff10cSYuri Pankovsubcommand can be used to rename any conflicting snapshots.
1946b3cff10cSYuri Pankov.It Xo
1947b3cff10cSYuri Pankov.Nm
1948b3cff10cSYuri Pankov.Cm rename
1949b3cff10cSYuri Pankov.Op Fl f
1950b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
1951b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
1952c10c16deSRichard Lowe.br
1953b3cff10cSYuri Pankov.Nm
1954b3cff10cSYuri Pankov.Cm rename
1955b3cff10cSYuri Pankov.Op Fl fp
1956b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
1957b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
1958b3cff10cSYuri Pankov.Xc
1959b3cff10cSYuri PankovRenames the given dataset. The new target can be located anywhere in the ZFS
1960b3cff10cSYuri Pankovhierarchy, with the exception of snapshots. Snapshots can only be renamed within
1961b3cff10cSYuri Pankovthe parent file system or volume. When renaming a snapshot, the parent file
1962b3cff10cSYuri Pankovsystem of the snapshot does not need to be specified as part of the second
1963b3cff10cSYuri Pankovargument. Renamed file systems can inherit new mount points, in which case they
1964b3cff10cSYuri Pankovare unmounted and remounted at the new mount point.
1965b3cff10cSYuri Pankov.Bl -tag -width "-a"
1966b3cff10cSYuri Pankov.It Fl f
19676a9cb0eaSEric SchrockForce unmount any filesystems that need to be unmounted in the process.
1968b3cff10cSYuri Pankov.It Fl p
1969b3cff10cSYuri PankovCreates all the nonexistent parent datasets. Datasets created in this manner are
1970b3cff10cSYuri Pankovautomatically mounted according to the
1971b3cff10cSYuri Pankov.Sy mountpoint
1972b3cff10cSYuri Pankovproperty inherited from their parent.
1973b3cff10cSYuri Pankov.El
1974b3cff10cSYuri Pankov.It Xo
1975b3cff10cSYuri Pankov.Nm
1976b3cff10cSYuri Pankov.Cm rename
1977b3cff10cSYuri Pankov.Fl r
1978b3cff10cSYuri Pankov.Ar snapshot Ar snapshot
1979b3cff10cSYuri Pankov.Xc
1980c10c16deSRichard LoweRecursively rename the snapshots of all descendent datasets. Snapshots are the
1981c10c16deSRichard Loweonly dataset that can be renamed recursively.
1982b3cff10cSYuri Pankov.It Xo
1983b3cff10cSYuri Pankov.Nm
1984b3cff10cSYuri Pankov.Cm list
1985b3cff10cSYuri Pankov.Op Fl r Ns | Ns Fl d Ar depth
1986b3cff10cSYuri Pankov.Op Fl Hp
1987b3cff10cSYuri Pankov.Oo Fl o Ar property Ns Oo , Ns Ar property Oc Ns ... Oc
1988b3cff10cSYuri Pankov.Oo Fl s Ar property Oc Ns ...
1989b3cff10cSYuri Pankov.Oo Fl S Ar property Oc Ns ...
1990b3cff10cSYuri Pankov.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns ... Oc
1991b3cff10cSYuri Pankov.Oo Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Oc Ns ...
1992b3cff10cSYuri Pankov.Xc
1993c10c16deSRichard LoweLists the property information for the given datasets in tabular form. If
1994c10c16deSRichard Lowespecified, you can list property information by the absolute pathname or the
1995c10c16deSRichard Lowerelative pathname. By default, all file systems and volumes are displayed.
1996b3cff10cSYuri PankovSnapshots are displayed if the
1997b3cff10cSYuri Pankov.Sy listsnaps
1998b3cff10cSYuri Pankovproperty is
1999b3cff10cSYuri Pankov.Sy on
2000b3cff10cSYuri Pankov.Po the default is
2001b3cff10cSYuri Pankov.Sy off
2002b3cff10cSYuri Pankov.Pc .
2003b3cff10cSYuri PankovThe following fields are displayed,
2004b3cff10cSYuri Pankov.Sy name Ns , Ns Sy used Ns , Ns Sy available Ns , Ns Sy referenced Ns , Ns
2005b3cff10cSYuri Pankov.Sy mountpoint .
2006b3cff10cSYuri Pankov.Bl -tag -width "-H"
2007b3cff10cSYuri Pankov.It Fl H
2008c10c16deSRichard LoweUsed for scripting mode. Do not print headers and separate fields by a single
2009c10c16deSRichard Lowetab instead of arbitrary white space.
2010b3cff10cSYuri Pankov.It Fl S Ar property
2011b3cff10cSYuri PankovSame as the
2012b3cff10cSYuri Pankov.Fl s
2013b3cff10cSYuri Pankovoption, but sorts by property in descending order.
2014b3cff10cSYuri Pankov.It Fl d Ar depth
2015c10c16deSRichard LoweRecursively display any children of the dataset, limiting the recursion to
2016b3cff10cSYuri Pankov.It Fl o Ar property
2017c10c16deSRichard LoweA comma-separated list of properties to display. The property must be:
2018b3cff10cSYuri Pankov.Bl -bullet
2019b3cff10cSYuri Pankov.It
2020b3cff10cSYuri PankovOne of the properties described in the
2021b3cff10cSYuri Pankov.Sx Native Properties
2022b3cff10cSYuri Pankovsection
2023b3cff10cSYuri Pankov.It
2024c10c16deSRichard LoweA user property
2025b3cff10cSYuri Pankov.It
2026b3cff10cSYuri PankovThe value
2027b3cff10cSYuri Pankov.Sy name
2028b3cff10cSYuri Pankovto display the dataset name
2029b3cff10cSYuri Pankov.It
2030b3cff10cSYuri PankovThe value
2031b3cff10cSYuri Pankov.Sy space
2032b3cff10cSYuri Pankovto display space usage properties on file systems and volumes. This is a
2033b3cff10cSYuri Pankovshortcut for specifying
2034b3cff10cSYuri Pankov.Fl o Sy name Ns , Ns Sy avail Ns , Ns Sy used Ns , Ns Sy usedsnap Ns , Ns
2035b3cff10cSYuri Pankov.Sy usedds Ns , Ns Sy usedrefreserv Ns , Ns Sy usedchild Fl t
2036b3cff10cSYuri Pankov.Sy filesystem Ns , Ns Sy volume
2037b3cff10cSYuri Pankovsyntax.
2038b3cff10cSYuri Pankov.El
2039b3cff10cSYuri Pankov.It Fl p
2040b3cff10cSYuri PankovDisplay numbers in parsable
2041b3cff10cSYuri Pankov.Pq exact
2042b3cff10cSYuri Pankovvalues.
2043b3cff10cSYuri Pankov.It Fl r
2044b3cff10cSYuri PankovRecursively display any children of the dataset on the command line.
2045b3cff10cSYuri Pankov.Ar depth .
2046b3cff10cSYuri PankovA depth of
2047b3cff10cSYuri Pankov.Sy 1
2048b3cff10cSYuri Pankovwill display only the dataset and its direct children.
2049b3cff10cSYuri Pankov.It Fl s Ar property
2050c10c16deSRichard LoweA property for sorting the output by column in ascending order based on the
2051c10c16deSRichard Lowevalue of the property. The property must be one of the properties described in
2052b3cff10cSYuri Pankovthe
2053b3cff10cSYuri Pankov.Sx Properties
2054b3cff10cSYuri Pankovsection, or the special value
2055b3cff10cSYuri Pankov.Sy name
2056b3cff10cSYuri Pankovto sort by the dataset name. Multiple properties can be specified at one time
2057b3cff10cSYuri Pankovusing multiple
2058b3cff10cSYuri Pankov.Fl s
2059b3cff10cSYuri Pankovproperty options. Multiple
2060b3cff10cSYuri Pankov.Fl s
2061b3cff10cSYuri Pankovoptions are evaluated from left to right in decreasing order of importance. The
2062b3cff10cSYuri Pankovfollowing is a list of sorting criteria:
2063b3cff10cSYuri Pankov.Bl -bullet
2064b3cff10cSYuri Pankov.It
2065c10c16deSRichard LoweNumeric types sort in numeric order.
2066b3cff10cSYuri Pankov.It
2067c10c16deSRichard LoweString types sort in alphabetical order.
2068b3cff10cSYuri Pankov.It
2069b3cff10cSYuri PankovTypes inappropriate for a row sort that row to the literal bottom, regardless of
2070b3cff10cSYuri Pankovthe specified ordering.
2071b3cff10cSYuri Pankov.El
2072b3cff10cSYuri Pankov.Pp
2073b3cff10cSYuri PankovIf no sorting options are specified the existing behavior of
2074b3cff10cSYuri Pankov.Nm zfs Cm list
2075b3cff10cSYuri Pankovis preserved.
2076b3cff10cSYuri Pankov.It Fl t Ar type
2077b3cff10cSYuri PankovA comma-separated list of types to display, where
2078b3cff10cSYuri Pankov.Ar type
2079b3cff10cSYuri Pankovis one of
2080b3cff10cSYuri Pankov.Sy filesystem ,
2081b3cff10cSYuri Pankov.Sy snapshot ,
2082b3cff10cSYuri Pankov.Sy volume ,
2083b3cff10cSYuri Pankov.Sy bookmark ,
2084b3cff10cSYuri Pankovor
2085b3cff10cSYuri Pankov.Sy all .
2086b3cff10cSYuri PankovFor example, specifying
2087b3cff10cSYuri Pankov.Fl t Sy snapshot
2088b3cff10cSYuri Pankovdisplays only snapshots.
2089b3cff10cSYuri Pankov.El
2090b3cff10cSYuri Pankov.It Xo
2091b3cff10cSYuri Pankov.Nm
2092b3cff10cSYuri Pankov.Cm set
2093b3cff10cSYuri Pankov.Ar property Ns = Ns Ar value Oo Ar property Ns = Ns Ar value Oc Ns ...
2094b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ...
2095b3cff10cSYuri Pankov.Xc
209630925561SChris WilliamsonSets the property or list of properties to the given value(s) for each dataset.
2097b3cff10cSYuri PankovOnly some properties can be edited. See the
2098b3cff10cSYuri Pankov.Sx Properties
2099b3cff10cSYuri Pankovsection for more information on what properties can be set and acceptable
2100b3cff10cSYuri Pankovvalues. Numeric values can be specified as exact values, or in a human-readable
2101b3cff10cSYuri Pankovform with a suffix of
2102b3cff10cSYuri Pankov.Sy B , K , M , G , T , P , E , Z
2103b3cff10cSYuri Pankov.Po for bytes, kilobytes, megabytes, gigabytes, terabytes, petabytes, exabytes,
2104b3cff10cSYuri Pankovor zettabytes, respectively
2105b3cff10cSYuri Pankov.Pc .
2106b3cff10cSYuri PankovUser properties can be set on snapshots. For more information, see the
2107b3cff10cSYuri Pankov.Sx User Properties
2108b3cff10cSYuri Pankovsection.
2109b3cff10cSYuri Pankov.It Xo
2110b3cff10cSYuri Pankov.Nm
2111b3cff10cSYuri Pankov.Cm get
2112b3cff10cSYuri Pankov.Op Fl r Ns | Ns Fl d Ar depth
2113b3cff10cSYuri Pankov.Op Fl Hp
2114b3cff10cSYuri Pankov.Oo Fl o Ar field Ns Oo , Ns Ar field Oc Ns ... Oc
2115b3cff10cSYuri Pankov.Oo Fl s Ar source Ns Oo , Ns Ar source Oc Ns ... Oc
2116b3cff10cSYuri Pankov.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns ... Oc
2117b3cff10cSYuri Pankov.Cm all | Ar property Ns Oo , Ns Ar property Oc Ns ...
2118b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ...
2119b3cff10cSYuri Pankov.Xc
2120c10c16deSRichard LoweDisplays properties for the given datasets. If no datasets are specified, then
2121c10c16deSRichard Lowethe command displays properties for all datasets on the system. For each
2122c10c16deSRichard Loweproperty, the following columns are displayed:
2123b3cff10cSYuri Pankov.Bd -literal
2124c10c16deSRichard Lowe    name      Dataset name
2125c10c16deSRichard Lowe    property  Property name
2126c10c16deSRichard Lowe    value     Property value
2127c10c16deSRichard Lowe    source    Property source. Can either be local, default,
2128b3cff10cSYuri Pankov              temporary, inherited, or none (-).
2129b3cff10cSYuri Pankov.Ed
2130b3cff10cSYuri Pankov.Pp
2131b3cff10cSYuri PankovAll columns are displayed by default, though this can be controlled by using the
2132b3cff10cSYuri Pankov.Fl o
2133b3cff10cSYuri Pankovoption. This command takes a comma-separated list of properties as described in
2134b3cff10cSYuri Pankovthe
2135b3cff10cSYuri Pankov.Sx Native Properties
2136b3cff10cSYuri Pankovand
2137b3cff10cSYuri Pankov.Sx User Properties
2138b3cff10cSYuri Pankovsections.
2139b3cff10cSYuri Pankov.Pp
2140b3cff10cSYuri PankovThe special value
2141b3cff10cSYuri Pankov.Sy all
2142b3cff10cSYuri Pankovcan be used to display all properties that apply to the given dataset's type
2143b3cff10cSYuri Pankov.Pq filesystem, volume, snapshot, or bookmark .
2144b3cff10cSYuri Pankov.Bl -tag -width "-H"
2145b3cff10cSYuri Pankov.It Fl H
2146b3cff10cSYuri PankovDisplay output in a form more easily parsed by scripts. Any headers are omitted,
2147b3cff10cSYuri Pankovand fields are explicitly separated by a single tab instead of an arbitrary
2148b3cff10cSYuri Pankovamount of space.
2149b3cff10cSYuri Pankov.It Fl d Ar depth
2150c10c16deSRichard LoweRecursively display any children of the dataset, limiting the recursion to
2151b3cff10cSYuri Pankov.Ar depth .
2152b3cff10cSYuri PankovA depth of
2153b3cff10cSYuri Pankov.Sy 1
2154b3cff10cSYuri Pankovwill display only the dataset and its direct children.
2155b3cff10cSYuri Pankov.It Fl o Ar field
2156b3cff10cSYuri PankovA comma-separated list of columns to display.
2157b3cff10cSYuri Pankov.Sy name Ns , Ns Sy property Ns , Ns Sy value Ns , Ns Sy source
2158c10c16deSRichard Loweis the default value.
2159b3cff10cSYuri Pankov.It Fl p
2160b3cff10cSYuri PankovDisplay numbers in parsable
2161b3cff10cSYuri Pankov.Pq exact
2162b3cff10cSYuri Pankovvalues.
2163b3cff10cSYuri Pankov.It Fl r
2164b3cff10cSYuri PankovRecursively display properties for any children.
2165b3cff10cSYuri Pankov.It Fl s Ar source
2166c10c16deSRichard LoweA comma-separated list of sources to display. Those properties coming from a
2167b3cff10cSYuri Pankovsource other than those in this list are ignored. Each source must be one of the
2168b3cff10cSYuri Pankovfollowing:
2169b3cff10cSYuri Pankov.Sy local ,
2170b3cff10cSYuri Pankov.Sy default ,
2171b3cff10cSYuri Pankov.Sy inherited ,
2172b3cff10cSYuri Pankov.Sy temporary ,
2173b3cff10cSYuri Pankovand
2174b3cff10cSYuri Pankov.Sy none .
2175b3cff10cSYuri PankovThe default value is all sources.
2176b3cff10cSYuri Pankov.It Fl t Ar type
2177b3cff10cSYuri PankovA comma-separated list of types to display, where
2178b3cff10cSYuri Pankov.Ar type
2179b3cff10cSYuri Pankovis one of
2180b3cff10cSYuri Pankov.Sy filesystem ,
2181b3cff10cSYuri Pankov.Sy snapshot ,
2182b3cff10cSYuri Pankov.Sy volume ,
2183b3cff10cSYuri Pankov.Sy bookmark ,
2184b3cff10cSYuri Pankovor
2185b3cff10cSYuri Pankov.Sy all .
2186b3cff10cSYuri Pankov.El
2187b3cff10cSYuri Pankov.It Xo
2188b3cff10cSYuri Pankov.Nm
2189b3cff10cSYuri Pankov.Cm inherit
2190b3cff10cSYuri Pankov.Op Fl rS
2191b3cff10cSYuri Pankov.Ar property Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ...
2192b3cff10cSYuri Pankov.Xc
21935ff8cfa9SPaul B. HensonClears the specified property, causing it to be inherited from an ancestor,
2194b3cff10cSYuri Pankovrestored to default if no ancestor has the property set, or with the
2195b3cff10cSYuri Pankov.Fl S
2196b3cff10cSYuri Pankovoption reverted to the received value if one exists. See the
2197b3cff10cSYuri Pankov.Sx Properties
21985ff8cfa9SPaul B. Hensonsection for a listing of default values, and details on which properties can be
21995ff8cfa9SPaul B. Hensoninherited.
2200b3cff10cSYuri Pankov.Bl -tag -width "-r"
2201b3cff10cSYuri Pankov.It Fl r
2202c10c16deSRichard LoweRecursively inherit the given property for all children.
2203b3cff10cSYuri Pankov.It Fl S
22045ff8cfa9SPaul B. HensonRevert the property to the received value if one exists; otherwise operate as
2205b3cff10cSYuri Pankovif the
2206b3cff10cSYuri Pankov.Fl S
2207b3cff10cSYuri Pankovoption was not specified.
2208b3cff10cSYuri Pankov.El
2209b3cff10cSYuri Pankov.It Xo
2210b3cff10cSYuri Pankov.Nm
2211b3cff10cSYuri Pankov.Cm upgrade
2212b3cff10cSYuri Pankov.Xc
2213c10c16deSRichard LoweDisplays a list of file systems that are not the most recent version.
2214b3cff10cSYuri Pankov.It Xo
2215b3cff10cSYuri Pankov.Nm
2216b3cff10cSYuri Pankov.Cm upgrade
2217b3cff10cSYuri Pankov.Fl v
2218b3cff10cSYuri Pankov.Xc
2219b3cff10cSYuri PankovDisplays a list of currently supported file system versions.
2220b3cff10cSYuri Pankov.It Xo
2221b3cff10cSYuri Pankov.Nm
2222b3cff10cSYuri Pankov.Cm upgrade
2223b3cff10cSYuri Pankov.Op Fl r
2224b3cff10cSYuri Pankov.Op Fl V Ar version
2225b3cff10cSYuri Pankov.Fl a | Ar filesystem
2226b3cff10cSYuri Pankov.Xc
2227c10c16deSRichard LoweUpgrades file systems to a new on-disk version. Once this is done, the file
2228c10c16deSRichard Lowesystems will no longer be accessible on systems running older versions of the
2229b3cff10cSYuri Pankovsoftware.
2230b3cff10cSYuri Pankov.Nm zfs Cm send
2231b3cff10cSYuri Pankovstreams generated from new snapshots of these file systems cannot be accessed on
2232b3cff10cSYuri Pankovsystems running older versions of the software.
2233b3cff10cSYuri Pankov.Pp
2234c10c16deSRichard LoweIn general, the file system version is independent of the pool version. See
2235b3cff10cSYuri Pankov.Xr zpool 1M
2236b3cff10cSYuri Pankovfor information on the
2237b3cff10cSYuri Pankov.Nm zpool Cm upgrade
2238b3cff10cSYuri Pankovcommand.
2239b3cff10cSYuri Pankov.Pp
2240b3cff10cSYuri PankovIn some cases, the file system version and the pool version are interrelated and
2241b3cff10cSYuri Pankovthe pool version must be upgraded before the file system version can be upgraded.
2242b3cff10cSYuri Pankov.Bl -tag -width "-V"
2243b3cff10cSYuri Pankov.It Fl V Ar version
2244b3cff10cSYuri PankovUpgrade to the specified
2245b3cff10cSYuri Pankov.Ar version .
2246b3cff10cSYuri PankovIf the
2247b3cff10cSYuri Pankov.Fl V
2248b3cff10cSYuri Pankovflag is not specified, this command upgrades to the most recent version. This
2249b3cff10cSYuri Pankovoption can only be used to increase the version number, and only up to the most
2250b3cff10cSYuri Pankovrecent version supported by this software.
2251b3cff10cSYuri Pankov.It Fl a
2252c10c16deSRichard LoweUpgrade all file systems on all imported pools.
2253b3cff10cSYuri Pankov.It Ar filesystem
2254c10c16deSRichard LoweUpgrade the specified file system.
2255b3cff10cSYuri Pankov.It Fl r
2256b3cff10cSYuri PankovUpgrade the specified file system and all descendent file systems.
2257b3cff10cSYuri Pankov.El
2258b3cff10cSYuri Pankov.It Xo
2259b3cff10cSYuri Pankov.Nm
2260b3cff10cSYuri Pankov.Cm userspace
2261b3cff10cSYuri Pankov.Op Fl Hinp
2262b3cff10cSYuri Pankov.Oo Fl o Ar field Ns Oo , Ns Ar field Oc Ns ... Oc
2263b3cff10cSYuri Pankov.Oo Fl s Ar field Oc Ns ...
2264b3cff10cSYuri Pankov.Oo Fl S Ar field Oc Ns ...
2265b3cff10cSYuri Pankov.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns ... Oc
2266b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar snapshot
2267b3cff10cSYuri Pankov.Xc
2268b3cff10cSYuri PankovDisplays space consumed by, and quotas on, each user in the specified filesystem
2269b3cff10cSYuri Pankovor snapshot. This corresponds to the
2270b3cff10cSYuri Pankov.Sy userused@ Ns Em user
2271b3cff10cSYuri Pankovand
2272b3cff10cSYuri Pankov.Sy userquota@ Ns Em user
2273b3cff10cSYuri Pankovproperties.
2274b3cff10cSYuri Pankov.Bl -tag -width "-H"
2275b3cff10cSYuri Pankov.It Fl H
2276c10c16deSRichard LoweDo not print headers, use tab-delimited output.
2277b3cff10cSYuri Pankov.It Fl S Ar field
2278b3cff10cSYuri PankovSort by this field in reverse order. See
2279b3cff10cSYuri Pankov.Fl s .
2280b3cff10cSYuri Pankov.It Fl i
2281c10c16deSRichard LoweTranslate SID to POSIX ID. The POSIX ID may be ephemeral if no mapping exists.
2282b3cff10cSYuri PankovNormal POSIX interfaces
2283b3cff10cSYuri Pankov.Po for example,
2284b3cff10cSYuri Pankov.Xr stat 2 ,
2285b3cff10cSYuri Pankov.Nm ls Fl l
2286b3cff10cSYuri Pankov.Pc
2287b3cff10cSYuri Pankovperform this translation, so the
2288b3cff10cSYuri Pankov.Fl i
2289b3cff10cSYuri Pankovoption allows the output from
2290b3cff10cSYuri Pankov.Nm zfs Cm userspace
2291b3cff10cSYuri Pankovto be compared directly with those utilities. However,
2292b3cff10cSYuri Pankov.Fl i
2293c10c16deSRichard Lowemay lead to confusion if some files were created by an SMB user before a
2294b3cff10cSYuri PankovSMB-to-POSIX name mapping was established. In such a case, some files will be
2295b3cff10cSYuri Pankovowned by the SMB entity and some by the POSIX entity. However, the
2296b3cff10cSYuri Pankov.Fl i
2297b3cff10cSYuri Pankovoption will report that the POSIX entity has the total usage and quota for both.
2298b3cff10cSYuri Pankov.It Fl n
2299b3cff10cSYuri PankovPrint numeric ID instead of user/group name.
2300b3cff10cSYuri Pankov.It Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
2301b3cff10cSYuri PankovDisplay only the specified fields from the following set:
2302b3cff10cSYuri Pankov.Sy type ,
2303b3cff10cSYuri Pankov.Sy name ,
2304b3cff10cSYuri Pankov.Sy used ,
2305b3cff10cSYuri Pankov.Sy quota .
2306b3cff10cSYuri PankovThe default is to display all fields.
2307b3cff10cSYuri Pankov.It Fl p
2308b3cff10cSYuri PankovUse exact
2309b3cff10cSYuri Pankov.Pq parsable
2310b3cff10cSYuri Pankovnumeric output.
2311b3cff10cSYuri Pankov.It Fl s Ar field
2312b3cff10cSYuri PankovSort output by this field. The
2313b3cff10cSYuri Pankov.Fl s
2314b3cff10cSYuri Pankovand
2315b3cff10cSYuri Pankov.Fl S
2316b3cff10cSYuri Pankovflags may be specified multiple times to sort first by one field, then by
2317b3cff10cSYuri Pankovanother. The default is
2318b3cff10cSYuri Pankov.Fl s Sy type Fl s Sy name .
2319b3cff10cSYuri Pankov.It Fl t Ar type Ns Oo , Ns Ar type Oc Ns ...
2320b3cff10cSYuri PankovPrint only the specified types from the following set:
2321b3cff10cSYuri Pankov.Sy all ,
2322b3cff10cSYuri Pankov.Sy posixuser ,
2323b3cff10cSYuri Pankov.Sy smbuser ,
2324b3cff10cSYuri Pankov.Sy posixgroup ,
2325b3cff10cSYuri Pankov.Sy smbgroup .
2326b3cff10cSYuri PankovThe default is
2327b3cff10cSYuri Pankov.Fl t Sy posixuser Ns , Ns Sy smbuser .
2328b3cff10cSYuri PankovThe default can be changed to include group types.
2329b3cff10cSYuri Pankov.El
2330b3cff10cSYuri Pankov.It Xo
2331b3cff10cSYuri Pankov.Nm
2332b3cff10cSYuri Pankov.Cm groupspace
2333b3cff10cSYuri Pankov.Op Fl Hinp
2334b3cff10cSYuri Pankov.Oo Fl o Ar field Ns Oo , Ns Ar field Oc Ns ... Oc
2335b3cff10cSYuri Pankov.Oo Fl s Ar field Oc Ns ...
2336b3cff10cSYuri Pankov.Oo Fl S Ar field Oc Ns ...
2337b3cff10cSYuri Pankov.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns ... Oc
2338b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar snapshot
2339b3cff10cSYuri Pankov.Xc
2340c10c16deSRichard LoweDisplays space consumed by, and quotas on, each group in the specified
2341b3cff10cSYuri Pankovfilesystem or snapshot. This subcommand is identical to
2342b3cff10cSYuri Pankov.Nm zfs Cm userspace ,
2343b3cff10cSYuri Pankovexcept that the default types to display are
2344b3cff10cSYuri Pankov.Fl t Sy posixgroup Ns , Ns Sy smbgroup .
2345b3cff10cSYuri Pankov.It Xo
2346b3cff10cSYuri Pankov.Nm
2347b3cff10cSYuri Pankov.Cm mount
2348b3cff10cSYuri Pankov.Xc
2349b3cff10cSYuri PankovDisplays all ZFS file systems currently mounted.
2350b3cff10cSYuri Pankov.It Xo
2351b3cff10cSYuri Pankov.Nm
2352b3cff10cSYuri Pankov.Cm mount
2353b3cff10cSYuri Pankov.Op Fl Ov
2354b3cff10cSYuri Pankov.Op Fl o Ar options
2355b3cff10cSYuri Pankov.Fl a | Ar filesystem
2356b3cff10cSYuri Pankov.Xc
2357b3cff10cSYuri PankovMounts ZFS file systems.
2358b3cff10cSYuri Pankov.Bl -tag -width "-O"
2359b3cff10cSYuri Pankov.It Fl O
2360b3cff10cSYuri PankovPerform an overlay mount. See
2361b3cff10cSYuri Pankov.Xr mount 1M
2362b3cff10cSYuri Pankovfor more information.
2363b3cff10cSYuri Pankov.It Fl a
2364b3cff10cSYuri PankovMount all available ZFS file systems. Invoked automatically as part of the boot
2365c10c16deSRichard Loweprocess.
2366b3cff10cSYuri Pankov.It Ar filesystem
2367c10c16deSRichard LoweMount the specified filesystem.
2368b3cff10cSYuri Pankov.It Fl o Ar options
2369b3cff10cSYuri PankovAn optional, comma-separated list of mount options to use temporarily for the
2370b3cff10cSYuri Pankovduration of the mount. See the
2371b3cff10cSYuri Pankov.Sx Temporary Mount Point Properties
2372b3cff10cSYuri Pankovsection for details.
2373b3cff10cSYuri Pankov.It Fl v
2374b3cff10cSYuri PankovReport mount progress.
2375b3cff10cSYuri Pankov.El
2376b3cff10cSYuri Pankov.It Xo
2377b3cff10cSYuri Pankov.Nm
2378b3cff10cSYuri Pankov.Cm unmount
2379b3cff10cSYuri Pankov.Op Fl f
2380b3cff10cSYuri Pankov.Fl a | Ar filesystem Ns | Ns Ar mountpoint
2381b3cff10cSYuri Pankov.Xc
2382b3cff10cSYuri PankovUnmounts currently mounted ZFS file systems.
2383b3cff10cSYuri Pankov.Bl -tag -width "-a"
2384b3cff10cSYuri Pankov.It Fl a
2385b3cff10cSYuri PankovUnmount all available ZFS file systems. Invoked automatically as part of the
2386b3cff10cSYuri Pankovshutdown process.
2387b3cff10cSYuri Pankov.It Ar filesystem Ns | Ns Ar mountpoint
2388b3cff10cSYuri PankovUnmount the specified filesystem. The command can also be given a path to a ZFS
2389b3cff10cSYuri Pankovfile system mount point on the system.
2390b3cff10cSYuri Pankov.It Fl f
2391c10c16deSRichard LoweForcefully unmount the file system, even if it is currently in use.
2392b3cff10cSYuri Pankov.El
2393b3cff10cSYuri Pankov.It Xo
2394b3cff10cSYuri Pankov.Nm
2395b3cff10cSYuri Pankov.Cm share
2396b3cff10cSYuri Pankov.Fl a | Ar filesystem
2397b3cff10cSYuri Pankov.Xc
2398b3cff10cSYuri PankovShares available ZFS file systems.
2399b3cff10cSYuri Pankov.Bl -tag -width "-a"
2400b3cff10cSYuri Pankov.It Fl a
2401b3cff10cSYuri PankovShare all available ZFS file systems. Invoked automatically as part of the boot
2402b3cff10cSYuri Pankovprocess.
2403b3cff10cSYuri Pankov.It Ar filesystem
2404b3cff10cSYuri PankovShare the specified filesystem according to the
2405b3cff10cSYuri Pankov.Sy sharenfs
2406b3cff10cSYuri Pankovand
2407b3cff10cSYuri Pankov.Sy sharesmb
2408b3cff10cSYuri Pankovproperties. File systems are shared when the
2409b3cff10cSYuri Pankov.Sy sharenfs
2410b3cff10cSYuri Pankovor
2411b3cff10cSYuri Pankov.Sy sharesmb
2412b3cff10cSYuri Pankovproperty is set.
2413b3cff10cSYuri Pankov.El
2414b3cff10cSYuri Pankov.It Xo
2415b3cff10cSYuri Pankov.Nm
2416b3cff10cSYuri Pankov.Cm unshare
2417b3cff10cSYuri Pankov.Fl a | Ar filesystem Ns | Ns Ar mountpoint
2418b3cff10cSYuri Pankov.Xc
2419b3cff10cSYuri PankovUnshares currently shared ZFS file systems.
2420b3cff10cSYuri Pankov.Bl -tag -width "-a"
2421b3cff10cSYuri Pankov.It Fl a
2422b3cff10cSYuri PankovUnshare all available ZFS file systems. Invoked automatically as part of the
2423b3cff10cSYuri Pankovshutdown process.
2424b3cff10cSYuri Pankov.It Ar filesystem Ns | Ns Ar mountpoint
2425b3cff10cSYuri PankovUnshare the specified filesystem. The command can also be given a path to a ZFS
2426b3cff10cSYuri Pankovfile system shared on the system.
2427b3cff10cSYuri Pankov.El
2428b3cff10cSYuri Pankov.It Xo
2429b3cff10cSYuri Pankov.Nm
2430b3cff10cSYuri Pankov.Cm bookmark
2431b3cff10cSYuri Pankov.Ar snapshot bookmark
2432b3cff10cSYuri Pankov.Xc
2433b3cff10cSYuri PankovCreates a bookmark of the given snapshot. Bookmarks mark the point in time when
2434b3cff10cSYuri Pankovthe snapshot was created, and can be used as the incremental source for a
2435b3cff10cSYuri Pankov.Nm zfs Cm send
2436b3cff10cSYuri Pankovcommand.
2437b3cff10cSYuri Pankov.Pp
2438b3cff10cSYuri PankovThis feature must be enabled to be used. See
2439b3cff10cSYuri Pankov.Xr zpool-features 5
2440b3cff10cSYuri Pankovfor details on ZFS feature flags and the
2441b3cff10cSYuri Pankov.Sy bookmarks
2442b3cff10cSYuri Pankovfeature.
2443b3cff10cSYuri Pankov.It Xo
2444b3cff10cSYuri Pankov.Nm
2445b3cff10cSYuri Pankov.Cm send
2446b3cff10cSYuri Pankov.Op Fl DLPRenpv
2447b3cff10cSYuri Pankov.Op Oo Fl I Ns | Ns Fl i Oc Ar snapshot
2448b3cff10cSYuri Pankov.Ar snapshot
2449b3cff10cSYuri Pankov.Xc
2450b3cff10cSYuri PankovCreates a stream representation of the second
2451b3cff10cSYuri Pankov.Ar snapshot ,
2452b3cff10cSYuri Pankovwhich is written to standard output. The output can be redirected to a file or
2453b3cff10cSYuri Pankovto a different system
2454b3cff10cSYuri Pankov.Po for example, using
2455b3cff10cSYuri Pankov.Xr ssh 1
2456b3cff10cSYuri Pankov.Pc .
2457b3cff10cSYuri PankovBy default, a full stream is generated.
2458b3cff10cSYuri Pankov.Bl -tag -width "-D"
2459b3cff10cSYuri Pankov.It Fl D
2460b3cff10cSYuri PankovGenerate a deduplicated stream. Blocks which would have been sent multiple times
2461b3cff10cSYuri Pankovin the send stream will only be sent once. The receiving system must also
2462b3cff10cSYuri Pankovsupport this feature to recieve a deduplicated stream. This flag can be used
2463b3cff10cSYuri Pankovregardless of the dataset's
2464b3cff10cSYuri Pankov.Sy dedup
2465b3cff10cSYuri Pankovproperty, but performance will be much better if the filesystem uses a
2466b3cff10cSYuri Pankovdedup-capable checksum
2467b3cff10cSYuri Pankov.Po for example,
2468b3cff10cSYuri Pankov.Sy sha256
2469b3cff10cSYuri Pankov.Pc .
2470b3cff10cSYuri Pankov.It Fl I Ar snapshot
2471c10c16deSRichard LoweGenerate a stream package that sends all intermediary snapshots from the first
2472b3cff10cSYuri Pankovsnapshot to the second snapshot. For example,
2473b3cff10cSYuri Pankov.Fl I Em @a Em fs@d
2474b3cff10cSYuri Pankovis similar to
2475b3cff10cSYuri Pankov.Fl i Em @a Em fs@b Ns ; Fl i Em @b Em fs@c Ns ; Fl i Em @c Em fs@d .
2476b3cff10cSYuri PankovThe incremental source may be specified as with the
2477b3cff10cSYuri Pankov.Fl i
2478b3cff10cSYuri Pankovoption.
2479b3cff10cSYuri Pankov.It Fl L
2480b3cff10cSYuri PankovGenerate a stream which may contain blocks larger than 128KB. This flag has no
2481b3cff10cSYuri Pankoveffect if the
2482b3cff10cSYuri Pankov.Sy large_blocks
2483b3cff10cSYuri Pankovpool feature is disabled, or if the
2484b3cff10cSYuri Pankov.Sy recordsize
2485b3cff10cSYuri Pankovproperty of this filesystem has never been set above 128KB. The receiving system
2486b3cff10cSYuri Pankovmust have the
2487b3cff10cSYuri Pankov.Sy large_blocks
2488b3cff10cSYuri Pankovpool feature enabled as well. See
2489b3cff10cSYuri Pankov.Xr zpool-features 5
2490b3cff10cSYuri Pankovfor details on ZFS feature flags and the
2491b3cff10cSYuri Pankov.Sy large_blocks
2492b3cff10cSYuri Pankovfeature.
2493b3cff10cSYuri Pankov.It Fl P
2494b3cff10cSYuri PankovPrint machine-parsable verbose information about the stream package generated.
2495b3cff10cSYuri Pankov.It Fl R
2496c10c16deSRichard LoweGenerate a replication stream package, which will replicate the specified
2497c10c16deSRichard Lowefile system, and all descendent file systems, up to the named snapshot. When
2498c10c16deSRichard Lowereceived, all properties, snapshots, descendent file systems, and clones are
2499c10c16deSRichard Lowepreserved.
2500b3cff10cSYuri Pankov.Pp
2501b3cff10cSYuri PankovIf the
2502b3cff10cSYuri Pankov.Fl i
2503b3cff10cSYuri Pankovor
2504b3cff10cSYuri Pankov.Fl I
2505b3cff10cSYuri Pankovflags are used in conjunction with the
2506b3cff10cSYuri Pankov.Fl R
2507c10c16deSRichard Loweflag, an incremental replication stream is generated. The current values of
2508c10c16deSRichard Loweproperties, and current snapshot and file system names are set when the stream
2509b3cff10cSYuri Pankovis received. If the
2510b3cff10cSYuri Pankov.Fl F
2511b3cff10cSYuri Pankovflag is specified when this stream is received, snapshots and file systems that
2512b3cff10cSYuri Pankovdo not exist on the sending side are destroyed.
2513b3cff10cSYuri Pankov.It Fl e
2514b3cff10cSYuri PankovGenerate a more compact stream by using
2515b3cff10cSYuri Pankov.Sy WRITE_EMBEDDED
2516b3cff10cSYuri Pankovrecords for blocks which are stored more compactly on disk by the
2517b3cff10cSYuri Pankov.Sy embedded_data
2518b3cff10cSYuri Pankovpool feature. This flag has no effect if the
2519b3cff10cSYuri Pankov.Sy embedded_data
2520b3cff10cSYuri Pankovfeature is disabled. The receiving system must have the
2521b3cff10cSYuri Pankov.Sy embedded_data
2522b3cff10cSYuri Pankovfeature enabled. If the
2523b3cff10cSYuri Pankov.Sy lz4_compress
2524b3cff10cSYuri Pankovfeature is active on the sending system, then the receiving system must have
2525b3cff10cSYuri Pankovthat feature enabled as well. See
2526b3cff10cSYuri Pankov.Xr zpool-features 5
2527b3cff10cSYuri Pankovfor details on ZFS feature flags and the
2528b3cff10cSYuri Pankov.Sy embedded_data
2529b3cff10cSYuri Pankovfeature.
2530b3cff10cSYuri Pankov.It Fl i Ar snapshot
2531b3cff10cSYuri PankovGenerate an incremental stream from the first
2532b3cff10cSYuri Pankov.Ar snapshot
2533b3cff10cSYuri Pankov.Pq the incremental source
2534b3cff10cSYuri Pankovto the second
2535b3cff10cSYuri Pankov.Ar snapshot
2536b3cff10cSYuri Pankov.Pq the incremental target .
2537b3cff10cSYuri PankovThe incremental source can be specified as the last component of the snapshot
2538b3cff10cSYuri Pankovname
2539b3cff10cSYuri Pankov.Po the
2540b3cff10cSYuri Pankov.Sy @
2541b3cff10cSYuri Pankovcharacter and following
2542b3cff10cSYuri Pankov.Pc
2543b3cff10cSYuri Pankovand it is assumed to be from the same file system as the incremental target.
2544b3cff10cSYuri Pankov.Pp
2545b3cff10cSYuri PankovIf the destination is a clone, the source may be the origin snapshot, which must
2546b3cff10cSYuri Pankovbe fully specified
2547b3cff10cSYuri Pankov.Po for example,
2548b3cff10cSYuri Pankov.Em pool/fs@origin ,
2549b3cff10cSYuri Pankovnot just
2550b3cff10cSYuri Pankov.Em @origin
2551b3cff10cSYuri Pankov.Pc .
2552b3cff10cSYuri Pankov.It Fl n
2553b3cff10cSYuri PankovDo a dry-run
2554b3cff10cSYuri Pankov.Pq Qq No-op
2555b3cff10cSYuri Pankovsend. Do not generate any actual send data. This is useful in conjunction with
2556b3cff10cSYuri Pankovthe
2557b3cff10cSYuri Pankov.Fl v
2558b3cff10cSYuri Pankovor
2559b3cff10cSYuri Pankov.Fl P
2560b3cff10cSYuri Pankovflags to determine what data will be sent. In this case, the verbose output will
2561b3cff10cSYuri Pankovbe written to standard output
2562b3cff10cSYuri Pankov.Po contrast with a non-dry-run, where the stream is written to standard output
2563b3cff10cSYuri Pankovand the verbose output goes to standard error
2564b3cff10cSYuri Pankov.Pc .
2565b3cff10cSYuri Pankov.It Fl p
256619b94df9SMatthew AhrensInclude the dataset's properties in the stream. This flag is implicit when
2567b3cff10cSYuri Pankov.Fl R
2568b3cff10cSYuri Pankovis specified. The receiving system must also support this feature.
2569b3cff10cSYuri Pankov.It Fl v
25704e3c9f44SBill PijewskiPrint verbose information about the stream package generated. This information
25714e3c9f44SBill Pijewskiincludes a per-second report of how much data has been sent.
2572b3cff10cSYuri Pankov.Pp
2573c10c16deSRichard LoweThe format of the stream is committed. You will be able to receive your streams
2574b3cff10cSYuri Pankovon future versions of ZFS .
2575b3cff10cSYuri Pankov.El
2576b3cff10cSYuri Pankov.It Xo
2577b3cff10cSYuri Pankov.Nm
2578b3cff10cSYuri Pankov.Cm send
2579b3cff10cSYuri Pankov.Op Fl Le
2580b3cff10cSYuri Pankov.Op Fl i Ar snapshot Ns | Ns Ar bookmark
2581b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
2582b3cff10cSYuri Pankov.Xc
2583b3cff10cSYuri PankovGenerate a send stream, which may be of a filesystem, and may be incremental
2584b3cff10cSYuri Pankovfrom a bookmark. If the destination is a filesystem or volume, the pool must be
2585b3cff10cSYuri Pankovread-only, or the filesystem must not be mounted. When the stream generated from
2586b3cff10cSYuri Pankova filesystem or volume is received, the default snapshot name will be
2587b3cff10cSYuri Pankov.Qq --head-- .
2588b3cff10cSYuri Pankov.Bl -tag -width "-L"
2589b3cff10cSYuri Pankov.It Fl L
2590b3cff10cSYuri PankovGenerate a stream which may contain blocks larger than 128KB. This flag has no
2591b3cff10cSYuri Pankoveffect if the
2592b3cff10cSYuri Pankov.Sy large_blocks
2593b3cff10cSYuri Pankovpool feature is disabled, or if the
2594b3cff10cSYuri Pankov.Sy recordsize
2595b3cff10cSYuri Pankovproperty of this filesystem has never been set above 128KB. The receiving system
2596b3cff10cSYuri Pankovmust have the
2597b3cff10cSYuri Pankov.Sy large_blocks
2598b3cff10cSYuri Pankovpool feature enabled as well. See
2599b3cff10cSYuri Pankov.Xr zpool-features 5
2600b3cff10cSYuri Pankovfor details on ZFS feature flags and the
2601b3cff10cSYuri Pankov.Sy large_blocks
2602b3cff10cSYuri Pankovfeature.
2603b3cff10cSYuri Pankov.It Fl e
2604b3cff10cSYuri PankovGenerate a more compact stream by using
2605b3cff10cSYuri Pankov.Sy WRITE_EMBEDDED
2606b3cff10cSYuri Pankovrecords for blocks which are stored more compactly on disk by the
2607b3cff10cSYuri Pankov.Sy embedded_data
2608b3cff10cSYuri Pankovpool feature. This flag has no effect if the
2609b3cff10cSYuri Pankov.Sy embedded_data
2610b3cff10cSYuri Pankovfeature is disabled. The receiving system must have the
2611b3cff10cSYuri Pankov.Sy embedded_data
2612b3cff10cSYuri Pankovfeature enabled. If the
2613b3cff10cSYuri Pankov.Sy lz4_compress
2614b3cff10cSYuri Pankovfeature is active on the sending system, then the receiving system must have
2615b3cff10cSYuri Pankovthat feature enabled as well. See
2616b3cff10cSYuri Pankov.Xr zpool-features 5
2617b3cff10cSYuri Pankovfor details on ZFS feature flags and the
2618b3cff10cSYuri Pankov.Sy embedded_data
2619b3cff10cSYuri Pankovfeature.
2620b3cff10cSYuri Pankov.It Fl i Ar snapshot Ns | Ns Ar bookmark
262178f17100SMatthew AhrensGenerate an incremental send stream. The incremental source must be an earlier
2622b3cff10cSYuri Pankovsnapshot in the destination's history. It will commonly be an earlier snapshot
2623b3cff10cSYuri Pankovin the destination's file system, in which case it can be specified as the last
2624b3cff10cSYuri Pankovcomponent of the name
2625b3cff10cSYuri Pankov.Po the
2626b3cff10cSYuri Pankov.Sy #
2627b3cff10cSYuri Pankovor
2628b3cff10cSYuri Pankov.Sy @
2629b3cff10cSYuri Pankovcharacter and following
2630b3cff10cSYuri Pankov.Pc .
2631b3cff10cSYuri Pankov.Pp
2632b3cff10cSYuri PankovIf the incremental target is a clone, the incremental source can be the origin
2633b3cff10cSYuri Pankovsnapshot, or an earlier snapshot in the origin's filesystem, or the origin's
2634b3cff10cSYuri Pankovorigin, etc.
2635b3cff10cSYuri Pankov.El
2636b3cff10cSYuri Pankov.It Xo
2637b3cff10cSYuri Pankov.Nm
2638b3cff10cSYuri Pankov.Cm receive
2639b3cff10cSYuri Pankov.Op Fl Fnuv
2640*a2cdcdd2SPaul Dagnelie.Op Fl o Sy origin Ns = Ns Ar snapshot
2641b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
2642c10c16deSRichard Lowe.br
2643b3cff10cSYuri Pankov.Nm
2644b3cff10cSYuri Pankov.Cm receive
2645b3cff10cSYuri Pankov.Op Fl Fnuv
2646b3cff10cSYuri Pankov.Op Fl d Ns | Ns Fl e
2647*a2cdcdd2SPaul Dagnelie.Op Fl o Sy origin Ns = Ns Ar snapshot
2648b3cff10cSYuri Pankov.Ar filesystem
2649b3cff10cSYuri Pankov.Xc
2650c10c16deSRichard LoweCreates a snapshot whose contents are as specified in the stream provided on
2651c10c16deSRichard Lowestandard input. If a full stream is received, then a new file system is created
2652b3cff10cSYuri Pankovas well. Streams are created using the
2653b3cff10cSYuri Pankov.Nm zfs Cm send
2654b3cff10cSYuri Pankovsubcommand, which by default creates a full stream.
2655b3cff10cSYuri Pankov.Nm zfs Cm recv
2656b3cff10cSYuri Pankovcan be used as an alias for
2657b3cff10cSYuri Pankov.Nm zfs Cm receive.
2658b3cff10cSYuri Pankov.Pp
2659c10c16deSRichard LoweIf an incremental stream is received, then the destination file system must
2660c10c16deSRichard Lowealready exist, and its most recent snapshot must match the incremental stream's
2661b3cff10cSYuri Pankovsource. For
2662b3cff10cSYuri Pankov.Sy zvols ,
2663b3cff10cSYuri Pankovthe destination device link is destroyed and recreated, which means the
2664b3cff10cSYuri Pankov.Sy zvol
2665b3cff10cSYuri Pankovcannot be accessed during the
2666b3cff10cSYuri Pankov.Cm receive
2667b3cff10cSYuri Pankovoperation.
2668b3cff10cSYuri Pankov.Pp
2669c10c16deSRichard LoweWhen a snapshot replication package stream that is generated by using the
2670b3cff10cSYuri Pankov.Nm zfs Cm send Fl R
2671b3cff10cSYuri Pankovcommand is received, any snapshots that do not exist on the sending location are
2672b3cff10cSYuri Pankovdestroyed by using the
2673b3cff10cSYuri Pankov.Nm zfs Cm destroy Fl d
2674c10c16deSRichard Lowecommand.
2675b3cff10cSYuri Pankov.Pp
2676b3cff10cSYuri PankovThe name of the snapshot
2677b3cff10cSYuri Pankov.Pq and file system, if a full stream is received
2678b3cff10cSYuri Pankovthat this subcommand creates depends on the argument type and the use of the
2679b3cff10cSYuri Pankov.Fl d
2680b3cff10cSYuri Pankovor
2681b3cff10cSYuri Pankov.Fl e
2682b3cff10cSYuri Pankovoptions.
2683b3cff10cSYuri Pankov.Pp
2684b3cff10cSYuri PankovIf the argument is a snapshot name, the specified
2685b3cff10cSYuri Pankov.Ar snapshot
2686b3cff10cSYuri Pankovis created. If the argument is a file system or volume name, a snapshot with the
2687b3cff10cSYuri Pankovsame name as the sent snapshot is created within the specified
2688b3cff10cSYuri Pankov.Ar filesystem
2689b3cff10cSYuri Pankovor
2690b3cff10cSYuri Pankov.Ar volume .
2691b3cff10cSYuri PankovIf neither of the
2692b3cff10cSYuri Pankov.Fl d
2693b3cff10cSYuri Pankovor
2694b3cff10cSYuri Pankov.Fl e
2695b3cff10cSYuri Pankovoptions are specified, the provided target snapshot name is used exactly as
2696b3cff10cSYuri Pankovprovided.
2697b3cff10cSYuri Pankov.Pp
2698b3cff10cSYuri PankovThe
2699b3cff10cSYuri Pankov.Fl d
2700b3cff10cSYuri Pankovand
2701b3cff10cSYuri Pankov.Fl e
2702b3cff10cSYuri Pankovoptions cause the file system name of the target snapshot to be determined by
2703b3cff10cSYuri Pankovappending a portion of the sent snapshot's name to the specified target
2704b3cff10cSYuri Pankov.Ar filesystem .
2705b3cff10cSYuri PankovIf the
2706b3cff10cSYuri Pankov.Fl d
2707b3cff10cSYuri Pankovoption is specified, all but the first element of the sent snapshot's file
2708b3cff10cSYuri Pankovsystem path
2709b3cff10cSYuri Pankov.Pq usually the pool name
2710b3cff10cSYuri Pankovis used and any required intermediate file systems within the specified one are
2711b3cff10cSYuri Pankovcreated. If the
2712b3cff10cSYuri Pankov.Fl e
2713b3cff10cSYuri Pankovoption is specified, then only the last element of the sent snapshot's file
2714b3cff10cSYuri Pankovsystem name
2715b3cff10cSYuri Pankov.Pq i.e. the name of the source file system itself
2716b3cff10cSYuri Pankovis used as the target file system name.
2717b3cff10cSYuri Pankov.Bl -tag -width "-F"
2718b3cff10cSYuri Pankov.It Fl F
2719b3cff10cSYuri PankovForce a rollback of the file system to the most recent snapshot before
2720b3cff10cSYuri Pankovperforming the receive operation. If receiving an incremental replication stream
2721b3cff10cSYuri Pankov.Po for example, one generated by
2722b3cff10cSYuri Pankov.Nm zfs Cm send Fl R Op Fl i Ns | Ns Fl I
2723b3cff10cSYuri Pankov.Pc ,
2724b3cff10cSYuri Pankovdestroy snapshots and file systems that do not exist on the sending side.
2725b3cff10cSYuri Pankov.It Fl d
2726b3cff10cSYuri PankovDiscard the first element of the sent snapshot's file system name, using the
2727b3cff10cSYuri Pankovremaining elements to determine the name of the target file system for the new
2728b3cff10cSYuri Pankovsnapshot as described in the paragraph above.
2729b3cff10cSYuri Pankov.It Fl e
2730b3cff10cSYuri PankovDiscard all but the last element of the sent snapshot's file system name, using
2731b3cff10cSYuri Pankovthat element to determine the name of the target file system for the new
2732b3cff10cSYuri Pankovsnapshot as described in the paragraph above.
2733b3cff10cSYuri Pankov.It Fl n
2734b3cff10cSYuri PankovDo not actually receive the stream. This can be useful in conjunction with the
2735b3cff10cSYuri Pankov.Fl v
2736b3cff10cSYuri Pankovoption to verify the name the receive operation would use.
2737*a2cdcdd2SPaul Dagnelie.It Fl o Sy origin Ns = Ns Ar snapshot
2738*a2cdcdd2SPaul DagnelieForces the stream to be received as a clone of the given snapshot.
2739*a2cdcdd2SPaul DagnelieThis is only valid if the stream is an incremental stream whose source
2740*a2cdcdd2SPaul Dagnelieis the same as the provided origin.
2741b3cff10cSYuri Pankov.It Fl u
2742c10c16deSRichard LoweFile system that is associated with the received stream is not mounted.
2743b3cff10cSYuri Pankov.It Fl v
2744c10c16deSRichard LowePrint verbose information about the stream and the time required to perform the
2745c10c16deSRichard Lowereceive operation.
2746b3cff10cSYuri Pankov.El
2747b3cff10cSYuri Pankov.It Xo
2748b3cff10cSYuri Pankov.Nm
2749b3cff10cSYuri Pankov.Cm allow
2750b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
2751b3cff10cSYuri Pankov.Xc
2752c10c16deSRichard LoweDisplays permissions that have been delegated on the specified filesystem or
2753b3cff10cSYuri Pankovvolume. See the other forms of
2754b3cff10cSYuri Pankov.Nm zfs Cm allow
2755b3cff10cSYuri Pankovfor more information.
2756b3cff10cSYuri Pankov.It Xo
2757b3cff10cSYuri Pankov.Nm
2758b3cff10cSYuri Pankov.Cm allow
2759b3cff10cSYuri Pankov.Op Fl dglu
2760b3cff10cSYuri Pankov.Ar user Ns | Ns Ar group Ns Oo , Ns Ar user Ns | Ns Ar group Oc Ns ...
2761b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns
2762b3cff10cSYuri Pankov.Ar setname Oc Ns ...
2763b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
2764c10c16deSRichard Lowe.br
2765b3cff10cSYuri Pankov.Nm
2766b3cff10cSYuri Pankov.Cm allow
2767b3cff10cSYuri Pankov.Op Fl dl
2768b3cff10cSYuri Pankov.Fl e Ns | Ns Sy everyone
2769b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns
2770b3cff10cSYuri Pankov.Ar setname Oc Ns ...
2771b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
2772b3cff10cSYuri Pankov.Xc
2773b3cff10cSYuri PankovDelegates ZFS administration permission for the file systems to non-privileged
2774b3cff10cSYuri Pankovusers.
2775b3cff10cSYuri Pankov.Bl -tag -width "-d"
2776b3cff10cSYuri Pankov.It Fl d
2777b3cff10cSYuri PankovAllow only for the descendent file systems.
2778b3cff10cSYuri Pankov.It Fl e Ns | Ns Sy everyone
277952fd7480SMarcel TelkaSpecifies that the permissions be delegated to everyone.
2780b3cff10cSYuri Pankov.It Fl g Ar group Ns Oo , Ns Ar group Oc Ns ...
2781b3cff10cSYuri PankovExplicitly specify that permissions are delegated to the group.
2782b3cff10cSYuri Pankov.It Fl l
2783b3cff10cSYuri PankovAllow
2784b3cff10cSYuri Pankov.Qq locally
2785b3cff10cSYuri Pankovonly for the specified file system.
2786b3cff10cSYuri Pankov.It Fl u Ar user Ns Oo , Ns Ar user Oc Ns ...
2787b3cff10cSYuri PankovExplicitly specify that permissions are delegated to the user.
2788b3cff10cSYuri Pankov.It Ar user Ns | Ns Ar group Ns Oo , Ns Ar user Ns | Ns Ar group Oc Ns ...
2789b3cff10cSYuri PankovSpecifies to whom the permissions are delegated. Multiple entities can be
2790b3cff10cSYuri Pankovspecified as a comma-separated list. If neither of the
2791b3cff10cSYuri Pankov.Fl gu
2792b3cff10cSYuri Pankovoptions are specified, then the argument is interpreted preferentially as the
2793b3cff10cSYuri Pankovkeyword
2794b3cff10cSYuri Pankov.Sy everyone ,
2795b3cff10cSYuri Pankovthen as a user name, and lastly as a group name. To specify a user or group
2796b3cff10cSYuri Pankovnamed
2797b3cff10cSYuri Pankov.Qq everyone ,
2798b3cff10cSYuri Pankovuse the
2799b3cff10cSYuri Pankov.Fl g
2800b3cff10cSYuri Pankovor
2801b3cff10cSYuri Pankov.Fl u
2802b3cff10cSYuri Pankovoptions. To specify a group with the same name as a user, use the
2803b3cff10cSYuri Pankov.Fl g
2804b3cff10cSYuri Pankovoptions.
2805b3cff10cSYuri Pankov.It Xo
2806b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns
2807b3cff10cSYuri Pankov.Ar setname Oc Ns ...
2808b3cff10cSYuri Pankov.Xc
2809b3cff10cSYuri PankovThe permissions to delegate. Multiple permissions may be specified as a
2810b3cff10cSYuri Pankovcomma-separated list. Permission names are the same as ZFS subcommand and
2811b3cff10cSYuri Pankovproperty names. See the property list below. Property set names,
2812b3cff10cSYuri Pankovwhich begin with
2813b3cff10cSYuri Pankov.Sy @ ,
2814b3cff10cSYuri Pankovmay be specified. See the
2815b3cff10cSYuri Pankov.Fl s
2816b3cff10cSYuri Pankovform below for details.
2817b3cff10cSYuri Pankov.El
2818b3cff10cSYuri Pankov.Pp
2819b3cff10cSYuri PankovIf neither of the
2820b3cff10cSYuri Pankov.Fl dl
2821c10c16deSRichard Loweoptions are specified, or both are, then the permissions are allowed for the
2822b3cff10cSYuri Pankovfile system or volume, and all of its descendents.
2823b3cff10cSYuri Pankov.Pp
2824b3cff10cSYuri PankovPermissions are generally the ability to use a ZFS subcommand or change a ZFS
2825b3cff10cSYuri Pankovproperty. The following permissions are available:
2826b3cff10cSYuri Pankov.Bd -literal
2827c10c16deSRichard LoweNAME             TYPE           NOTES
2828c10c16deSRichard Loweallow            subcommand     Must also have the permission that is being
2829c10c16deSRichard Lowe                                allowed
2830c10c16deSRichard Loweclone            subcommand     Must also have the 'create' ability and 'mount'
2831c10c16deSRichard Lowe                                ability in the origin file system
2832c10c16deSRichard Lowecreate           subcommand     Must also have the 'mount' ability
2833c10c16deSRichard Lowedestroy          subcommand     Must also have the 'mount' ability
28343b8be6bfSRichard Lowediff             subcommand     Allows lookup of paths within a dataset
28353b8be6bfSRichard Lowe                                given an object number, and the ability to
28363b8be6bfSRichard Lowe                                create snapshots necessary to 'zfs diff'.
2837c10c16deSRichard Lowemount            subcommand     Allows mount/umount of ZFS datasets
2838c10c16deSRichard Lowepromote          subcommand     Must also have the 'mount'
2839c10c16deSRichard Lowe                                and 'promote' ability in the origin file system
2840c10c16deSRichard Lowereceive          subcommand     Must also have the 'mount' and 'create' ability
2841c10c16deSRichard Lowerename           subcommand     Must also have the 'mount' and 'create'
2842c10c16deSRichard Lowe                                ability in the new parent
2843c10c16deSRichard Lowerollback         subcommand     Must also have the 'mount' ability
2844c10c16deSRichard Lowesend             subcommand
2845c10c16deSRichard Loweshare            subcommand     Allows sharing file systems over NFS or SMB
2846c10c16deSRichard Lowe                                protocols
2847c10c16deSRichard Lowesnapshot         subcommand     Must also have the 'mount' ability
2848b3cff10cSYuri Pankov
2849c10c16deSRichard Lowegroupquota       other          Allows accessing any groupquota@... property
2850c10c16deSRichard Lowegroupused        other          Allows reading any groupused@... property
2851c10c16deSRichard Loweuserprop         other          Allows changing any user property
2852c10c16deSRichard Loweuserquota        other          Allows accessing any userquota@... property
2853c10c16deSRichard Loweuserused         other          Allows reading any userused@... property
2854c10c16deSRichard Lowe
2855c10c16deSRichard Loweaclinherit       property
2856c10c16deSRichard Loweaclmode          property
2857c10c16deSRichard Loweatime            property
2858c10c16deSRichard Lowecanmount         property
2859c10c16deSRichard Lowecasesensitivity  property
2860c10c16deSRichard Lowechecksum         property
2861c10c16deSRichard Lowecompression      property
2862c10c16deSRichard Lowecopies           property
2863c10c16deSRichard Lowedevices          property
2864c10c16deSRichard Loweexec             property
2865a2afb611SJerry Jelinekfilesystem_limit property
2866c10c16deSRichard Lowemountpoint       property
2867c10c16deSRichard Lowenbmand           property
2868c10c16deSRichard Lowenormalization    property
2869c10c16deSRichard Loweprimarycache     property
2870c10c16deSRichard Lowequota            property
2871c10c16deSRichard Lowereadonly         property
2872c10c16deSRichard Lowerecordsize       property
2873c10c16deSRichard Lowerefquota         property
2874c10c16deSRichard Lowerefreservation   property
2875c10c16deSRichard Lowereservation      property
2876c10c16deSRichard Lowesecondarycache   property
2877c10c16deSRichard Lowesetuid           property
2878c10c16deSRichard Lowesharenfs         property
2879c10c16deSRichard Lowesharesmb         property
2880c10c16deSRichard Lowesnapdir          property
2881a2afb611SJerry Jelineksnapshot_limit   property
2882c10c16deSRichard Loweutf8only         property
2883c10c16deSRichard Loweversion          property
2884c10c16deSRichard Lowevolblocksize     property
2885c10c16deSRichard Lowevolsize          property
2886c10c16deSRichard Lowevscan            property
2887c10c16deSRichard Lowexattr            property
2888c10c16deSRichard Lowezoned            property
2889b3cff10cSYuri Pankov.Ed
2890b3cff10cSYuri Pankov.It Xo
2891b3cff10cSYuri Pankov.Nm
2892b3cff10cSYuri Pankov.Cm allow
2893b3cff10cSYuri Pankov.Fl c
2894b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns
2895b3cff10cSYuri Pankov.Ar setname Oc Ns ...
2896b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
2897b3cff10cSYuri Pankov.Xc
2898b3cff10cSYuri PankovSets
2899b3cff10cSYuri Pankov.Qq create time
2900b3cff10cSYuri Pankovpermissions. These permissions are granted
2901b3cff10cSYuri Pankov.Pq locally
2902b3cff10cSYuri Pankovto the creator of any newly-created descendent file system.
2903b3cff10cSYuri Pankov.It Xo
2904b3cff10cSYuri Pankov.Nm
2905b3cff10cSYuri Pankov.Cm allow
2906b3cff10cSYuri Pankov.Fl s No @ Ns Ar setname
2907b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns
2908b3cff10cSYuri Pankov.Ar setname Oc Ns ...
2909b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
2910b3cff10cSYuri Pankov.Xc
2911c10c16deSRichard LoweDefines or adds permissions to a permission set. The set can be used by other
2912b3cff10cSYuri Pankov.Nm zfs Cm allow
2913b3cff10cSYuri Pankovcommands for the specified file system and its descendents. Sets are evaluated
2914b3cff10cSYuri Pankovdynamically, so changes to a set are immediately reflected. Permission sets
2915b3cff10cSYuri Pankovfollow the same naming restrictions as ZFS file systems, but the name must begin
2916b3cff10cSYuri Pankovwith
2917b3cff10cSYuri Pankov.Sy @ ,
2918b3cff10cSYuri Pankovand can be no more than 64 characters long.
2919b3cff10cSYuri Pankov.It Xo
2920b3cff10cSYuri Pankov.Nm
2921b3cff10cSYuri Pankov.Cm unallow
2922b3cff10cSYuri Pankov.Op Fl dglru
2923b3cff10cSYuri Pankov.Ar user Ns | Ns Ar group Ns Oo , Ns Ar user Ns | Ns Ar group Oc Ns ...
2924b3cff10cSYuri Pankov.Oo Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns
2925b3cff10cSYuri Pankov.Ar setname Oc Ns ... Oc
2926b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
2927c10c16deSRichard Lowe.br
2928b3cff10cSYuri Pankov.Nm
2929b3cff10cSYuri Pankov.Cm unallow
2930b3cff10cSYuri Pankov.Op Fl dlr
2931b3cff10cSYuri Pankov.Fl e Ns | Ns Sy everyone
2932b3cff10cSYuri Pankov.Oo Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns
2933b3cff10cSYuri Pankov.Ar setname Oc Ns ... Oc
2934b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
2935c10c16deSRichard Lowe.br
2936b3cff10cSYuri Pankov.Nm
2937b3cff10cSYuri Pankov.Cm unallow
2938b3cff10cSYuri Pankov.Op Fl r
2939b3cff10cSYuri Pankov.Fl c
2940b3cff10cSYuri Pankov.Oo Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns
2941b3cff10cSYuri Pankov.Ar setname Oc Ns ... Oc
2942b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
2943b3cff10cSYuri Pankov.Xc
2944b3cff10cSYuri PankovRemoves permissions that were granted with the
2945b3cff10cSYuri Pankov.Nm zfs Cm allow
2946b3cff10cSYuri Pankovcommand. No permissions are explicitly denied, so other permissions granted are
2947b3cff10cSYuri Pankovstill in effect. For example, if the permission is granted by an ancestor. If no
2948b3cff10cSYuri Pankovpermissions are specified, then all permissions for the specified
2949b3cff10cSYuri Pankov.Ar user ,
2950b3cff10cSYuri Pankov.Ar group ,
2951b3cff10cSYuri Pankovor
2952b3cff10cSYuri Pankov.Sy everyone
2953b3cff10cSYuri Pankovare removed. Specifying
2954b3cff10cSYuri Pankov.Sy everyone
2955b3cff10cSYuri Pankov.Po or using the
2956b3cff10cSYuri Pankov.Fl e
2957b3cff10cSYuri Pankovoption
2958b3cff10cSYuri Pankov.Pc
2959b3cff10cSYuri Pankovonly removes the permissions that were granted to everyone, not all permissions
2960b3cff10cSYuri Pankovfor every user and group. See the
2961b3cff10cSYuri Pankov.Nm zfs Cm allow
2962b3cff10cSYuri Pankovcommand for a description of the
2963b3cff10cSYuri Pankov.Fl ldugec
2964b3cff10cSYuri Pankovoptions.
2965b3cff10cSYuri Pankov.Bl -tag -width "-r"
2966b3cff10cSYuri Pankov.It Fl r
2967c10c16deSRichard LoweRecursively remove the permissions from this file system and all descendents.
2968b3cff10cSYuri Pankov.El
2969b3cff10cSYuri Pankov.It Xo
2970b3cff10cSYuri Pankov.Nm
2971b3cff10cSYuri Pankov.Cm unallow
2972b3cff10cSYuri Pankov.Op Fl r
2973b3cff10cSYuri Pankov.Fl s @ Ns Ar setname
2974b3cff10cSYuri Pankov.Oo Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns
2975b3cff10cSYuri Pankov.Ar setname Oc Ns ... Oc
2976b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume
2977b3cff10cSYuri Pankov.Xc
2978b3cff10cSYuri PankovRemoves permissions from a permission set. If no permissions are specified, then
2979b3cff10cSYuri Pankovall permissions are removed, thus removing the set entirely.
2980b3cff10cSYuri Pankov.It Xo
2981b3cff10cSYuri Pankov.Nm
2982b3cff10cSYuri Pankov.Cm hold
2983b3cff10cSYuri Pankov.Op Fl r
2984b3cff10cSYuri Pankov.Ar tag Ar snapshot Ns ...
2985b3cff10cSYuri Pankov.Xc
2986b3cff10cSYuri PankovAdds a single reference, named with the
2987b3cff10cSYuri Pankov.Ar tag
2988b3cff10cSYuri Pankovargument, to the specified snapshot or snapshots. Each snapshot has its own tag
2989b3cff10cSYuri Pankovnamespace, and tags must be unique within that space.
2990b3cff10cSYuri Pankov.Pp
2991c10c16deSRichard LoweIf a hold exists on a snapshot, attempts to destroy that snapshot by using the
2992b3cff10cSYuri Pankov.Nm zfs Cm destroy
2993b3cff10cSYuri Pankovcommand return
2994b3cff10cSYuri Pankov.Er EBUSY .
2995b3cff10cSYuri Pankov.Bl -tag -width "-r"
2996b3cff10cSYuri Pankov.It Fl r
2997b3cff10cSYuri PankovSpecifies that a hold with the given tag is applied recursively to the snapshots
2998b3cff10cSYuri Pankovof all descendent file systems.
2999b3cff10cSYuri Pankov.El
3000b3cff10cSYuri Pankov.It Xo
3001b3cff10cSYuri Pankov.Nm
3002b3cff10cSYuri Pankov.Cm holds
3003b3cff10cSYuri Pankov.Op Fl r
3004b3cff10cSYuri Pankov.Ar snapshot Ns ...
3005b3cff10cSYuri Pankov.Xc
3006c10c16deSRichard LoweLists all existing user references for the given snapshot or snapshots.
3007b3cff10cSYuri Pankov.Bl -tag -width "-r"
3008b3cff10cSYuri Pankov.It Fl r
3009c10c16deSRichard LoweLists the holds that are set on the named descendent snapshots, in addition to
3010c10c16deSRichard Lowelisting the holds on the named snapshot.
3011b3cff10cSYuri Pankov.El
3012b3cff10cSYuri Pankov.It Xo
3013b3cff10cSYuri Pankov.Nm
3014b3cff10cSYuri Pankov.Cm release
3015b3cff10cSYuri Pankov.Op Fl r
3016b3cff10cSYuri Pankov.Ar tag Ar snapshot Ns ...
3017b3cff10cSYuri Pankov.Xc
3018b3cff10cSYuri PankovRemoves a single reference, named with the
3019b3cff10cSYuri Pankov.Ar tag
3020b3cff10cSYuri Pankovargument, from the specified snapshot or snapshots. The tag must already exist
3021b3cff10cSYuri Pankovfor each snapshot. If a hold exists on a snapshot, attempts to destroy that
3022b3cff10cSYuri Pankovsnapshot by using the
3023b3cff10cSYuri Pankov.Nm zfs Cm destroy
3024b3cff10cSYuri Pankovcommand return
3025b3cff10cSYuri Pankov.Er EBUSY .
3026b3cff10cSYuri Pankov.Bl -tag -width "-r"
3027b3cff10cSYuri Pankov.It Fl r
3028c10c16deSRichard LoweRecursively releases a hold with the given tag on the snapshots of all
3029c10c16deSRichard Lowedescendent file systems.
3030b3cff10cSYuri Pankov.El
3031b3cff10cSYuri Pankov.It Xo
3032b3cff10cSYuri Pankov.Nm
3033b3cff10cSYuri Pankov.Cm diff
3034b3cff10cSYuri Pankov.Op Fl FHt
3035b3cff10cSYuri Pankov.Ar snapshot Ar snapshot Ns | Ns Ar filesystem
3036b3cff10cSYuri Pankov.Xc
30373b8be6bfSRichard LoweDisplay the difference between a snapshot of a given filesystem and another
30383b8be6bfSRichard Lowesnapshot of that filesystem from a later time or the current contents of the
3039b3cff10cSYuri Pankovfilesystem. The first column is a character indicating the type of change, the
3040b3cff10cSYuri Pankovother columns indicate pathname, new pathname
3041b3cff10cSYuri Pankov.Pq in case of rename ,
3042b3cff10cSYuri Pankovchange in link count, and optionally file type and/or change time. The types of
3043b3cff10cSYuri Pankovchange are:
3044b3cff10cSYuri Pankov.Bd -literal
30453b8be6bfSRichard Lowe-       The path has been removed
30463b8be6bfSRichard Lowe+       The path has been created
30473b8be6bfSRichard LoweM       The path has been modified
30483b8be6bfSRichard LoweR       The path has been renamed
3049b3cff10cSYuri Pankov.Ed
3050b3cff10cSYuri Pankov.Bl -tag -width "-F"
3051b3cff10cSYuri Pankov.It Fl F
3052b3cff10cSYuri PankovDisplay an indication of the type of file, in a manner similar to the
3053b3cff10cSYuri Pankov.Fl
3054b3cff10cSYuri Pankovoption of
3055b3cff10cSYuri Pankov.Xr ls 1 .
3056b3cff10cSYuri Pankov.Bd -literal
30573b8be6bfSRichard LoweB       Block device
30583b8be6bfSRichard LoweC       Character device
30593b8be6bfSRichard Lowe/       Directory
30603b8be6bfSRichard Lowe>       Door
30613b8be6bfSRichard Lowe|       Named pipe
30623b8be6bfSRichard Lowe@       Symbolic link
30633b8be6bfSRichard LoweP       Event port
30643b8be6bfSRichard Lowe=       Socket
30653b8be6bfSRichard LoweF       Regular file
3066b3cff10cSYuri Pankov.Ed
3067b3cff10cSYuri Pankov.It Fl H
3068b3cff10cSYuri PankovGive more parsable tab-separated output, without header lines and without
3069b3cff10cSYuri Pankovarrows.
3070b3cff10cSYuri Pankov.It Fl t
30713b8be6bfSRichard LoweDisplay the path's inode change time as the first column of output.
3072b3cff10cSYuri Pankov.El
3073b3cff10cSYuri Pankov.El
3074b3cff10cSYuri Pankov.Sh EXIT STATUS
3075b3cff10cSYuri PankovThe
3076b3cff10cSYuri Pankov.Nm
3077b3cff10cSYuri Pankovutility exits 0 on success, 1 if an error occurs, and 2 if invalid command line
3078b3cff10cSYuri Pankovoptions were specified.
3079b3cff10cSYuri Pankov.Sh EXAMPLES
3080b3cff10cSYuri Pankov.Bl -tag -width ""
3081b3cff10cSYuri Pankov.It Sy Example 1 No Creating a ZFS File System Hierarchy
3082b3cff10cSYuri PankovThe following commands create a file system named
3083b3cff10cSYuri Pankov.Em pool/home
3084b3cff10cSYuri Pankovand a file system named
3085b3cff10cSYuri Pankov.Em pool/home/bob .
3086b3cff10cSYuri PankovThe mount point
3087b3cff10cSYuri Pankov.Pa /export/home
3088b3cff10cSYuri Pankovis set for the parent file system, and is automatically inherited by the child
3089b3cff10cSYuri Pankovfile system.
3090b3cff10cSYuri Pankov.Bd -literal
3091b3cff10cSYuri Pankov# zfs create pool/home
3092b3cff10cSYuri Pankov# zfs set mountpoint=/export/home pool/home
3093b3cff10cSYuri Pankov# zfs create pool/home/bob
3094b3cff10cSYuri Pankov.Ed
3095b3cff10cSYuri Pankov.It Sy Example 2 No Creating a ZFS Snapshot
3096b3cff10cSYuri PankovThe following command creates a snapshot named
3097b3cff10cSYuri Pankov.Sy yesterday .
3098b3cff10cSYuri PankovThis snapshot is mounted on demand in the
3099b3cff10cSYuri Pankov.Pa .zfs/snapshot
3100b3cff10cSYuri Pankovdirectory at the root of the
3101b3cff10cSYuri Pankov.Em pool/home/bob
3102b3cff10cSYuri Pankovfile system.
3103b3cff10cSYuri Pankov.Bd -literal
3104b3cff10cSYuri Pankov# zfs snapshot pool/home/bob@yesterday
3105b3cff10cSYuri Pankov.Ed
3106b3cff10cSYuri Pankov.It Sy Example 3 No Creating and Destroying Multiple Snapshots
3107b3cff10cSYuri PankovThe following command creates snapshots named
3108b3cff10cSYuri Pankov.Sy yesterday
3109b3cff10cSYuri Pankovof
3110b3cff10cSYuri Pankov.Em pool/home
3111b3cff10cSYuri Pankovand all of its descendent file systems. Each snapshot is mounted on demand in
3112b3cff10cSYuri Pankovthe
3113b3cff10cSYuri Pankov.Pa .zfs/snapshot
3114b3cff10cSYuri Pankovdirectory at the root of its file system. The second command destroys the newly
3115b3cff10cSYuri Pankovcreated snapshots.
3116b3cff10cSYuri Pankov.Bd -literal
3117b3cff10cSYuri Pankov# zfs snapshot -r pool/home@yesterday
3118b3cff10cSYuri Pankov# zfs destroy -r pool/home@yesterday
3119b3cff10cSYuri Pankov.Ed
3120b3cff10cSYuri Pankov.It Sy Example 4 No Disabling and Enabling File System Compression
3121b3cff10cSYuri PankovThe following command disables the
3122b3cff10cSYuri Pankov.Sy compression
3123b3cff10cSYuri Pankovproperty for all file systems under
3124b3cff10cSYuri Pankov.Em pool/home .
3125b3cff10cSYuri PankovThe next command explicitly enables
3126b3cff10cSYuri Pankov.Sy compression
3127b3cff10cSYuri Pankovfor
3128b3cff10cSYuri Pankov.Em pool/home/anne .
3129b3cff10cSYuri Pankov.Bd -literal
3130b3cff10cSYuri Pankov# zfs set compression=off pool/home
3131b3cff10cSYuri Pankov# zfs set compression=on pool/home/anne
3132b3cff10cSYuri Pankov.Ed
3133b3cff10cSYuri Pankov.It Sy Example 5 No Listing ZFS Datasets
3134c10c16deSRichard LoweThe following command lists all active file systems and volumes in the system.
3135b3cff10cSYuri PankovSnapshots are displayed if the
3136b3cff10cSYuri Pankov.Sy listsnaps
3137b3cff10cSYuri Pankovproperty is
3138b3cff10cSYuri Pankov.Sy on .
3139b3cff10cSYuri PankovThe default is
3140b3cff10cSYuri Pankov.Sy off .
3141b3cff10cSYuri PankovSee
3142b3cff10cSYuri Pankov.Xr zpool 1M
3143b3cff10cSYuri Pankovfor more information on pool properties.
3144b3cff10cSYuri Pankov.Bd -literal
3145b3cff10cSYuri Pankov# zfs list
3146c10c16deSRichard LoweNAME                      USED  AVAIL  REFER  MOUNTPOINT
3147c10c16deSRichard Lowepool                      450K   457G    18K  /pool
3148c10c16deSRichard Lowepool/home                 315K   457G    21K  /export/home
3149c10c16deSRichard Lowepool/home/anne             18K   457G    18K  /export/home/anne
3150c10c16deSRichard Lowepool/home/bob             276K   457G   276K  /export/home/bob
3151b3cff10cSYuri Pankov.Ed
3152b3cff10cSYuri Pankov.It Sy Example 6 No Setting a Quota on a ZFS File System
3153b3cff10cSYuri PankovThe following command sets a quota of 50 Gbytes for
3154b3cff10cSYuri Pankov.Em pool/home/bob .
3155b3cff10cSYuri Pankov.Bd -literal
3156b3cff10cSYuri Pankov# zfs set quota=50G pool/home/bob
3157b3cff10cSYuri Pankov.Ed
3158b3cff10cSYuri Pankov.It Sy Example 7 No Listing ZFS Properties
3159b3cff10cSYuri PankovThe following command lists all properties for
3160b3cff10cSYuri Pankov.Em pool/home/bob .
3161b3cff10cSYuri Pankov.Bd -literal
3162b3cff10cSYuri Pankov# zfs get all pool/home/bob
3163c10c16deSRichard LoweNAME           PROPERTY              VALUE                  SOURCE
3164c10c16deSRichard Lowepool/home/bob  type                  filesystem             -
3165c10c16deSRichard Lowepool/home/bob  creation              Tue Jul 21 15:53 2009  -
3166c10c16deSRichard Lowepool/home/bob  used                  21K                    -
3167c10c16deSRichard Lowepool/home/bob  available             20.0G                  -
3168c10c16deSRichard Lowepool/home/bob  referenced            21K                    -
3169c10c16deSRichard Lowepool/home/bob  compressratio         1.00x                  -
3170c10c16deSRichard Lowepool/home/bob  mounted               yes                    -
3171c10c16deSRichard Lowepool/home/bob  quota                 20G                    local
3172c10c16deSRichard Lowepool/home/bob  reservation           none                   default
3173c10c16deSRichard Lowepool/home/bob  recordsize            128K                   default
3174c10c16deSRichard Lowepool/home/bob  mountpoint            /pool/home/bob         default
3175c10c16deSRichard Lowepool/home/bob  sharenfs              off                    default
3176c10c16deSRichard Lowepool/home/bob  checksum              on                     default
3177c10c16deSRichard Lowepool/home/bob  compression           on                     local
3178c10c16deSRichard Lowepool/home/bob  atime                 on                     default
3179c10c16deSRichard Lowepool/home/bob  devices               on                     default
3180c10c16deSRichard Lowepool/home/bob  exec                  on                     default
3181c10c16deSRichard Lowepool/home/bob  setuid                on                     default
3182c10c16deSRichard Lowepool/home/bob  readonly              off                    default
3183c10c16deSRichard Lowepool/home/bob  zoned                 off                    default
3184c10c16deSRichard Lowepool/home/bob  snapdir               hidden                 default
3185a3c49ce1SAlbert Leepool/home/bob  aclmode               discard                default
3186c10c16deSRichard Lowepool/home/bob  aclinherit            restricted             default
3187c10c16deSRichard Lowepool/home/bob  canmount              on                     default
3188c10c16deSRichard Lowepool/home/bob  xattr                 on                     default
3189c10c16deSRichard Lowepool/home/bob  copies                1                      default
3190c10c16deSRichard Lowepool/home/bob  version               4                      -
3191c10c16deSRichard Lowepool/home/bob  utf8only              off                    -
3192c10c16deSRichard Lowepool/home/bob  normalization         none                   -
3193c10c16deSRichard Lowepool/home/bob  casesensitivity       sensitive              -
3194c10c16deSRichard Lowepool/home/bob  vscan                 off                    default
3195c10c16deSRichard Lowepool/home/bob  nbmand                off                    default
3196c10c16deSRichard Lowepool/home/bob  sharesmb              off                    default
3197c10c16deSRichard Lowepool/home/bob  refquota              none                   default
3198c10c16deSRichard Lowepool/home/bob  refreservation        none                   default
3199c10c16deSRichard Lowepool/home/bob  primarycache          all                    default
3200c10c16deSRichard Lowepool/home/bob  secondarycache        all                    default
3201c10c16deSRichard Lowepool/home/bob  usedbysnapshots       0                      -
3202c10c16deSRichard Lowepool/home/bob  usedbydataset         21K                    -
3203c10c16deSRichard Lowepool/home/bob  usedbychildren        0                      -
3204c10c16deSRichard Lowepool/home/bob  usedbyrefreservation  0                      -
3205b3cff10cSYuri Pankov.Ed
3206b3cff10cSYuri Pankov.Pp
3207c10c16deSRichard LoweThe following command gets a single property value.
3208b3cff10cSYuri Pankov.Bd -literal
3209b3cff10cSYuri Pankov# zfs get -H -o value compression pool/home/bob
3210c10c16deSRichard Loweon
3211b3cff10cSYuri Pankov.Ed
3212c10c16deSRichard LoweThe following command lists all properties with local settings for
3213b3cff10cSYuri Pankov.Em pool/home/bob .
3214b3cff10cSYuri Pankov.Bd -literal
3215b3cff10cSYuri Pankov# zfs get -r -s local -o name,property,value all pool/home/bob
3216c10c16deSRichard LoweNAME           PROPERTY              VALUE
3217c10c16deSRichard Lowepool/home/bob  quota                 20G
3218c10c16deSRichard Lowepool/home/bob  compression           on
3219b3cff10cSYuri Pankov.Ed
3220b3cff10cSYuri Pankov.It Sy Example 8 No Rolling Back a ZFS File System
3221b3cff10cSYuri PankovThe following command reverts the contents of
3222b3cff10cSYuri Pankov.Em pool/home/anne
3223b3cff10cSYuri Pankovto the snapshot named
3224b3cff10cSYuri Pankov.Sy yesterday ,
3225b3cff10cSYuri Pankovdeleting all intermediate snapshots.
3226b3cff10cSYuri Pankov.Bd -literal
3227b3cff10cSYuri Pankov# zfs rollback -r pool/home/anne@yesterday
3228b3cff10cSYuri Pankov.Ed
3229b3cff10cSYuri Pankov.It Sy Example 9 No Creating a ZFS Clone
3230c10c16deSRichard LoweThe following command creates a writable file system whose initial contents are
3231b3cff10cSYuri Pankovthe same as
3232b3cff10cSYuri Pankov.Em pool/home/bob@yesterday .
3233b3cff10cSYuri Pankov.Bd -literal
3234b3cff10cSYuri Pankov# zfs clone pool/home/bob@yesterday pool/clone
3235b3cff10cSYuri Pankov.Ed
3236b3cff10cSYuri Pankov.It Sy Example 10 No Promoting a ZFS Clone
3237c10c16deSRichard LoweThe following commands illustrate how to test out changes to a file system, and
3238c10c16deSRichard Lowethen replace the original file system with the changed one, using clones, clone
3239c10c16deSRichard Lowepromotion, and renaming:
3240b3cff10cSYuri Pankov.Bd -literal
3241b3cff10cSYuri Pankov# zfs create pool/project/production
3242c10c16deSRichard Lowe  populate /pool/project/production with data
3243b3cff10cSYuri Pankov# zfs snapshot pool/project/production@today
3244b3cff10cSYuri Pankov# zfs clone pool/project/production@today pool/project/beta
3245c10c16deSRichard Lowe  make changes to /pool/project/beta and test them
3246b3cff10cSYuri Pankov# zfs promote pool/project/beta
3247b3cff10cSYuri Pankov# zfs rename pool/project/production pool/project/legacy
3248b3cff10cSYuri Pankov# zfs rename pool/project/beta pool/project/production
3249c10c16deSRichard Lowe  once the legacy version is no longer needed, it can be destroyed
3250b3cff10cSYuri Pankov# zfs destroy pool/project/legacy
3251b3cff10cSYuri Pankov.Ed
3252b3cff10cSYuri Pankov.It Sy Example 11 No Inheriting ZFS Properties
3253b3cff10cSYuri PankovThe following command causes
3254b3cff10cSYuri Pankov.Em pool/home/bob
3255b3cff10cSYuri Pankovand
3256b3cff10cSYuri Pankov.Em pool/home/anne
3257b3cff10cSYuri Pankovto inherit the
3258b3cff10cSYuri Pankov.Sy checksum
3259b3cff10cSYuri Pankovproperty from their parent.
3260b3cff10cSYuri Pankov.Bd -literal
3261b3cff10cSYuri Pankov# zfs inherit checksum pool/home/bob pool/home/anne
3262b3cff10cSYuri Pankov.Ed
3263b3cff10cSYuri Pankov.It Sy Example 12 No Remotely Replicating ZFS Data
3264c10c16deSRichard LoweThe following commands send a full stream and then an incremental stream to a
3265b3cff10cSYuri Pankovremote machine, restoring them into
3266b3cff10cSYuri Pankov.Em poolB/received/fs@a
3267b3cff10cSYuri Pankovand
3268b3cff10cSYuri Pankov.Em poolB/received/fs@b ,
3269b3cff10cSYuri Pankovrespectively.
3270b3cff10cSYuri Pankov.Em poolB
3271b3cff10cSYuri Pankovmust contain the file system
3272b3cff10cSYuri Pankov.Em poolB/received ,
3273b3cff10cSYuri Pankovand must not initially contain
3274b3cff10cSYuri Pankov.Em poolB/received/fs .
3275b3cff10cSYuri Pankov.Bd -literal
3276b3cff10cSYuri Pankov# zfs send pool/fs@a | \e
3277b3cff10cSYuri Pankov  ssh host zfs receive poolB/received/fs@a
3278b3cff10cSYuri Pankov# zfs send -i a pool/fs@b | \e
3279b3cff10cSYuri Pankov  ssh host zfs receive poolB/received/fs
3280b3cff10cSYuri Pankov.Ed
3281b3cff10cSYuri Pankov.It Sy Example 13 No Using the zfs receive -d Option
3282b3cff10cSYuri PankovThe following command sends a full stream of
3283b3cff10cSYuri Pankov.Em poolA/fsA/fsB@snap
3284b3cff10cSYuri Pankovto a remote machine, receiving it into
3285b3cff10cSYuri Pankov.Em poolB/received/fsA/fsB@snap .
3286b3cff10cSYuri PankovThe
3287b3cff10cSYuri Pankov.Em fsA/fsB@snap
3288b3cff10cSYuri Pankovportion of the received snapshot's name is determined from the name of the sent
3289b3cff10cSYuri Pankovsnapshot.
3290b3cff10cSYuri Pankov.Em poolB
3291b3cff10cSYuri Pankovmust contain the file system
3292b3cff10cSYuri Pankov.Em poolB/received .
3293b3cff10cSYuri PankovIf
3294b3cff10cSYuri Pankov.Em poolB/received/fsA
3295b3cff10cSYuri Pankovdoes not exist, it is created as an empty file system.
3296b3cff10cSYuri Pankov.Bd -literal
3297b3cff10cSYuri Pankov# zfs send poolA/fsA/fsB@snap | \e
3298b3cff10cSYuri Pankov  ssh host zfs receive -d poolB/received
3299b3cff10cSYuri Pankov.Ed
3300b3cff10cSYuri Pankov.It Sy Example 14 No Setting User Properties
3301b3cff10cSYuri PankovThe following example sets the user-defined
3302b3cff10cSYuri Pankov.Sy com.example:department
3303c10c16deSRichard Loweproperty for a dataset.
3304b3cff10cSYuri Pankov.Bd -literal
3305b3cff10cSYuri Pankov# zfs set com.example:department=12345 tank/accounting
3306b3cff10cSYuri Pankov.Ed
3307b3cff10cSYuri Pankov.It Sy Example 15 No Performing a Rolling Snapshot
3308c10c16deSRichard LoweThe following example shows how to maintain a history of snapshots with a
3309c10c16deSRichard Loweconsistent naming scheme. To keep a week's worth of snapshots, the user
3310c10c16deSRichard Lowedestroys the oldest snapshot, renames the remaining snapshots, and then creates
3311c10c16deSRichard Lowea new snapshot, as follows:
3312b3cff10cSYuri Pankov.Bd -literal
3313b3cff10cSYuri Pankov# zfs destroy -r pool/users@7daysago
3314b3cff10cSYuri Pankov# zfs rename -r pool/users@6daysago @7daysago
3315b3cff10cSYuri Pankov# zfs rename -r pool/users@5daysago @6daysago
3316b3cff10cSYuri Pankov# zfs rename -r pool/users@yesterday @5daysago
3317b3cff10cSYuri Pankov# zfs rename -r pool/users@yesterday @4daysago
3318b3cff10cSYuri Pankov# zfs rename -r pool/users@yesterday @3daysago
3319b3cff10cSYuri Pankov# zfs rename -r pool/users@yesterday @2daysago
3320b3cff10cSYuri Pankov# zfs rename -r pool/users@today @yesterday
3321b3cff10cSYuri Pankov# zfs snapshot -r pool/users@today
3322b3cff10cSYuri Pankov.Ed
3323b3cff10cSYuri Pankov.It Sy Example 16 No Setting sharenfs Property Options on a ZFS File System
3324b3cff10cSYuri PankovThe following commands show how to set
3325b3cff10cSYuri Pankov.Sy sharenfs
3326b3cff10cSYuri Pankovproperty options to enable
3327b3cff10cSYuri Pankov.Sy rw
3328b3cff10cSYuri Pankovaccess for a set of
3329b3cff10cSYuri Pankov.Sy IP
3330b3cff10cSYuri Pankovaddresses and to enable root access for system
3331b3cff10cSYuri Pankov.Sy neo
3332b3cff10cSYuri Pankovon the
3333b3cff10cSYuri Pankov.Em tank/home
3334b3cff10cSYuri Pankovfile system.
3335b3cff10cSYuri Pankov.Bd -literal
3336b3cff10cSYuri Pankov# zfs set sharenfs='rw=@123.123.0.0/16,root=neo' tank/home
3337b3cff10cSYuri Pankov.Ed
3338b3cff10cSYuri Pankov.Pp
3339b3cff10cSYuri PankovIf you are using
3340b3cff10cSYuri Pankov.Sy DNS
3341b3cff10cSYuri Pankovfor host name resolution, specify the fully qualified hostname.
3342b3cff10cSYuri Pankov.It Sy Example 17 No Delegating ZFS Administration Permissions on a ZFS Dataset
3343b3cff10cSYuri PankovThe following example shows how to set permissions so that user
3344b3cff10cSYuri Pankov.Sy cindys
3345b3cff10cSYuri Pankovcan create, destroy, mount, and take snapshots on
3346b3cff10cSYuri Pankov.Em tank/cindys .
3347b3cff10cSYuri PankovThe permissions on
3348b3cff10cSYuri Pankov.Em tank/cindys
3349b3cff10cSYuri Pankovare also displayed.
3350b3cff10cSYuri Pankov.Bd -literal
3351b3cff10cSYuri Pankov# zfs allow cindys create,destroy,mount,snapshot tank/cindys
3352b3cff10cSYuri Pankov# zfs allow tank/cindys
33535619b3f8SMarcel Telka---- Permissions on tank/cindys --------------------------------------
33545619b3f8SMarcel TelkaLocal+Descendent permissions:
3355c10c16deSRichard Lowe        user cindys create,destroy,mount,snapshot
3356b3cff10cSYuri Pankov.Ed
3357b3cff10cSYuri Pankov.Pp
3358b3cff10cSYuri PankovBecause the
3359b3cff10cSYuri Pankov.Em tank/cindys
3360b3cff10cSYuri Pankovmount point permission is set to 755 by default, user
3361b3cff10cSYuri Pankov.Sy cindys
3362b3cff10cSYuri Pankovwill be unable to mount file systems under
3363b3cff10cSYuri Pankov.Em tank/cindys .
3364b3cff10cSYuri PankovAdd an
3365b3cff10cSYuri Pankov.Sy ACE
3366b3cff10cSYuri Pankovsimilar to the following syntax to provide mount point access:
3367b3cff10cSYuri Pankov.Bd -literal
3368b3cff10cSYuri Pankov# chmod A+user:cindys:add_subdirectory:allow /tank/cindys
3369b3cff10cSYuri Pankov.Ed
3370b3cff10cSYuri Pankov.It Sy Example 18 No Delegating Create Time Permissions on a ZFS Dataset
3371b3cff10cSYuri PankovThe following example shows how to grant anyone in the group
3372b3cff10cSYuri Pankov.Sy staff
3373b3cff10cSYuri Pankovto create file systems in
3374b3cff10cSYuri Pankov.Em tank/users .
3375b3cff10cSYuri PankovThis syntax also allows staff members to destroy their own file systems, but not
3376b3cff10cSYuri Pankovdestroy anyone else's file system. The permissions on
3377b3cff10cSYuri Pankov.Em tank/users
3378b3cff10cSYuri Pankovare also displayed.
3379b3cff10cSYuri Pankov.Bd -literal
3380b3cff10cSYuri Pankov# zfs allow staff create,mount tank/users
3381b3cff10cSYuri Pankov# zfs allow -c destroy tank/users
3382b3cff10cSYuri Pankov# zfs allow tank/users
33835619b3f8SMarcel Telka---- Permissions on tank/users ---------------------------------------
33845619b3f8SMarcel TelkaPermission sets:
33855619b3f8SMarcel Telka        destroy
33865619b3f8SMarcel TelkaLocal+Descendent permissions:
3387c10c16deSRichard Lowe        group staff create,mount
3388b3cff10cSYuri Pankov.Ed
3389b3cff10cSYuri Pankov.It Sy Example 19 No Defining and Granting a Permission Set on a ZFS Dataset
3390c10c16deSRichard LoweThe following example shows how to define and grant a permission set on the
3391b3cff10cSYuri Pankov.Em tank/users
3392b3cff10cSYuri Pankovfile system. The permissions on
3393b3cff10cSYuri Pankov.Em tank/users
3394b3cff10cSYuri Pankovare also displayed.
3395b3cff10cSYuri Pankov.Bd -literal
3396b3cff10cSYuri Pankov# zfs allow -s @pset create,destroy,snapshot,mount tank/users
3397b3cff10cSYuri Pankov# zfs allow staff @pset tank/users
3398b3cff10cSYuri Pankov# zfs allow tank/users
33995619b3f8SMarcel Telka---- Permissions on tank/users ---------------------------------------
34005619b3f8SMarcel TelkaPermission sets:
3401c10c16deSRichard Lowe        @pset create,destroy,mount,snapshot
34025619b3f8SMarcel TelkaLocal+Descendent permissions:
34035619b3f8SMarcel Telka        group staff @pset
3404b3cff10cSYuri Pankov.Ed
3405b3cff10cSYuri Pankov.It Sy Example 20 No Delegating Property Permissions on a ZFS Dataset
3406c10c16deSRichard LoweThe following example shows to grant the ability to set quotas and reservations
3407b3cff10cSYuri Pankovon the
3408b3cff10cSYuri Pankov.Em users/home
3409b3cff10cSYuri Pankovfile system. The permissions on
3410b3cff10cSYuri Pankov.Em users/home
3411b3cff10cSYuri Pankovare also displayed.
3412b3cff10cSYuri Pankov.Bd -literal
3413b3cff10cSYuri Pankov# zfs allow cindys quota,reservation users/home
3414b3cff10cSYuri Pankov# zfs allow users/home
34155619b3f8SMarcel Telka---- Permissions on users/home ---------------------------------------
34165619b3f8SMarcel TelkaLocal+Descendent permissions:
3417c10c16deSRichard Lowe        user cindys quota,reservation
3418b3cff10cSYuri Pankovcindys% zfs set quota=10G users/home/marks
3419b3cff10cSYuri Pankovcindys% zfs get quota users/home/marks
3420c10c16deSRichard LoweNAME              PROPERTY  VALUE  SOURCE
3421c10c16deSRichard Loweusers/home/marks  quota     10G    local
3422b3cff10cSYuri Pankov.Ed
3423b3cff10cSYuri Pankov.It Sy Example 21 No Removing ZFS Delegated Permissions on a ZFS Dataset
3424c10c16deSRichard LoweThe following example shows how to remove the snapshot permission from the
3425b3cff10cSYuri Pankov.Sy staff
3426b3cff10cSYuri Pankovgroup on the
3427b3cff10cSYuri Pankov.Em tank/users
3428b3cff10cSYuri Pankovfile system. The permissions on
3429b3cff10cSYuri Pankov.Em tank/users
3430b3cff10cSYuri Pankovare also displayed.
3431b3cff10cSYuri Pankov.Bd -literal
3432b3cff10cSYuri Pankov# zfs unallow staff snapshot tank/users
3433b3cff10cSYuri Pankov# zfs allow tank/users
34345619b3f8SMarcel Telka---- Permissions on tank/users ---------------------------------------
34355619b3f8SMarcel TelkaPermission sets:
3436c10c16deSRichard Lowe        @pset create,destroy,mount,snapshot
34375619b3f8SMarcel TelkaLocal+Descendent permissions:
34385619b3f8SMarcel Telka        group staff @pset
3439b3cff10cSYuri Pankov.Ed
3440b3cff10cSYuri Pankov.It Sy Example 22 No Showing the differences between a snapshot and a ZFS Dataset
34413b8be6bfSRichard LoweThe following example shows how to see what has changed between a prior
3442b3cff10cSYuri Pankovsnapshot of a ZFS dataset and its current state. The
3443b3cff10cSYuri Pankov.Fl F
3444b3cff10cSYuri Pankovoption is used to indicate type information for the files affected.
3445b3cff10cSYuri Pankov.Bd -literal
34463b8be6bfSRichard Lowe# zfs diff -F tank/test@before tank/test
34473b8be6bfSRichard LoweM       /       /tank/test/
34483b8be6bfSRichard LoweM       F       /tank/test/linked      (+1)
34493b8be6bfSRichard LoweR       F       /tank/test/oldname -> /tank/test/newname
34503b8be6bfSRichard Lowe-       F       /tank/test/deleted
34513b8be6bfSRichard Lowe+       F       /tank/test/created
34523b8be6bfSRichard LoweM       F       /tank/test/modified
3453b3cff10cSYuri Pankov.Ed
3454b3cff10cSYuri Pankov.El
3455b3cff10cSYuri Pankov.Sh INTERFACE STABILITY
3456b3cff10cSYuri Pankov.Sy Commited .
3457b3cff10cSYuri Pankov.Sh SEE ALSO
3458b3cff10cSYuri Pankov.Xr gzip 1,
3459b3cff10cSYuri Pankov.Xr ssh 1 ,
3460b3cff10cSYuri Pankov.Xr mount 1M ,
3461b3cff10cSYuri Pankov.Xr share 1M ,
3462b3cff10cSYuri Pankov.Xr sharemgr 1M ,
3463b3cff10cSYuri Pankov.Xr unshare 1M ,
3464b3cff10cSYuri Pankov.Xr zonecfg 1M ,
3465b3cff10cSYuri Pankov.Xr zpool 1M ,
3466b3cff10cSYuri Pankov.Xr chmod 2 ,
3467b3cff10cSYuri Pankov.Xr stat 2 ,
3468b3cff10cSYuri Pankov.Xr write 2 ,
3469b3cff10cSYuri Pankov.Xr fsync 3C ,
3470b3cff10cSYuri Pankov.Xr dfstab 4 ,
3471b3cff10cSYuri Pankov.Xr acl 5 ,
3472b3cff10cSYuri Pankov.Xr attributes 5
3473