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