xref: /freebsd-src/sys/contrib/openzfs/man/man7/zfsprops.7 (revision 3ff01b231dfa83d518854c63e7c9cd1debd1139e)
1*3ff01b23SMartin Matuska.\"
2*3ff01b23SMartin Matuska.\" CDDL HEADER START
3*3ff01b23SMartin Matuska.\"
4*3ff01b23SMartin Matuska.\" The contents of this file are subject to the terms of the
5*3ff01b23SMartin Matuska.\" Common Development and Distribution License (the "License").
6*3ff01b23SMartin Matuska.\" You may not use this file except in compliance with the License.
7*3ff01b23SMartin Matuska.\"
8*3ff01b23SMartin Matuska.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*3ff01b23SMartin Matuska.\" or http://www.opensolaris.org/os/licensing.
10*3ff01b23SMartin Matuska.\" See the License for the specific language governing permissions
11*3ff01b23SMartin Matuska.\" and limitations under the License.
12*3ff01b23SMartin Matuska.\"
13*3ff01b23SMartin Matuska.\" When distributing Covered Code, include this CDDL HEADER in each
14*3ff01b23SMartin Matuska.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*3ff01b23SMartin Matuska.\" If applicable, add the following below this CDDL HEADER, with the
16*3ff01b23SMartin Matuska.\" fields enclosed by brackets "[]" replaced with your own identifying
17*3ff01b23SMartin Matuska.\" information: Portions Copyright [yyyy] [name of copyright owner]
18*3ff01b23SMartin Matuska.\"
19*3ff01b23SMartin Matuska.\" CDDL HEADER END
20*3ff01b23SMartin Matuska.\"
21*3ff01b23SMartin Matuska.\" Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
22*3ff01b23SMartin Matuska.\" Copyright 2011 Joshua M. Clulow <josh@sysmgr.org>
23*3ff01b23SMartin Matuska.\" Copyright (c) 2011, 2019 by Delphix. All rights reserved.
24*3ff01b23SMartin Matuska.\" Copyright (c) 2011, Pawel Jakub Dawidek <pjd@FreeBSD.org>
25*3ff01b23SMartin Matuska.\" Copyright (c) 2012, Glen Barber <gjb@FreeBSD.org>
26*3ff01b23SMartin Matuska.\" Copyright (c) 2012, Bryan Drewery <bdrewery@FreeBSD.org>
27*3ff01b23SMartin Matuska.\" Copyright (c) 2013, Steven Hartland <smh@FreeBSD.org>
28*3ff01b23SMartin Matuska.\" Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
29*3ff01b23SMartin Matuska.\" Copyright (c) 2014, Joyent, Inc. All rights reserved.
30*3ff01b23SMartin Matuska.\" Copyright (c) 2014 by Adam Stevko. All rights reserved.
31*3ff01b23SMartin Matuska.\" Copyright (c) 2014 Integros [integros.com]
32*3ff01b23SMartin Matuska.\" Copyright (c) 2016 Nexenta Systems, Inc. All Rights Reserved.
33*3ff01b23SMartin Matuska.\" Copyright (c) 2014, Xin LI <delphij@FreeBSD.org>
34*3ff01b23SMartin Matuska.\" Copyright (c) 2014-2015, The FreeBSD Foundation, All Rights Reserved.
35*3ff01b23SMartin Matuska.\" Copyright 2019 Richard Laager. All rights reserved.
36*3ff01b23SMartin Matuska.\" Copyright 2018 Nexenta Systems, Inc.
37*3ff01b23SMartin Matuska.\" Copyright 2019 Joyent, Inc.
38*3ff01b23SMartin Matuska.\" Copyright (c) 2019, Kjeld Schouten-Lebbing
39*3ff01b23SMartin Matuska.\"
40*3ff01b23SMartin Matuska.Dd May 24, 2021
41*3ff01b23SMartin Matuska.Dt ZFSPROPS 7
42*3ff01b23SMartin Matuska.Os
43*3ff01b23SMartin Matuska.
44*3ff01b23SMartin Matuska.Sh NAME
45*3ff01b23SMartin Matuska.Nm zfsprops
46*3ff01b23SMartin Matuska.Nd native and user-defined properties of ZFS datasets
47*3ff01b23SMartin Matuska.
48*3ff01b23SMartin Matuska.Sh DESCRIPTION
49*3ff01b23SMartin MatuskaProperties are divided into two types, native properties and user-defined
50*3ff01b23SMartin Matuska.Po or
51*3ff01b23SMartin Matuska.Qq user
52*3ff01b23SMartin Matuska.Pc
53*3ff01b23SMartin Matuskaproperties.
54*3ff01b23SMartin MatuskaNative properties either export internal statistics or control ZFS behavior.
55*3ff01b23SMartin MatuskaIn addition, native properties are either editable or read-only.
56*3ff01b23SMartin MatuskaUser properties have no effect on ZFS behavior, but you can use them to annotate
57*3ff01b23SMartin Matuskadatasets in a way that is meaningful in your environment.
58*3ff01b23SMartin MatuskaFor more information about user properties, see the
59*3ff01b23SMartin Matuska.Sx User Properties
60*3ff01b23SMartin Matuskasection, below.
61*3ff01b23SMartin Matuska.
62*3ff01b23SMartin Matuska.Ss Native Properties
63*3ff01b23SMartin MatuskaEvery dataset has a set of properties that export statistics about the dataset
64*3ff01b23SMartin Matuskaas well as control various behaviors.
65*3ff01b23SMartin MatuskaProperties are inherited from the parent unless overridden by the child.
66*3ff01b23SMartin MatuskaSome properties apply only to certain types of datasets
67*3ff01b23SMartin Matuska.Pq file systems, volumes, or snapshots .
68*3ff01b23SMartin Matuska.Pp
69*3ff01b23SMartin MatuskaThe values of numeric properties can be specified using human-readable suffixes
70*3ff01b23SMartin Matuska.Po for example,
71*3ff01b23SMartin Matuska.Sy k ,
72*3ff01b23SMartin Matuska.Sy KB ,
73*3ff01b23SMartin Matuska.Sy M ,
74*3ff01b23SMartin Matuska.Sy Gb ,
75*3ff01b23SMartin Matuskaand so forth, up to
76*3ff01b23SMartin Matuska.Sy Z
77*3ff01b23SMartin Matuskafor zettabyte
78*3ff01b23SMartin Matuska.Pc .
79*3ff01b23SMartin MatuskaThe following are all valid
80*3ff01b23SMartin Matuska.Pq and equal
81*3ff01b23SMartin Matuskaspecifications:
82*3ff01b23SMartin Matuska.Li 1536M, 1.5g, 1.50GB .
83*3ff01b23SMartin Matuska.Pp
84*3ff01b23SMartin MatuskaThe values of non-numeric properties are case sensitive and must be lowercase,
85*3ff01b23SMartin Matuskaexcept for
86*3ff01b23SMartin Matuska.Sy mountpoint ,
87*3ff01b23SMartin Matuska.Sy sharenfs ,
88*3ff01b23SMartin Matuskaand
89*3ff01b23SMartin Matuska.Sy sharesmb .
90*3ff01b23SMartin Matuska.Pp
91*3ff01b23SMartin MatuskaThe following native properties consist of read-only statistics about the
92*3ff01b23SMartin Matuskadataset.
93*3ff01b23SMartin MatuskaThese properties can be neither set, nor inherited.
94*3ff01b23SMartin MatuskaNative properties apply to all dataset types unless otherwise noted.
95*3ff01b23SMartin Matuska.Bl -tag -width "usedbyrefreservation"
96*3ff01b23SMartin Matuska.It Sy available
97*3ff01b23SMartin MatuskaThe amount of space available to the dataset and all its children, assuming that
98*3ff01b23SMartin Matuskathere is no other activity in the pool.
99*3ff01b23SMartin MatuskaBecause space is shared within a pool, availability can be limited by any number
100*3ff01b23SMartin Matuskaof factors, including physical pool size, quotas, reservations, or other
101*3ff01b23SMartin Matuskadatasets within the pool.
102*3ff01b23SMartin Matuska.Pp
103*3ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
104*3ff01b23SMartin Matuska.Sy avail .
105*3ff01b23SMartin Matuska.It Sy compressratio
106*3ff01b23SMartin MatuskaFor non-snapshots, the compression ratio achieved for the
107*3ff01b23SMartin Matuska.Sy used
108*3ff01b23SMartin Matuskaspace of this dataset, expressed as a multiplier.
109*3ff01b23SMartin MatuskaThe
110*3ff01b23SMartin Matuska.Sy used
111*3ff01b23SMartin Matuskaproperty includes descendant datasets, and, for clones, does not include the
112*3ff01b23SMartin Matuskaspace shared with the origin snapshot.
113*3ff01b23SMartin MatuskaFor snapshots, the
114*3ff01b23SMartin Matuska.Sy compressratio
115*3ff01b23SMartin Matuskais the same as the
116*3ff01b23SMartin Matuska.Sy refcompressratio
117*3ff01b23SMartin Matuskaproperty.
118*3ff01b23SMartin MatuskaCompression can be turned on by running:
119*3ff01b23SMartin Matuska.Nm zfs Cm set Sy compression Ns = Ns Sy on Ar dataset .
120*3ff01b23SMartin MatuskaThe default value is
121*3ff01b23SMartin Matuska.Sy off .
122*3ff01b23SMartin Matuska.It Sy createtxg
123*3ff01b23SMartin MatuskaThe transaction group (txg) in which the dataset was created.
124*3ff01b23SMartin MatuskaBookmarks have the same
125*3ff01b23SMartin Matuska.Sy createtxg
126*3ff01b23SMartin Matuskaas the snapshot they are initially tied to.
127*3ff01b23SMartin MatuskaThis property is suitable for ordering a list of snapshots,
128*3ff01b23SMartin Matuskae.g. for incremental send and receive.
129*3ff01b23SMartin Matuska.It Sy creation
130*3ff01b23SMartin MatuskaThe time this dataset was created.
131*3ff01b23SMartin Matuska.It Sy clones
132*3ff01b23SMartin MatuskaFor snapshots, this property is a comma-separated list of filesystems or volumes
133*3ff01b23SMartin Matuskawhich are clones of this snapshot.
134*3ff01b23SMartin MatuskaThe clones'
135*3ff01b23SMartin Matuska.Sy origin
136*3ff01b23SMartin Matuskaproperty is this snapshot.
137*3ff01b23SMartin MatuskaIf the
138*3ff01b23SMartin Matuska.Sy clones
139*3ff01b23SMartin Matuskaproperty is not empty, then this snapshot can not be destroyed
140*3ff01b23SMartin Matuska.Po even with the
141*3ff01b23SMartin Matuska.Fl r
142*3ff01b23SMartin Matuskaor
143*3ff01b23SMartin Matuska.Fl f
144*3ff01b23SMartin Matuskaoptions
145*3ff01b23SMartin Matuska.Pc .
146*3ff01b23SMartin MatuskaThe roles of origin and clone can be swapped by promoting the clone with the
147*3ff01b23SMartin Matuska.Nm zfs Cm promote
148*3ff01b23SMartin Matuskacommand.
149*3ff01b23SMartin Matuska.It Sy defer_destroy
150*3ff01b23SMartin MatuskaThis property is
151*3ff01b23SMartin Matuska.Sy on
152*3ff01b23SMartin Matuskaif the snapshot has been marked for deferred destroy by using the
153*3ff01b23SMartin Matuska.Nm zfs Cm destroy Fl d
154*3ff01b23SMartin Matuskacommand.
155*3ff01b23SMartin MatuskaOtherwise, the property is
156*3ff01b23SMartin Matuska.Sy off .
157*3ff01b23SMartin Matuska.It Sy encryptionroot
158*3ff01b23SMartin MatuskaFor encrypted datasets, indicates where the dataset is currently inheriting its
159*3ff01b23SMartin Matuskaencryption key from.
160*3ff01b23SMartin MatuskaLoading or unloading a key for the
161*3ff01b23SMartin Matuska.Sy encryptionroot
162*3ff01b23SMartin Matuskawill implicitly load / unload the key for any inheriting datasets (see
163*3ff01b23SMartin Matuska.Nm zfs Cm load-key
164*3ff01b23SMartin Matuskaand
165*3ff01b23SMartin Matuska.Nm zfs Cm unload-key
166*3ff01b23SMartin Matuskafor details).
167*3ff01b23SMartin MatuskaClones will always share an
168*3ff01b23SMartin Matuskaencryption key with their origin.
169*3ff01b23SMartin MatuskaSee the
170*3ff01b23SMartin Matuska.Sx Encryption
171*3ff01b23SMartin Matuskasection of
172*3ff01b23SMartin Matuska.Xr zfs-load-key 8
173*3ff01b23SMartin Matuskafor details.
174*3ff01b23SMartin Matuska.It Sy filesystem_count
175*3ff01b23SMartin MatuskaThe total number of filesystems and volumes that exist under this location in
176*3ff01b23SMartin Matuskathe dataset tree.
177*3ff01b23SMartin MatuskaThis value is only available when a
178*3ff01b23SMartin Matuska.Sy filesystem_limit
179*3ff01b23SMartin Matuskahas been set somewhere in the tree under which the dataset resides.
180*3ff01b23SMartin Matuska.It Sy keystatus
181*3ff01b23SMartin MatuskaIndicates if an encryption key is currently loaded into ZFS.
182*3ff01b23SMartin MatuskaThe possible values are
183*3ff01b23SMartin Matuska.Sy none ,
184*3ff01b23SMartin Matuska.Sy available ,
185*3ff01b23SMartin Matuskaand
186*3ff01b23SMartin Matuska.Sy unavailable .
187*3ff01b23SMartin MatuskaSee
188*3ff01b23SMartin Matuska.Nm zfs Cm load-key
189*3ff01b23SMartin Matuskaand
190*3ff01b23SMartin Matuska.Nm zfs Cm unload-key .
191*3ff01b23SMartin Matuska.It Sy guid
192*3ff01b23SMartin MatuskaThe 64 bit GUID of this dataset or bookmark which does not change over its
193*3ff01b23SMartin Matuskaentire lifetime.
194*3ff01b23SMartin MatuskaWhen a snapshot is sent to another pool, the received snapshot has the same GUID.
195*3ff01b23SMartin MatuskaThus, the
196*3ff01b23SMartin Matuska.Sy guid
197*3ff01b23SMartin Matuskais suitable to identify a snapshot across pools.
198*3ff01b23SMartin Matuska.It Sy logicalreferenced
199*3ff01b23SMartin MatuskaThe amount of space that is
200*3ff01b23SMartin Matuska.Qq logically
201*3ff01b23SMartin Matuskaaccessible by this dataset.
202*3ff01b23SMartin MatuskaSee the
203*3ff01b23SMartin Matuska.Sy referenced
204*3ff01b23SMartin Matuskaproperty.
205*3ff01b23SMartin MatuskaThe logical space ignores the effect of the
206*3ff01b23SMartin Matuska.Sy compression
207*3ff01b23SMartin Matuskaand
208*3ff01b23SMartin Matuska.Sy copies
209*3ff01b23SMartin Matuskaproperties, giving a quantity closer to the amount of data that applications
210*3ff01b23SMartin Matuskasee.
211*3ff01b23SMartin MatuskaHowever, it does include space consumed by metadata.
212*3ff01b23SMartin Matuska.Pp
213*3ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
214*3ff01b23SMartin Matuska.Sy lrefer .
215*3ff01b23SMartin Matuska.It Sy logicalused
216*3ff01b23SMartin MatuskaThe amount of space that is
217*3ff01b23SMartin Matuska.Qq logically
218*3ff01b23SMartin Matuskaconsumed by this dataset and all its descendents.
219*3ff01b23SMartin MatuskaSee the
220*3ff01b23SMartin Matuska.Sy used
221*3ff01b23SMartin Matuskaproperty.
222*3ff01b23SMartin MatuskaThe logical space ignores the effect of the
223*3ff01b23SMartin Matuska.Sy compression
224*3ff01b23SMartin Matuskaand
225*3ff01b23SMartin Matuska.Sy copies
226*3ff01b23SMartin Matuskaproperties, giving a quantity closer to the amount of data that applications
227*3ff01b23SMartin Matuskasee.
228*3ff01b23SMartin MatuskaHowever, it does include space consumed by metadata.
229*3ff01b23SMartin Matuska.Pp
230*3ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
231*3ff01b23SMartin Matuska.Sy lused .
232*3ff01b23SMartin Matuska.It Sy mounted
233*3ff01b23SMartin MatuskaFor file systems, indicates whether the file system is currently mounted.
234*3ff01b23SMartin MatuskaThis property can be either
235*3ff01b23SMartin Matuska.Sy yes
236*3ff01b23SMartin Matuskaor
237*3ff01b23SMartin Matuska.Sy no .
238*3ff01b23SMartin Matuska.It Sy objsetid
239*3ff01b23SMartin MatuskaA unique identifier for this dataset within the pool.
240*3ff01b23SMartin MatuskaUnlike the dataset's
241*3ff01b23SMartin Matuska.Sy guid , No the Sy objsetid
242*3ff01b23SMartin Matuskaof a dataset is not transferred to other pools when the snapshot is copied
243*3ff01b23SMartin Matuskawith a send/receive operation.
244*3ff01b23SMartin MatuskaThe
245*3ff01b23SMartin Matuska.Sy objsetid
246*3ff01b23SMartin Matuskacan be reused (for a new dataset) after the dataset is deleted.
247*3ff01b23SMartin Matuska.It Sy origin
248*3ff01b23SMartin MatuskaFor cloned file systems or volumes, the snapshot from which the clone was
249*3ff01b23SMartin Matuskacreated.
250*3ff01b23SMartin MatuskaSee also the
251*3ff01b23SMartin Matuska.Sy clones
252*3ff01b23SMartin Matuskaproperty.
253*3ff01b23SMartin Matuska.It Sy receive_resume_token
254*3ff01b23SMartin MatuskaFor filesystems or volumes which have saved partially-completed state from
255*3ff01b23SMartin Matuska.Nm zfs Cm receive Fl s ,
256*3ff01b23SMartin Matuskathis opaque token can be provided to
257*3ff01b23SMartin Matuska.Nm zfs Cm send Fl t
258*3ff01b23SMartin Matuskato resume and complete the
259*3ff01b23SMartin Matuska.Nm zfs Cm receive .
260*3ff01b23SMartin Matuska.It Sy redact_snaps
261*3ff01b23SMartin MatuskaFor bookmarks, this is the list of snapshot guids the bookmark contains a redaction
262*3ff01b23SMartin Matuskalist for.
263*3ff01b23SMartin MatuskaFor snapshots, this is the list of snapshot guids the snapshot is redacted with
264*3ff01b23SMartin Matuskarespect to.
265*3ff01b23SMartin Matuska.It Sy referenced
266*3ff01b23SMartin MatuskaThe amount of data that is accessible by this dataset, which may or may not be
267*3ff01b23SMartin Matuskashared with other datasets in the pool.
268*3ff01b23SMartin MatuskaWhen a snapshot or clone is created, it initially references the same amount of
269*3ff01b23SMartin Matuskaspace as the file system or snapshot it was created from, since its contents are
270*3ff01b23SMartin Matuskaidentical.
271*3ff01b23SMartin Matuska.Pp
272*3ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
273*3ff01b23SMartin Matuska.Sy refer .
274*3ff01b23SMartin Matuska.It Sy refcompressratio
275*3ff01b23SMartin MatuskaThe compression ratio achieved for the
276*3ff01b23SMartin Matuska.Sy referenced
277*3ff01b23SMartin Matuskaspace of this dataset, expressed as a multiplier.
278*3ff01b23SMartin MatuskaSee also the
279*3ff01b23SMartin Matuska.Sy compressratio
280*3ff01b23SMartin Matuskaproperty.
281*3ff01b23SMartin Matuska.It Sy snapshot_count
282*3ff01b23SMartin MatuskaThe total number of snapshots that exist under this location in the dataset
283*3ff01b23SMartin Matuskatree.
284*3ff01b23SMartin MatuskaThis value is only available when a
285*3ff01b23SMartin Matuska.Sy snapshot_limit
286*3ff01b23SMartin Matuskahas been set somewhere in the tree under which the dataset resides.
287*3ff01b23SMartin Matuska.It Sy type
288*3ff01b23SMartin MatuskaThe type of dataset:
289*3ff01b23SMartin Matuska.Sy filesystem ,
290*3ff01b23SMartin Matuska.Sy volume ,
291*3ff01b23SMartin Matuska.Sy snapshot ,
292*3ff01b23SMartin Matuskaor
293*3ff01b23SMartin Matuska.Sy bookmark .
294*3ff01b23SMartin Matuska.It Sy used
295*3ff01b23SMartin MatuskaThe amount of space consumed by this dataset and all its descendents.
296*3ff01b23SMartin MatuskaThis is the value that is checked against this dataset's quota and reservation.
297*3ff01b23SMartin MatuskaThe space used does not include this dataset's reservation, but does take into
298*3ff01b23SMartin Matuskaaccount the reservations of any descendent datasets.
299*3ff01b23SMartin MatuskaThe amount of space that a dataset consumes from its parent, as well as the
300*3ff01b23SMartin Matuskaamount of space that is freed if this dataset is recursively destroyed, is the
301*3ff01b23SMartin Matuskagreater of its space used and its reservation.
302*3ff01b23SMartin Matuska.Pp
303*3ff01b23SMartin MatuskaThe used space of a snapshot
304*3ff01b23SMartin Matuska.Po see the
305*3ff01b23SMartin Matuska.Sx Snapshots
306*3ff01b23SMartin Matuskasection of
307*3ff01b23SMartin Matuska.Xr zfsconcepts 7
308*3ff01b23SMartin Matuska.Pc
309*3ff01b23SMartin Matuskais space that is referenced exclusively by this snapshot.
310*3ff01b23SMartin MatuskaIf this snapshot is destroyed, the amount of
311*3ff01b23SMartin Matuska.Sy used
312*3ff01b23SMartin Matuskaspace will be freed.
313*3ff01b23SMartin MatuskaSpace that is shared by multiple snapshots isn't accounted for in this metric.
314*3ff01b23SMartin MatuskaWhen a snapshot is destroyed, space that was previously shared with this
315*3ff01b23SMartin Matuskasnapshot can become unique to snapshots adjacent to it, thus changing the used
316*3ff01b23SMartin Matuskaspace of those snapshots.
317*3ff01b23SMartin MatuskaThe used space of the latest snapshot can also be affected by changes in the
318*3ff01b23SMartin Matuskafile system.
319*3ff01b23SMartin MatuskaNote that the
320*3ff01b23SMartin Matuska.Sy used
321*3ff01b23SMartin Matuskaspace of a snapshot is a subset of the
322*3ff01b23SMartin Matuska.Sy written
323*3ff01b23SMartin Matuskaspace of the snapshot.
324*3ff01b23SMartin Matuska.Pp
325*3ff01b23SMartin MatuskaThe amount of space used, available, or referenced does not take into account
326*3ff01b23SMartin Matuskapending changes.
327*3ff01b23SMartin MatuskaPending changes are generally accounted for within a few seconds.
328*3ff01b23SMartin MatuskaCommitting a change to a disk using
329*3ff01b23SMartin Matuska.Xr fsync 2
330*3ff01b23SMartin Matuskaor
331*3ff01b23SMartin Matuska.Sy O_SYNC
332*3ff01b23SMartin Matuskadoes not necessarily guarantee that the space usage information is updated
333*3ff01b23SMartin Matuskaimmediately.
334*3ff01b23SMartin Matuska.It Sy usedby*
335*3ff01b23SMartin MatuskaThe
336*3ff01b23SMartin Matuska.Sy usedby*
337*3ff01b23SMartin Matuskaproperties decompose the
338*3ff01b23SMartin Matuska.Sy used
339*3ff01b23SMartin Matuskaproperties into the various reasons that space is used.
340*3ff01b23SMartin MatuskaSpecifically,
341*3ff01b23SMartin Matuska.Sy used No =
342*3ff01b23SMartin Matuska.Sy usedbychildren No +
343*3ff01b23SMartin Matuska.Sy usedbydataset No +
344*3ff01b23SMartin Matuska.Sy usedbyrefreservation No +
345*3ff01b23SMartin Matuska.Sy usedbysnapshots .
346*3ff01b23SMartin MatuskaThese properties are only available for datasets created on
347*3ff01b23SMartin Matuska.Nm zpool
348*3ff01b23SMartin Matuska.Qo version 13 Qc
349*3ff01b23SMartin Matuskapools.
350*3ff01b23SMartin Matuska.It Sy usedbychildren
351*3ff01b23SMartin MatuskaThe amount of space used by children of this dataset, which would be freed if
352*3ff01b23SMartin Matuskaall the dataset's children were destroyed.
353*3ff01b23SMartin Matuska.It Sy usedbydataset
354*3ff01b23SMartin MatuskaThe amount of space used by this dataset itself, which would be freed if the
355*3ff01b23SMartin Matuskadataset were destroyed
356*3ff01b23SMartin Matuska.Po after first removing any
357*3ff01b23SMartin Matuska.Sy refreservation
358*3ff01b23SMartin Matuskaand destroying any necessary snapshots or descendents
359*3ff01b23SMartin Matuska.Pc .
360*3ff01b23SMartin Matuska.It Sy usedbyrefreservation
361*3ff01b23SMartin MatuskaThe amount of space used by a
362*3ff01b23SMartin Matuska.Sy refreservation
363*3ff01b23SMartin Matuskaset on this dataset, which would be freed if the
364*3ff01b23SMartin Matuska.Sy refreservation
365*3ff01b23SMartin Matuskawas removed.
366*3ff01b23SMartin Matuska.It Sy usedbysnapshots
367*3ff01b23SMartin MatuskaThe amount of space consumed by snapshots of this dataset.
368*3ff01b23SMartin MatuskaIn particular, it is the amount of space that would be freed if all of this
369*3ff01b23SMartin Matuskadataset's snapshots were destroyed.
370*3ff01b23SMartin MatuskaNote that this is not simply the sum of the snapshots'
371*3ff01b23SMartin Matuska.Sy used
372*3ff01b23SMartin Matuskaproperties because space can be shared by multiple snapshots.
373*3ff01b23SMartin Matuska.It Sy userused Ns @ Ns Ar user
374*3ff01b23SMartin MatuskaThe amount of space consumed by the specified user in this dataset.
375*3ff01b23SMartin MatuskaSpace is charged to the owner of each file, as displayed by
376*3ff01b23SMartin Matuska.Nm ls Fl l .
377*3ff01b23SMartin MatuskaThe amount of space charged is displayed by
378*3ff01b23SMartin Matuska.Nm du No and Nm ls Fl s .
379*3ff01b23SMartin MatuskaSee the
380*3ff01b23SMartin Matuska.Nm zfs Cm userspace
381*3ff01b23SMartin Matuskacommand for more information.
382*3ff01b23SMartin Matuska.Pp
383*3ff01b23SMartin MatuskaUnprivileged users can access only their own space usage.
384*3ff01b23SMartin MatuskaThe root user, or a user who has been granted the
385*3ff01b23SMartin Matuska.Sy userused
386*3ff01b23SMartin Matuskaprivilege with
387*3ff01b23SMartin Matuska.Nm zfs Cm allow ,
388*3ff01b23SMartin Matuskacan access everyone's usage.
389*3ff01b23SMartin Matuska.Pp
390*3ff01b23SMartin MatuskaThe
391*3ff01b23SMartin Matuska.Sy userused Ns @ Ns Ar ...
392*3ff01b23SMartin Matuskaproperties are not displayed by
393*3ff01b23SMartin Matuska.Nm zfs Cm get Sy all .
394*3ff01b23SMartin MatuskaThe user's name must be appended after the
395*3ff01b23SMartin Matuska.Sy @
396*3ff01b23SMartin Matuskasymbol, using one of the following forms:
397*3ff01b23SMartin Matuska.Bl -bullet -compact -offset 4n
398*3ff01b23SMartin Matuska.It
399*3ff01b23SMartin MatuskaPOSIX name
400*3ff01b23SMartin Matuska.Pq Qq joe
401*3ff01b23SMartin Matuska.It
402*3ff01b23SMartin MatuskaPOSIX numeric ID
403*3ff01b23SMartin Matuska.Pq Qq 789
404*3ff01b23SMartin Matuska.It
405*3ff01b23SMartin MatuskaSID name
406*3ff01b23SMartin Matuska.Pq Qq joe.smith@mydomain
407*3ff01b23SMartin Matuska.It
408*3ff01b23SMartin MatuskaSID numeric ID
409*3ff01b23SMartin Matuska.Pq Qq S-1-123-456-789
410*3ff01b23SMartin Matuska.El
411*3ff01b23SMartin Matuska.Pp
412*3ff01b23SMartin MatuskaFiles created on Linux always have POSIX owners.
413*3ff01b23SMartin Matuska.It Sy userobjused Ns @ Ns Ar user
414*3ff01b23SMartin MatuskaThe
415*3ff01b23SMartin Matuska.Sy userobjused
416*3ff01b23SMartin Matuskaproperty is similar to
417*3ff01b23SMartin Matuska.Sy userused
418*3ff01b23SMartin Matuskabut instead it counts the number of objects consumed by a user.
419*3ff01b23SMartin MatuskaThis property counts all objects allocated on behalf of the user,
420*3ff01b23SMartin Matuskait may differ from the results of system tools such as
421*3ff01b23SMartin Matuska.Nm df Fl i .
422*3ff01b23SMartin Matuska.Pp
423*3ff01b23SMartin MatuskaWhen the property
424*3ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy on
425*3ff01b23SMartin Matuskais set on a file system additional objects will be created per-file to store
426*3ff01b23SMartin Matuskaextended attributes.
427*3ff01b23SMartin MatuskaThese additional objects are reflected in the
428*3ff01b23SMartin Matuska.Sy userobjused
429*3ff01b23SMartin Matuskavalue and are counted against the user's
430*3ff01b23SMartin Matuska.Sy userobjquota .
431*3ff01b23SMartin MatuskaWhen a file system is configured to use
432*3ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa
433*3ff01b23SMartin Matuskano additional internal objects are normally required.
434*3ff01b23SMartin Matuska.It Sy userrefs
435*3ff01b23SMartin MatuskaThis property is set to the number of user holds on this snapshot.
436*3ff01b23SMartin MatuskaUser holds are set by using the
437*3ff01b23SMartin Matuska.Nm zfs Cm hold
438*3ff01b23SMartin Matuskacommand.
439*3ff01b23SMartin Matuska.It Sy groupused Ns @ Ns Ar group
440*3ff01b23SMartin MatuskaThe amount of space consumed by the specified group in this dataset.
441*3ff01b23SMartin MatuskaSpace is charged to the group of each file, as displayed by
442*3ff01b23SMartin Matuska.Nm ls Fl l .
443*3ff01b23SMartin MatuskaSee the
444*3ff01b23SMartin Matuska.Sy userused Ns @ Ns Ar user
445*3ff01b23SMartin Matuskaproperty for more information.
446*3ff01b23SMartin Matuska.Pp
447*3ff01b23SMartin MatuskaUnprivileged users can only access their own groups' space usage.
448*3ff01b23SMartin MatuskaThe root user, or a user who has been granted the
449*3ff01b23SMartin Matuska.Sy groupused
450*3ff01b23SMartin Matuskaprivilege with
451*3ff01b23SMartin Matuska.Nm zfs Cm allow ,
452*3ff01b23SMartin Matuskacan access all groups' usage.
453*3ff01b23SMartin Matuska.It Sy groupobjused Ns @ Ns Ar group
454*3ff01b23SMartin MatuskaThe number of objects consumed by the specified group in this dataset.
455*3ff01b23SMartin MatuskaMultiple objects may be charged to the group for each file when extended
456*3ff01b23SMartin Matuskaattributes are in use.
457*3ff01b23SMartin MatuskaSee the
458*3ff01b23SMartin Matuska.Sy userobjused Ns @ Ns Ar user
459*3ff01b23SMartin Matuskaproperty for more information.
460*3ff01b23SMartin Matuska.Pp
461*3ff01b23SMartin MatuskaUnprivileged users can only access their own groups' space usage.
462*3ff01b23SMartin MatuskaThe root user, or a user who has been granted the
463*3ff01b23SMartin Matuska.Sy groupobjused
464*3ff01b23SMartin Matuskaprivilege with
465*3ff01b23SMartin Matuska.Nm zfs Cm allow ,
466*3ff01b23SMartin Matuskacan access all groups' usage.
467*3ff01b23SMartin Matuska.It Sy projectused Ns @ Ns Ar project
468*3ff01b23SMartin MatuskaThe amount of space consumed by the specified project in this dataset.
469*3ff01b23SMartin MatuskaProject is identified via the project identifier (ID) that is object-based
470*3ff01b23SMartin Matuskanumeral attribute.
471*3ff01b23SMartin MatuskaAn object can inherit the project ID from its parent object (if the
472*3ff01b23SMartin Matuskaparent has the flag of inherit project ID that can be set and changed via
473*3ff01b23SMartin Matuska.Nm chattr Fl /+P
474*3ff01b23SMartin Matuskaor
475*3ff01b23SMartin Matuska.Nm zfs project Fl s )
476*3ff01b23SMartin Matuskawhen being created.
477*3ff01b23SMartin MatuskaThe privileged user can set and change object's project
478*3ff01b23SMartin MatuskaID via
479*3ff01b23SMartin Matuska.Nm chattr Fl p
480*3ff01b23SMartin Matuskaor
481*3ff01b23SMartin Matuska.Nm zfs project Fl s
482*3ff01b23SMartin Matuskaanytime.
483*3ff01b23SMartin MatuskaSpace is charged to the project of each file, as displayed by
484*3ff01b23SMartin Matuska.Nm lsattr Fl p
485*3ff01b23SMartin Matuskaor
486*3ff01b23SMartin Matuska.Nm zfs project .
487*3ff01b23SMartin MatuskaSee the
488*3ff01b23SMartin Matuska.Sy userused Ns @ Ns Ar user
489*3ff01b23SMartin Matuskaproperty for more information.
490*3ff01b23SMartin Matuska.Pp
491*3ff01b23SMartin MatuskaThe root user, or a user who has been granted the
492*3ff01b23SMartin Matuska.Sy projectused
493*3ff01b23SMartin Matuskaprivilege with
494*3ff01b23SMartin Matuska.Nm zfs allow ,
495*3ff01b23SMartin Matuskacan access all projects' usage.
496*3ff01b23SMartin Matuska.It Sy projectobjused Ns @ Ns Ar project
497*3ff01b23SMartin MatuskaThe
498*3ff01b23SMartin Matuska.Sy projectobjused
499*3ff01b23SMartin Matuskais similar to
500*3ff01b23SMartin Matuska.Sy projectused
501*3ff01b23SMartin Matuskabut instead it counts the number of objects consumed by project.
502*3ff01b23SMartin MatuskaWhen the property
503*3ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy on
504*3ff01b23SMartin Matuskais set on a fileset, ZFS will create additional objects per-file to store
505*3ff01b23SMartin Matuskaextended attributes.
506*3ff01b23SMartin MatuskaThese additional objects are reflected in the
507*3ff01b23SMartin Matuska.Sy projectobjused
508*3ff01b23SMartin Matuskavalue and are counted against the project's
509*3ff01b23SMartin Matuska.Sy projectobjquota .
510*3ff01b23SMartin MatuskaWhen a filesystem is configured to use
511*3ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa
512*3ff01b23SMartin Matuskano additional internal objects are required.
513*3ff01b23SMartin MatuskaSee the
514*3ff01b23SMartin Matuska.Sy userobjused Ns @ Ns Ar user
515*3ff01b23SMartin Matuskaproperty for more information.
516*3ff01b23SMartin Matuska.Pp
517*3ff01b23SMartin MatuskaThe root user, or a user who has been granted the
518*3ff01b23SMartin Matuska.Sy projectobjused
519*3ff01b23SMartin Matuskaprivilege with
520*3ff01b23SMartin Matuska.Nm zfs allow ,
521*3ff01b23SMartin Matuskacan access all projects' objects usage.
522*3ff01b23SMartin Matuska.It Sy volblocksize
523*3ff01b23SMartin MatuskaFor volumes, specifies the block size of the volume.
524*3ff01b23SMartin MatuskaThe
525*3ff01b23SMartin Matuska.Sy blocksize
526*3ff01b23SMartin Matuskacannot be changed once the volume has been written, so it should be set at
527*3ff01b23SMartin Matuskavolume creation time.
528*3ff01b23SMartin MatuskaThe default
529*3ff01b23SMartin Matuska.Sy blocksize
530*3ff01b23SMartin Matuskafor volumes is 8 Kbytes.
531*3ff01b23SMartin MatuskaAny power of 2 from 512 bytes to 128 Kbytes is valid.
532*3ff01b23SMartin Matuska.Pp
533*3ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
534*3ff01b23SMartin Matuska.Sy volblock .
535*3ff01b23SMartin Matuska.It Sy written
536*3ff01b23SMartin MatuskaThe amount of space
537*3ff01b23SMartin Matuska.Sy referenced
538*3ff01b23SMartin Matuskaby this dataset, that was written since the previous snapshot
539*3ff01b23SMartin Matuska.Pq i.e. that is not referenced by the previous snapshot .
540*3ff01b23SMartin Matuska.It Sy written Ns @ Ns Ar snapshot
541*3ff01b23SMartin MatuskaThe amount of
542*3ff01b23SMartin Matuska.Sy referenced
543*3ff01b23SMartin Matuskaspace written to this dataset since the specified snapshot.
544*3ff01b23SMartin MatuskaThis is the space that is referenced by this dataset but was not referenced by
545*3ff01b23SMartin Matuskathe specified snapshot.
546*3ff01b23SMartin Matuska.Pp
547*3ff01b23SMartin MatuskaThe
548*3ff01b23SMartin Matuska.Ar snapshot
549*3ff01b23SMartin Matuskamay be specified as a short snapshot name
550*3ff01b23SMartin Matuska.Pq just the part after the Sy @ ,
551*3ff01b23SMartin Matuskain which case it will be interpreted as a snapshot in the same filesystem as
552*3ff01b23SMartin Matuskathis dataset.
553*3ff01b23SMartin MatuskaThe
554*3ff01b23SMartin Matuska.Ar snapshot
555*3ff01b23SMartin Matuskamay be a full snapshot name
556*3ff01b23SMartin Matuska.Pq Ar filesystem Ns @ Ns Ar snapshot ,
557*3ff01b23SMartin Matuskawhich for clones may be a snapshot in the origin's filesystem
558*3ff01b23SMartin Matuska.Pq or the origin of the origin's filesystem, etc.
559*3ff01b23SMartin Matuska.El
560*3ff01b23SMartin Matuska.Pp
561*3ff01b23SMartin MatuskaThe following native properties can be used to change the behavior of a ZFS
562*3ff01b23SMartin Matuskadataset.
563*3ff01b23SMartin Matuska.Bl -tag -width ""
564*3ff01b23SMartin Matuska.It Xo
565*3ff01b23SMartin Matuska.Sy aclinherit Ns = Ns Sy discard Ns | Ns Sy noallow Ns | Ns
566*3ff01b23SMartin Matuska.Sy restricted Ns | Ns Sy passthrough Ns | Ns Sy passthrough-x
567*3ff01b23SMartin Matuska.Xc
568*3ff01b23SMartin MatuskaControls how ACEs are inherited when files and directories are created.
569*3ff01b23SMartin Matuska.Bl -tag -compact -offset 4n -width "passthrough-x"
570*3ff01b23SMartin Matuska.It Sy discard
571*3ff01b23SMartin Matuskadoes not inherit any ACEs.
572*3ff01b23SMartin Matuska.It Sy noallow
573*3ff01b23SMartin Matuskaonly inherits inheritable ACEs that specify
574*3ff01b23SMartin Matuska.Qq deny
575*3ff01b23SMartin Matuskapermissions.
576*3ff01b23SMartin Matuska.It Sy restricted
577*3ff01b23SMartin Matuskadefault, removes the
578*3ff01b23SMartin Matuska.Sy write_acl
579*3ff01b23SMartin Matuskaand
580*3ff01b23SMartin Matuska.Sy write_owner
581*3ff01b23SMartin Matuskapermissions when the ACE is inherited.
582*3ff01b23SMartin Matuska.It Sy passthrough
583*3ff01b23SMartin Matuskainherits all inheritable ACEs without any modifications.
584*3ff01b23SMartin Matuska.It Sy passthrough-x
585*3ff01b23SMartin Matuskasame meaning as
586*3ff01b23SMartin Matuska.Sy passthrough ,
587*3ff01b23SMartin Matuskaexcept that the
588*3ff01b23SMartin Matuska.Sy owner@ , group@ , No and Sy everyone@
589*3ff01b23SMartin MatuskaACEs inherit the execute permission only if the file creation mode also requests
590*3ff01b23SMartin Matuskathe execute bit.
591*3ff01b23SMartin Matuska.El
592*3ff01b23SMartin Matuska.Pp
593*3ff01b23SMartin MatuskaWhen the property value is set to
594*3ff01b23SMartin Matuska.Sy passthrough ,
595*3ff01b23SMartin Matuskafiles are created with a mode determined by the inheritable ACEs.
596*3ff01b23SMartin MatuskaIf no inheritable ACEs exist that affect the mode, then the mode is set in
597*3ff01b23SMartin Matuskaaccordance to the requested mode from the application.
598*3ff01b23SMartin Matuska.Pp
599*3ff01b23SMartin MatuskaThe
600*3ff01b23SMartin Matuska.Sy aclinherit
601*3ff01b23SMartin Matuskaproperty does not apply to POSIX ACLs.
602*3ff01b23SMartin Matuska.It Xo
603*3ff01b23SMartin Matuska.Sy aclmode Ns = Ns Sy discard Ns | Ns Sy groupmask Ns | Ns
604*3ff01b23SMartin Matuska.Sy passthrough Ns | Ns Sy restricted Ns
605*3ff01b23SMartin Matuska.Xc
606*3ff01b23SMartin MatuskaControls how an ACL is modified during chmod(2) and how inherited ACEs
607*3ff01b23SMartin Matuskaare modified by the file creation mode:
608*3ff01b23SMartin Matuska.Bl -tag -compact -offset 4n -width "passthrough"
609*3ff01b23SMartin Matuska.It Sy discard
610*3ff01b23SMartin Matuskadefault, deletes all
611*3ff01b23SMartin Matuska.Sy ACEs
612*3ff01b23SMartin Matuskaexcept for those representing
613*3ff01b23SMartin Matuskathe mode of the file or directory requested by
614*3ff01b23SMartin Matuska.Xr chmod 2 .
615*3ff01b23SMartin Matuska.It Sy groupmask
616*3ff01b23SMartin Matuskareduces permissions granted in all
617*3ff01b23SMartin Matuska.Sy ALLOW
618*3ff01b23SMartin Matuskaentries found in the
619*3ff01b23SMartin Matuska.Sy ACL
620*3ff01b23SMartin Matuskasuch that they are no greater than the group permissions specified by
621*3ff01b23SMartin Matuska.Xr chmod 2 .
622*3ff01b23SMartin Matuska.It Sy passthrough
623*3ff01b23SMartin Matuskaindicates that no changes are made to the ACL other than creating or updating
624*3ff01b23SMartin Matuskathe necessary ACL entries to represent the new mode of the file or directory.
625*3ff01b23SMartin Matuska.It Sy restricted
626*3ff01b23SMartin Matuskawill cause the
627*3ff01b23SMartin Matuska.Xr chmod 2
628*3ff01b23SMartin Matuskaoperation to return an error when used on any file or directory which has
629*3ff01b23SMartin Matuskaa non-trivial ACL whose entries can not be represented by a mode.
630*3ff01b23SMartin Matuska.Xr chmod 2
631*3ff01b23SMartin Matuskais required to change the set user ID, set group ID, or sticky bits on a file
632*3ff01b23SMartin Matuskaor directory, as they do not have equivalent ACL entries.
633*3ff01b23SMartin MatuskaIn order to use
634*3ff01b23SMartin Matuska.Xr chmod 2
635*3ff01b23SMartin Matuskaon a file or directory with a non-trivial ACL when
636*3ff01b23SMartin Matuska.Sy aclmode
637*3ff01b23SMartin Matuskais set to
638*3ff01b23SMartin Matuska.Sy restricted ,
639*3ff01b23SMartin Matuskayou must first remove all ACL entries which do not represent the current mode.
640*3ff01b23SMartin Matuska.El
641*3ff01b23SMartin Matuska.It Sy acltype Ns = Ns Sy off Ns | Ns Sy nfsv4 Ns | Ns Sy posix
642*3ff01b23SMartin MatuskaControls whether ACLs are enabled and if so what type of ACL to use.
643*3ff01b23SMartin MatuskaWhen this property is set to a type of ACL not supported by the current
644*3ff01b23SMartin Matuskaplatform, the behavior is the same as if it were set to
645*3ff01b23SMartin Matuska.Sy off .
646*3ff01b23SMartin Matuska.Bl -tag -compact -offset 4n -width "posixacl"
647*3ff01b23SMartin Matuska.It Sy off
648*3ff01b23SMartin Matuskadefault on Linux, when a file system has the
649*3ff01b23SMartin Matuska.Sy acltype
650*3ff01b23SMartin Matuskaproperty set to off then ACLs are disabled.
651*3ff01b23SMartin Matuska.It Sy noacl
652*3ff01b23SMartin Matuskaan alias for
653*3ff01b23SMartin Matuska.Sy off
654*3ff01b23SMartin Matuska.It Sy nfsv4
655*3ff01b23SMartin Matuskadefault on
656*3ff01b23SMartin Matuska.Fx ,
657*3ff01b23SMartin Matuskaindicates that NFSv4-style ZFS ACLs should be used.
658*3ff01b23SMartin MatuskaThese ACLs can be managed with the
659*3ff01b23SMartin Matuska.Xr getfacl 1
660*3ff01b23SMartin Matuskaand
661*3ff01b23SMartin Matuska.Xr setfacl 1 .
662*3ff01b23SMartin MatuskaThe
663*3ff01b23SMartin Matuska.Sy nfsv4
664*3ff01b23SMartin MatuskaZFS ACL type is not yet supported on Linux.
665*3ff01b23SMartin Matuska.It Sy posix
666*3ff01b23SMartin Matuskaindicates POSIX ACLs should be used.
667*3ff01b23SMartin MatuskaPOSIX ACLs are specific to Linux and are not functional on other platforms.
668*3ff01b23SMartin MatuskaPOSIX ACLs are stored as an extended
669*3ff01b23SMartin Matuskaattribute and therefore will not overwrite any existing NFSv4 ACLs which
670*3ff01b23SMartin Matuskamay be set.
671*3ff01b23SMartin Matuska.It Sy posixacl
672*3ff01b23SMartin Matuskaan alias for
673*3ff01b23SMartin Matuska.Sy posix
674*3ff01b23SMartin Matuska.El
675*3ff01b23SMartin Matuska.Pp
676*3ff01b23SMartin MatuskaTo obtain the best performance when setting
677*3ff01b23SMartin Matuska.Sy posix
678*3ff01b23SMartin Matuskausers are strongly encouraged to set the
679*3ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa
680*3ff01b23SMartin Matuskaproperty.
681*3ff01b23SMartin MatuskaThis will result in the POSIX ACL being stored more efficiently on disk.
682*3ff01b23SMartin MatuskaBut as a consequence, all new extended attributes will only be
683*3ff01b23SMartin Matuskaaccessible from OpenZFS implementations which support the
684*3ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa
685*3ff01b23SMartin Matuskaproperty.
686*3ff01b23SMartin MatuskaSee the
687*3ff01b23SMartin Matuska.Sy xattr
688*3ff01b23SMartin Matuskaproperty for more details.
689*3ff01b23SMartin Matuska.It Sy atime Ns = Ns Sy on Ns | Ns Sy off
690*3ff01b23SMartin MatuskaControls whether the access time for files is updated when they are read.
691*3ff01b23SMartin MatuskaTurning this property off avoids producing write traffic when reading files and
692*3ff01b23SMartin Matuskacan result in significant performance gains, though it might confuse mailers
693*3ff01b23SMartin Matuskaand other similar utilities.
694*3ff01b23SMartin MatuskaThe values
695*3ff01b23SMartin Matuska.Sy on
696*3ff01b23SMartin Matuskaand
697*3ff01b23SMartin Matuska.Sy off
698*3ff01b23SMartin Matuskaare equivalent to the
699*3ff01b23SMartin Matuska.Sy atime
700*3ff01b23SMartin Matuskaand
701*3ff01b23SMartin Matuska.Sy noatime
702*3ff01b23SMartin Matuskamount options.
703*3ff01b23SMartin MatuskaThe default value is
704*3ff01b23SMartin Matuska.Sy on .
705*3ff01b23SMartin MatuskaSee also
706*3ff01b23SMartin Matuska.Sy relatime
707*3ff01b23SMartin Matuskabelow.
708*3ff01b23SMartin Matuska.It Sy canmount Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy noauto
709*3ff01b23SMartin MatuskaIf this property is set to
710*3ff01b23SMartin Matuska.Sy off ,
711*3ff01b23SMartin Matuskathe file system cannot be mounted, and is ignored by
712*3ff01b23SMartin Matuska.Nm zfs Cm mount Fl a .
713*3ff01b23SMartin MatuskaSetting this property to
714*3ff01b23SMartin Matuska.Sy off
715*3ff01b23SMartin Matuskais similar to setting the
716*3ff01b23SMartin Matuska.Sy mountpoint
717*3ff01b23SMartin Matuskaproperty to
718*3ff01b23SMartin Matuska.Sy none ,
719*3ff01b23SMartin Matuskaexcept that the dataset still has a normal
720*3ff01b23SMartin Matuska.Sy mountpoint
721*3ff01b23SMartin Matuskaproperty, which can be inherited.
722*3ff01b23SMartin MatuskaSetting this property to
723*3ff01b23SMartin Matuska.Sy off
724*3ff01b23SMartin Matuskaallows datasets to be used solely as a mechanism to inherit properties.
725*3ff01b23SMartin MatuskaOne example of setting
726*3ff01b23SMartin Matuska.Sy canmount Ns = Ns Sy off
727*3ff01b23SMartin Matuskais to have two datasets with the same
728*3ff01b23SMartin Matuska.Sy mountpoint ,
729*3ff01b23SMartin Matuskaso that the children of both datasets appear in the same directory, but might
730*3ff01b23SMartin Matuskahave different inherited characteristics.
731*3ff01b23SMartin Matuska.Pp
732*3ff01b23SMartin MatuskaWhen set to
733*3ff01b23SMartin Matuska.Sy noauto ,
734*3ff01b23SMartin Matuskaa dataset can only be mounted and unmounted explicitly.
735*3ff01b23SMartin MatuskaThe dataset is not mounted automatically when the dataset is created or
736*3ff01b23SMartin Matuskaimported, nor is it mounted by the
737*3ff01b23SMartin Matuska.Nm zfs Cm mount Fl a
738*3ff01b23SMartin Matuskacommand or unmounted by the
739*3ff01b23SMartin Matuska.Nm zfs Cm unmount Fl a
740*3ff01b23SMartin Matuskacommand.
741*3ff01b23SMartin Matuska.Pp
742*3ff01b23SMartin MatuskaThis property is not inherited.
743*3ff01b23SMartin Matuska.It Xo
744*3ff01b23SMartin Matuska.Sy checksum Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy fletcher2 Ns | Ns
745*3ff01b23SMartin Matuska.Sy fletcher4 Ns | Ns Sy sha256 Ns | Ns Sy noparity Ns | Ns
746*3ff01b23SMartin Matuska.Sy sha512 Ns | Ns Sy skein Ns | Ns Sy edonr
747*3ff01b23SMartin Matuska.Xc
748*3ff01b23SMartin MatuskaControls the checksum used to verify data integrity.
749*3ff01b23SMartin MatuskaThe default value is
750*3ff01b23SMartin Matuska.Sy on ,
751*3ff01b23SMartin Matuskawhich automatically selects an appropriate algorithm
752*3ff01b23SMartin Matuska.Po currently,
753*3ff01b23SMartin Matuska.Sy fletcher4 ,
754*3ff01b23SMartin Matuskabut this may change in future releases
755*3ff01b23SMartin Matuska.Pc .
756*3ff01b23SMartin MatuskaThe value
757*3ff01b23SMartin Matuska.Sy off
758*3ff01b23SMartin Matuskadisables integrity checking on user data.
759*3ff01b23SMartin MatuskaThe value
760*3ff01b23SMartin Matuska.Sy noparity
761*3ff01b23SMartin Matuskanot only disables integrity but also disables maintaining parity for user data.
762*3ff01b23SMartin MatuskaThis setting is used internally by a dump device residing on a RAID-Z pool and
763*3ff01b23SMartin Matuskashould not be used by any other dataset.
764*3ff01b23SMartin MatuskaDisabling checksums is
765*3ff01b23SMartin Matuska.Em NOT
766*3ff01b23SMartin Matuskaa recommended practice.
767*3ff01b23SMartin Matuska.Pp
768*3ff01b23SMartin MatuskaThe
769*3ff01b23SMartin Matuska.Sy sha512 ,
770*3ff01b23SMartin Matuska.Sy skein ,
771*3ff01b23SMartin Matuskaand
772*3ff01b23SMartin Matuska.Sy edonr
773*3ff01b23SMartin Matuskachecksum algorithms require enabling the appropriate features on the pool.
774*3ff01b23SMartin Matuska.Fx
775*3ff01b23SMartin Matuskadoes not support the
776*3ff01b23SMartin Matuska.Sy edonr
777*3ff01b23SMartin Matuskaalgorithm.
778*3ff01b23SMartin Matuska.Pp
779*3ff01b23SMartin MatuskaPlease see
780*3ff01b23SMartin Matuska.Xr zpool-features 7
781*3ff01b23SMartin Matuskafor more information on these algorithms.
782*3ff01b23SMartin Matuska.Pp
783*3ff01b23SMartin MatuskaChanging this property affects only newly-written data.
784*3ff01b23SMartin Matuska.It Xo
785*3ff01b23SMartin Matuska.Sy compression Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy gzip Ns | Ns
786*3ff01b23SMartin Matuska.Sy gzip- Ns Ar N Ns | Ns Sy lz4 Ns | Ns Sy lzjb Ns | Ns Sy zle Ns | Ns Sy zstd Ns | Ns
787*3ff01b23SMartin Matuska.Sy zstd- Ns Ar N Ns | Ns Sy zstd-fast Ns | Ns Sy zstd-fast- Ns Ar N
788*3ff01b23SMartin Matuska.Xc
789*3ff01b23SMartin MatuskaControls the compression algorithm used for this dataset.
790*3ff01b23SMartin Matuska.Pp
791*3ff01b23SMartin MatuskaSetting compression to
792*3ff01b23SMartin Matuska.Sy on
793*3ff01b23SMartin Matuskaindicates that the current default compression algorithm should be used.
794*3ff01b23SMartin MatuskaThe default balances compression and decompression speed, with compression ratio
795*3ff01b23SMartin Matuskaand is expected to work well on a wide variety of workloads.
796*3ff01b23SMartin MatuskaUnlike all other settings for this property,
797*3ff01b23SMartin Matuska.Sy on
798*3ff01b23SMartin Matuskadoes not select a fixed compression type.
799*3ff01b23SMartin MatuskaAs new compression algorithms are added to ZFS and enabled on a pool, the
800*3ff01b23SMartin Matuskadefault compression algorithm may change.
801*3ff01b23SMartin MatuskaThe current default compression algorithm is either
802*3ff01b23SMartin Matuska.Sy lzjb
803*3ff01b23SMartin Matuskaor, if the
804*3ff01b23SMartin Matuska.Sy lz4_compress
805*3ff01b23SMartin Matuskafeature is enabled,
806*3ff01b23SMartin Matuska.Sy lz4 .
807*3ff01b23SMartin Matuska.Pp
808*3ff01b23SMartin MatuskaThe
809*3ff01b23SMartin Matuska.Sy lz4
810*3ff01b23SMartin Matuskacompression algorithm is a high-performance replacement for the
811*3ff01b23SMartin Matuska.Sy lzjb
812*3ff01b23SMartin Matuskaalgorithm.
813*3ff01b23SMartin MatuskaIt features significantly faster compression and decompression, as well as a
814*3ff01b23SMartin Matuskamoderately higher compression ratio than
815*3ff01b23SMartin Matuska.Sy lzjb ,
816*3ff01b23SMartin Matuskabut can only be used on pools with the
817*3ff01b23SMartin Matuska.Sy lz4_compress
818*3ff01b23SMartin Matuskafeature set to
819*3ff01b23SMartin Matuska.Sy enabled .
820*3ff01b23SMartin MatuskaSee
821*3ff01b23SMartin Matuska.Xr zpool-features 7
822*3ff01b23SMartin Matuskafor details on ZFS feature flags and the
823*3ff01b23SMartin Matuska.Sy lz4_compress
824*3ff01b23SMartin Matuskafeature.
825*3ff01b23SMartin Matuska.Pp
826*3ff01b23SMartin MatuskaThe
827*3ff01b23SMartin Matuska.Sy lzjb
828*3ff01b23SMartin Matuskacompression algorithm is optimized for performance while providing decent data
829*3ff01b23SMartin Matuskacompression.
830*3ff01b23SMartin Matuska.Pp
831*3ff01b23SMartin MatuskaThe
832*3ff01b23SMartin Matuska.Sy gzip
833*3ff01b23SMartin Matuskacompression algorithm uses the same compression as the
834*3ff01b23SMartin Matuska.Xr gzip 1
835*3ff01b23SMartin Matuskacommand.
836*3ff01b23SMartin MatuskaYou can specify the
837*3ff01b23SMartin Matuska.Sy gzip
838*3ff01b23SMartin Matuskalevel by using the value
839*3ff01b23SMartin Matuska.Sy gzip- Ns Ar N ,
840*3ff01b23SMartin Matuskawhere
841*3ff01b23SMartin Matuska.Ar N
842*3ff01b23SMartin Matuskais an integer from 1
843*3ff01b23SMartin Matuska.Pq fastest
844*3ff01b23SMartin Matuskato 9
845*3ff01b23SMartin Matuska.Pq best compression ratio .
846*3ff01b23SMartin MatuskaCurrently,
847*3ff01b23SMartin Matuska.Sy gzip
848*3ff01b23SMartin Matuskais equivalent to
849*3ff01b23SMartin Matuska.Sy gzip-6
850*3ff01b23SMartin Matuska.Po which is also the default for
851*3ff01b23SMartin Matuska.Xr gzip 1
852*3ff01b23SMartin Matuska.Pc .
853*3ff01b23SMartin Matuska.Pp
854*3ff01b23SMartin MatuskaThe
855*3ff01b23SMartin Matuska.Sy zstd
856*3ff01b23SMartin Matuskacompression algorithm provides both high compression ratios and good performance.
857*3ff01b23SMartin MatuskaYou can specify the
858*3ff01b23SMartin Matuska.Sy zstd
859*3ff01b23SMartin Matuskalevel by using the value
860*3ff01b23SMartin Matuska.Sy zstd- Ns Ar N ,
861*3ff01b23SMartin Matuskawhere
862*3ff01b23SMartin Matuska.Ar N
863*3ff01b23SMartin Matuskais an integer from 1
864*3ff01b23SMartin Matuska.Pq fastest
865*3ff01b23SMartin Matuskato 19
866*3ff01b23SMartin Matuska.Pq best compression ratio .
867*3ff01b23SMartin Matuska.Sy zstd
868*3ff01b23SMartin Matuskais equivalent to
869*3ff01b23SMartin Matuska.Sy zstd-3 .
870*3ff01b23SMartin Matuska.Pp
871*3ff01b23SMartin MatuskaFaster speeds at the cost of the compression ratio can be requested by
872*3ff01b23SMartin Matuskasetting a negative
873*3ff01b23SMartin Matuska.Sy zstd
874*3ff01b23SMartin Matuskalevel.
875*3ff01b23SMartin MatuskaThis is done using
876*3ff01b23SMartin Matuska.Sy zstd-fast- Ns Ar N ,
877*3ff01b23SMartin Matuskawhere
878*3ff01b23SMartin Matuska.Ar N
879*3ff01b23SMartin Matuskais an integer in [1-9,10,20,30,...,100,500,1000] which maps to a negative
880*3ff01b23SMartin Matuska.Sy zstd
881*3ff01b23SMartin Matuskalevel.
882*3ff01b23SMartin MatuskaThe lower the level the faster the compression -
883*3ff01b23SMartin Matuska.Ar 1000 No provides the fastest compression and lowest compression ratio.
884*3ff01b23SMartin Matuska.Sy zstd-fast
885*3ff01b23SMartin Matuskais equivalent to
886*3ff01b23SMartin Matuska.Sy zstd-fast-1 .
887*3ff01b23SMartin Matuska.Pp
888*3ff01b23SMartin MatuskaThe
889*3ff01b23SMartin Matuska.Sy zle
890*3ff01b23SMartin Matuskacompression algorithm compresses runs of zeros.
891*3ff01b23SMartin Matuska.Pp
892*3ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name
893*3ff01b23SMartin Matuska.Sy compress .
894*3ff01b23SMartin MatuskaChanging this property affects only newly-written data.
895*3ff01b23SMartin Matuska.Pp
896*3ff01b23SMartin MatuskaWhen any setting except
897*3ff01b23SMartin Matuska.Sy off
898*3ff01b23SMartin Matuskais selected, compression will explicitly check for blocks consisting of only
899*3ff01b23SMartin Matuskazeroes (the NUL byte).
900*3ff01b23SMartin MatuskaWhen a zero-filled block is detected, it is stored as
901*3ff01b23SMartin Matuskaa hole and not compressed using the indicated compression algorithm.
902*3ff01b23SMartin Matuska.Pp
903*3ff01b23SMartin MatuskaAny block being compressed must be no larger than 7/8 of its original size
904*3ff01b23SMartin Matuskaafter compression, otherwise the compression will not be considered worthwhile
905*3ff01b23SMartin Matuskaand the block saved uncompressed.
906*3ff01b23SMartin MatuskaNote that when the logical block is less than
907*3ff01b23SMartin Matuska8 times the disk sector size this effectively reduces the necessary compression
908*3ff01b23SMartin Matuskaratio; for example, 8kB blocks on disks with 4kB disk sectors must compress to 1/2
909*3ff01b23SMartin Matuskaor less of their original size.
910*3ff01b23SMartin Matuska.It Xo
911*3ff01b23SMartin Matuska.Sy context Ns = Ns Sy none Ns | Ns
912*3ff01b23SMartin Matuska.Ar SELinux-User : Ns Ar SElinux-Role : Ns Ar Selinux-Type : Ns Ar Sensitivity-Level
913*3ff01b23SMartin Matuska.Xc
914*3ff01b23SMartin MatuskaThis flag sets the SELinux context for all files in the file system under
915*3ff01b23SMartin Matuskaa mount point for that file system.
916*3ff01b23SMartin MatuskaSee
917*3ff01b23SMartin Matuska.Xr selinux 8
918*3ff01b23SMartin Matuskafor more information.
919*3ff01b23SMartin Matuska.It Xo
920*3ff01b23SMartin Matuska.Sy fscontext Ns = Ns Sy none Ns | Ns
921*3ff01b23SMartin Matuska.Ar SELinux-User : Ns Ar SElinux-Role : Ns Ar Selinux-Type : Ns Ar Sensitivity-Level
922*3ff01b23SMartin Matuska.Xc
923*3ff01b23SMartin MatuskaThis flag sets the SELinux context for the file system file system being
924*3ff01b23SMartin Matuskamounted.
925*3ff01b23SMartin MatuskaSee
926*3ff01b23SMartin Matuska.Xr selinux 8
927*3ff01b23SMartin Matuskafor more information.
928*3ff01b23SMartin Matuska.It Xo
929*3ff01b23SMartin Matuska.Sy defcontext Ns = Ns Sy none Ns | Ns
930*3ff01b23SMartin Matuska.Ar SELinux-User : Ns Ar SElinux-Role : Ns Ar Selinux-Type : Ns Ar Sensitivity-Level
931*3ff01b23SMartin Matuska.Xc
932*3ff01b23SMartin MatuskaThis flag sets the SELinux default context for unlabeled files.
933*3ff01b23SMartin MatuskaSee
934*3ff01b23SMartin Matuska.Xr selinux 8
935*3ff01b23SMartin Matuskafor more information.
936*3ff01b23SMartin Matuska.It Xo
937*3ff01b23SMartin Matuska.Sy rootcontext Ns = Ns Sy none Ns | Ns
938*3ff01b23SMartin Matuska.Ar SELinux-User : Ns Ar SElinux-Role : Ns Ar Selinux-Type : Ns Ar Sensitivity-Level
939*3ff01b23SMartin Matuska.Xc
940*3ff01b23SMartin MatuskaThis flag sets the SELinux context for the root inode of the file system.
941*3ff01b23SMartin MatuskaSee
942*3ff01b23SMartin Matuska.Xr selinux 8
943*3ff01b23SMartin Matuskafor more information.
944*3ff01b23SMartin Matuska.It Sy copies Ns = Ns Sy 1 Ns | Ns Sy 2 Ns | Ns Sy 3
945*3ff01b23SMartin MatuskaControls the number of copies of data stored for this dataset.
946*3ff01b23SMartin MatuskaThese copies are in addition to any redundancy provided by the pool, for
947*3ff01b23SMartin Matuskaexample, mirroring or RAID-Z.
948*3ff01b23SMartin MatuskaThe copies are stored on different disks, if possible.
949*3ff01b23SMartin MatuskaThe space used by multiple copies is charged to the associated file and dataset,
950*3ff01b23SMartin Matuskachanging the
951*3ff01b23SMartin Matuska.Sy used
952*3ff01b23SMartin Matuskaproperty and counting against quotas and reservations.
953*3ff01b23SMartin Matuska.Pp
954*3ff01b23SMartin MatuskaChanging this property only affects newly-written data.
955*3ff01b23SMartin MatuskaTherefore, set this property at file system creation time by using the
956*3ff01b23SMartin Matuska.Fl o Sy copies Ns = Ns Ar N
957*3ff01b23SMartin Matuskaoption.
958*3ff01b23SMartin Matuska.Pp
959*3ff01b23SMartin MatuskaRemember that ZFS will not import a pool with a missing top-level vdev.
960*3ff01b23SMartin MatuskaDo
961*3ff01b23SMartin Matuska.Em NOT
962*3ff01b23SMartin Matuskacreate, for example a two-disk striped pool and set
963*3ff01b23SMartin Matuska.Sy copies Ns = Ns Ar 2
964*3ff01b23SMartin Matuskaon some datasets thinking you have setup redundancy for them.
965*3ff01b23SMartin MatuskaWhen a disk fails you will not be able to import the pool
966*3ff01b23SMartin Matuskaand will have lost all of your data.
967*3ff01b23SMartin Matuska.Pp
968*3ff01b23SMartin MatuskaEncrypted datasets may not have
969*3ff01b23SMartin Matuska.Sy copies Ns = Ns Ar 3
970*3ff01b23SMartin Matuskasince the implementation stores some encryption metadata where the third copy
971*3ff01b23SMartin Matuskawould normally be.
972*3ff01b23SMartin Matuska.It Sy devices Ns = Ns Sy on Ns | Ns Sy off
973*3ff01b23SMartin MatuskaControls whether device nodes can be opened on this file system.
974*3ff01b23SMartin MatuskaThe default value is
975*3ff01b23SMartin Matuska.Sy on .
976*3ff01b23SMartin MatuskaThe values
977*3ff01b23SMartin Matuska.Sy on
978*3ff01b23SMartin Matuskaand
979*3ff01b23SMartin Matuska.Sy off
980*3ff01b23SMartin Matuskaare equivalent to the
981*3ff01b23SMartin Matuska.Sy dev
982*3ff01b23SMartin Matuskaand
983*3ff01b23SMartin Matuska.Sy nodev
984*3ff01b23SMartin Matuskamount options.
985*3ff01b23SMartin Matuska.It Xo
986*3ff01b23SMartin Matuska.Sy dedup Ns = Ns Sy off Ns | Ns Sy on Ns | Ns Sy verify Ns | Ns
987*3ff01b23SMartin Matuska.Sy sha256 Ns Oo , Ns Sy verify Oc Ns | Ns Sy sha512 Ns Oo , Ns Sy verify Oc Ns | Ns Sy skein Ns Oo , Ns Sy verify Oc Ns | Ns
988*3ff01b23SMartin Matuska.Sy edonr , Ns Sy verify
989*3ff01b23SMartin Matuska.Xc
990*3ff01b23SMartin MatuskaConfigures deduplication for a dataset.
991*3ff01b23SMartin MatuskaThe default value is
992*3ff01b23SMartin Matuska.Sy off .
993*3ff01b23SMartin MatuskaThe default deduplication checksum is
994*3ff01b23SMartin Matuska.Sy sha256
995*3ff01b23SMartin Matuska(this may change in the future).
996*3ff01b23SMartin MatuskaWhen
997*3ff01b23SMartin Matuska.Sy dedup
998*3ff01b23SMartin Matuskais enabled, the checksum defined here overrides the
999*3ff01b23SMartin Matuska.Sy checksum
1000*3ff01b23SMartin Matuskaproperty.
1001*3ff01b23SMartin MatuskaSetting the value to
1002*3ff01b23SMartin Matuska.Sy verify
1003*3ff01b23SMartin Matuskahas the same effect as the setting
1004*3ff01b23SMartin Matuska.Sy sha256 , Ns Sy verify .
1005*3ff01b23SMartin Matuska.Pp
1006*3ff01b23SMartin MatuskaIf set to
1007*3ff01b23SMartin Matuska.Sy verify ,
1008*3ff01b23SMartin MatuskaZFS will do a byte-to-byte comparison in case of two blocks having the same
1009*3ff01b23SMartin Matuskasignature to make sure the block contents are identical.
1010*3ff01b23SMartin MatuskaSpecifying
1011*3ff01b23SMartin Matuska.Sy verify
1012*3ff01b23SMartin Matuskais mandatory for the
1013*3ff01b23SMartin Matuska.Sy edonr
1014*3ff01b23SMartin Matuskaalgorithm.
1015*3ff01b23SMartin Matuska.Pp
1016*3ff01b23SMartin MatuskaUnless necessary, deduplication should
1017*3ff01b23SMartin Matuska.Em not
1018*3ff01b23SMartin Matuskabe enabled on a system.
1019*3ff01b23SMartin MatuskaSee the
1020*3ff01b23SMartin Matuska.Sx Deduplication
1021*3ff01b23SMartin Matuskasection of
1022*3ff01b23SMartin Matuska.Xr zfsconcepts 7 .
1023*3ff01b23SMartin Matuska.It Xo
1024*3ff01b23SMartin Matuska.Sy dnodesize Ns = Ns Sy legacy Ns | Ns Sy auto Ns | Ns Sy 1k Ns | Ns
1025*3ff01b23SMartin Matuska.Sy 2k Ns | Ns Sy 4k Ns | Ns Sy 8k Ns | Ns Sy 16k
1026*3ff01b23SMartin Matuska.Xc
1027*3ff01b23SMartin MatuskaSpecifies a compatibility mode or literal value for the size of dnodes in the
1028*3ff01b23SMartin Matuskafile system.
1029*3ff01b23SMartin MatuskaThe default value is
1030*3ff01b23SMartin Matuska.Sy legacy .
1031*3ff01b23SMartin MatuskaSetting this property to a value other than
1032*3ff01b23SMartin Matuska.Sy legacy No requires the Sy large_dnode No pool feature to be enabled.
1033*3ff01b23SMartin Matuska.Pp
1034*3ff01b23SMartin MatuskaConsider setting
1035*3ff01b23SMartin Matuska.Sy dnodesize
1036*3ff01b23SMartin Matuskato
1037*3ff01b23SMartin Matuska.Sy auto
1038*3ff01b23SMartin Matuskaif the dataset uses the
1039*3ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa
1040*3ff01b23SMartin Matuskaproperty setting and the workload makes heavy use of extended attributes.
1041*3ff01b23SMartin MatuskaThis
1042*3ff01b23SMartin Matuskamay be applicable to SELinux-enabled systems, Lustre servers, and Samba
1043*3ff01b23SMartin Matuskaservers, for example.
1044*3ff01b23SMartin MatuskaLiteral values are supported for cases where the optimal
1045*3ff01b23SMartin Matuskasize is known in advance and for performance testing.
1046*3ff01b23SMartin Matuska.Pp
1047*3ff01b23SMartin MatuskaLeave
1048*3ff01b23SMartin Matuska.Sy dnodesize
1049*3ff01b23SMartin Matuskaset to
1050*3ff01b23SMartin Matuska.Sy legacy
1051*3ff01b23SMartin Matuskaif you need to receive a send stream of this dataset on a pool that doesn't
1052*3ff01b23SMartin Matuskaenable the
1053*3ff01b23SMartin Matuska.Sy large_dnode
1054*3ff01b23SMartin Matuskafeature, or if you need to import this pool on a system that doesn't support the
1055*3ff01b23SMartin Matuska.Sy large_dnode No feature.
1056*3ff01b23SMartin Matuska.Pp
1057*3ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
1058*3ff01b23SMartin Matuska.Sy dnsize .
1059*3ff01b23SMartin Matuska.It Xo
1060*3ff01b23SMartin Matuska.Sy encryption Ns = Ns Sy off Ns | Ns Sy on Ns | Ns Sy aes-128-ccm Ns | Ns
1061*3ff01b23SMartin Matuska.Sy aes-192-ccm Ns | Ns Sy aes-256-ccm Ns | Ns Sy aes-128-gcm Ns | Ns
1062*3ff01b23SMartin Matuska.Sy aes-192-gcm Ns | Ns Sy aes-256-gcm
1063*3ff01b23SMartin Matuska.Xc
1064*3ff01b23SMartin MatuskaControls the encryption cipher suite (block cipher, key length, and mode) used
1065*3ff01b23SMartin Matuskafor this dataset.
1066*3ff01b23SMartin MatuskaRequires the
1067*3ff01b23SMartin Matuska.Sy encryption
1068*3ff01b23SMartin Matuskafeature to be enabled on the pool.
1069*3ff01b23SMartin MatuskaRequires a
1070*3ff01b23SMartin Matuska.Sy keyformat
1071*3ff01b23SMartin Matuskato be set at dataset creation time.
1072*3ff01b23SMartin Matuska.Pp
1073*3ff01b23SMartin MatuskaSelecting
1074*3ff01b23SMartin Matuska.Sy encryption Ns = Ns Sy on
1075*3ff01b23SMartin Matuskawhen creating a dataset indicates that the default encryption suite will be
1076*3ff01b23SMartin Matuskaselected, which is currently
1077*3ff01b23SMartin Matuska.Sy aes-256-gcm .
1078*3ff01b23SMartin MatuskaIn order to provide consistent data protection, encryption must be specified at
1079*3ff01b23SMartin Matuskadataset creation time and it cannot be changed afterwards.
1080*3ff01b23SMartin Matuska.Pp
1081*3ff01b23SMartin MatuskaFor more details and caveats about encryption see the
1082*3ff01b23SMartin Matuska.Sx Encryption
1083*3ff01b23SMartin Matuskasection of
1084*3ff01b23SMartin Matuska.Xr zfs-load-key 8 .
1085*3ff01b23SMartin Matuska.It Sy keyformat Ns = Ns Sy raw Ns | Ns Sy hex Ns | Ns Sy passphrase
1086*3ff01b23SMartin MatuskaControls what format the user's encryption key will be provided as.
1087*3ff01b23SMartin MatuskaThis property is only set when the dataset is encrypted.
1088*3ff01b23SMartin Matuska.Pp
1089*3ff01b23SMartin MatuskaRaw keys and hex keys must be 32 bytes long (regardless of the chosen
1090*3ff01b23SMartin Matuskaencryption suite) and must be randomly generated.
1091*3ff01b23SMartin MatuskaA raw key can be generated with the following command:
1092*3ff01b23SMartin Matuska.Dl # Nm dd Sy if=/dev/urandom bs=32 count=1 Sy of= Ns Pa /path/to/output/key
1093*3ff01b23SMartin Matuska.Pp
1094*3ff01b23SMartin MatuskaPassphrases must be between 8 and 512 bytes long and will be processed through
1095*3ff01b23SMartin MatuskaPBKDF2 before being used (see the
1096*3ff01b23SMartin Matuska.Sy pbkdf2iters
1097*3ff01b23SMartin Matuskaproperty).
1098*3ff01b23SMartin MatuskaEven though the encryption suite cannot be changed after dataset creation,
1099*3ff01b23SMartin Matuskathe keyformat can be with
1100*3ff01b23SMartin Matuska.Nm zfs Cm change-key .
1101*3ff01b23SMartin Matuska.It Xo
1102*3ff01b23SMartin Matuska.Sy keylocation Ns = Ns Sy prompt Ns | Ns Sy file:// Ns Ar /absolute/file/path Ns | Ns Sy https:// Ns Ar address Ns | Ns Sy http:// Ns Ar address
1103*3ff01b23SMartin Matuska.Xc
1104*3ff01b23SMartin MatuskaControls where the user's encryption key will be loaded from by default for
1105*3ff01b23SMartin Matuskacommands such as
1106*3ff01b23SMartin Matuska.Nm zfs Cm load-key
1107*3ff01b23SMartin Matuskaand
1108*3ff01b23SMartin Matuska.Nm zfs Cm mount Fl l .
1109*3ff01b23SMartin MatuskaThis property is only set for encrypted datasets which are encryption roots.
1110*3ff01b23SMartin MatuskaIf unspecified, the default is
1111*3ff01b23SMartin Matuska.Sy prompt .
1112*3ff01b23SMartin Matuska.Pp
1113*3ff01b23SMartin MatuskaEven though the encryption suite cannot be changed after dataset creation, the
1114*3ff01b23SMartin Matuskakeylocation can be with either
1115*3ff01b23SMartin Matuska.Nm zfs Cm set
1116*3ff01b23SMartin Matuskaor
1117*3ff01b23SMartin Matuska.Nm zfs Cm change-key .
1118*3ff01b23SMartin MatuskaIf
1119*3ff01b23SMartin Matuska.Sy prompt
1120*3ff01b23SMartin Matuskais selected ZFS will ask for the key at the command prompt when it is required
1121*3ff01b23SMartin Matuskato access the encrypted data (see
1122*3ff01b23SMartin Matuska.Nm zfs Cm load-key
1123*3ff01b23SMartin Matuskafor details).
1124*3ff01b23SMartin MatuskaThis setting will also allow the key to be passed in via the standard input stream,
1125*3ff01b23SMartin Matuskabut users should be careful not to place keys which should be kept secret on
1126*3ff01b23SMartin Matuskathe command line.
1127*3ff01b23SMartin MatuskaIf a file URI is selected, the key will be loaded from the
1128*3ff01b23SMartin Matuskaspecified absolute file path.
1129*3ff01b23SMartin MatuskaIf an HTTPS or HTTP URL is selected, it will be GETted using
1130*3ff01b23SMartin Matuska.Xr fetch 3 ,
1131*3ff01b23SMartin Matuskalibcurl, or nothing, depending on compile-time configuration and run-time availability.
1132*3ff01b23SMartin MatuskaThe
1133*3ff01b23SMartin Matuska.Sy SSL_CA_CERT_FILE
1134*3ff01b23SMartin Matuskaenvironment variable can be set to set the location
1135*3ff01b23SMartin Matuskaof the concatenated certificate store.
1136*3ff01b23SMartin MatuskaThe
1137*3ff01b23SMartin Matuska.Sy SSL_CA_CERT_PATH
1138*3ff01b23SMartin Matuskaenvironment variable can be set to override the location
1139*3ff01b23SMartin Matuskaof the directory containing the certificate authority bundle.
1140*3ff01b23SMartin MatuskaThe
1141*3ff01b23SMartin Matuska.Sy SSL_CLIENT_CERT_FILE
1142*3ff01b23SMartin Matuskaand
1143*3ff01b23SMartin Matuska.Sy SSL_CLIENT_KEY_FILE
1144*3ff01b23SMartin Matuskaenvironment variables can be set to configure the path
1145*3ff01b23SMartin Matuskato the client certificate and its key.
1146*3ff01b23SMartin Matuska.It Sy pbkdf2iters Ns = Ns Ar iterations
1147*3ff01b23SMartin MatuskaControls the number of PBKDF2 iterations that a
1148*3ff01b23SMartin Matuska.Sy passphrase
1149*3ff01b23SMartin Matuskaencryption key should be run through when processing it into an encryption key.
1150*3ff01b23SMartin MatuskaThis property is only defined when encryption is enabled and a keyformat of
1151*3ff01b23SMartin Matuska.Sy passphrase
1152*3ff01b23SMartin Matuskais selected.
1153*3ff01b23SMartin MatuskaThe goal of PBKDF2 is to significantly increase the
1154*3ff01b23SMartin Matuskacomputational difficulty needed to brute force a user's passphrase.
1155*3ff01b23SMartin MatuskaThis is accomplished by forcing the attacker to run each passphrase through a
1156*3ff01b23SMartin Matuskacomputationally expensive hashing function many times before they arrive at the
1157*3ff01b23SMartin Matuskaresulting key.
1158*3ff01b23SMartin MatuskaA user who actually knows the passphrase will only have to pay this cost once.
1159*3ff01b23SMartin MatuskaAs CPUs become better at processing, this number should be
1160*3ff01b23SMartin Matuskaraised to ensure that a brute force attack is still not possible.
1161*3ff01b23SMartin MatuskaThe current default is
1162*3ff01b23SMartin Matuska.Sy 350000
1163*3ff01b23SMartin Matuskaand the minimum is
1164*3ff01b23SMartin Matuska.Sy 100000 .
1165*3ff01b23SMartin MatuskaThis property may be changed with
1166*3ff01b23SMartin Matuska.Nm zfs Cm change-key .
1167*3ff01b23SMartin Matuska.It Sy exec Ns = Ns Sy on Ns | Ns Sy off
1168*3ff01b23SMartin MatuskaControls whether processes can be executed from within this file system.
1169*3ff01b23SMartin MatuskaThe default value is
1170*3ff01b23SMartin Matuska.Sy on .
1171*3ff01b23SMartin MatuskaThe values
1172*3ff01b23SMartin Matuska.Sy on
1173*3ff01b23SMartin Matuskaand
1174*3ff01b23SMartin Matuska.Sy off
1175*3ff01b23SMartin Matuskaare equivalent to the
1176*3ff01b23SMartin Matuska.Sy exec
1177*3ff01b23SMartin Matuskaand
1178*3ff01b23SMartin Matuska.Sy noexec
1179*3ff01b23SMartin Matuskamount options.
1180*3ff01b23SMartin Matuska.It Sy filesystem_limit Ns = Ns Ar count Ns | Ns Sy none
1181*3ff01b23SMartin MatuskaLimits the number of filesystems and volumes that can exist under this point in
1182*3ff01b23SMartin Matuskathe dataset tree.
1183*3ff01b23SMartin MatuskaThe limit is not enforced if the user is allowed to change the limit.
1184*3ff01b23SMartin MatuskaSetting a
1185*3ff01b23SMartin Matuska.Sy filesystem_limit
1186*3ff01b23SMartin Matuskato
1187*3ff01b23SMartin Matuska.Sy on
1188*3ff01b23SMartin Matuskaa descendent of a filesystem that already has a
1189*3ff01b23SMartin Matuska.Sy filesystem_limit
1190*3ff01b23SMartin Matuskadoes not override the ancestor's
1191*3ff01b23SMartin Matuska.Sy filesystem_limit ,
1192*3ff01b23SMartin Matuskabut rather imposes an additional limit.
1193*3ff01b23SMartin MatuskaThis feature must be enabled to be used
1194*3ff01b23SMartin Matuska.Po see
1195*3ff01b23SMartin Matuska.Xr zpool-features 7
1196*3ff01b23SMartin Matuska.Pc .
1197*3ff01b23SMartin Matuska.It Sy special_small_blocks Ns = Ns Ar size
1198*3ff01b23SMartin MatuskaThis value represents the threshold block size for including small file
1199*3ff01b23SMartin Matuskablocks into the special allocation class.
1200*3ff01b23SMartin MatuskaBlocks smaller than or equal to this
1201*3ff01b23SMartin Matuskavalue will be assigned to the special allocation class while greater blocks
1202*3ff01b23SMartin Matuskawill be assigned to the regular class.
1203*3ff01b23SMartin MatuskaValid values are zero or a power of two from 512B up to 1M.
1204*3ff01b23SMartin MatuskaThe default size is 0 which means no small file blocks
1205*3ff01b23SMartin Matuskawill be allocated in the special class.
1206*3ff01b23SMartin Matuska.Pp
1207*3ff01b23SMartin MatuskaBefore setting this property, a special class vdev must be added to the
1208*3ff01b23SMartin Matuskapool.
1209*3ff01b23SMartin MatuskaSee
1210*3ff01b23SMartin Matuska.Xr zpoolconcepts 7
1211*3ff01b23SMartin Matuskafor more details on the special allocation class.
1212*3ff01b23SMartin Matuska.It Sy mountpoint Ns = Ns Pa path Ns | Ns Sy none Ns | Ns Sy legacy
1213*3ff01b23SMartin MatuskaControls the mount point used for this file system.
1214*3ff01b23SMartin MatuskaSee the
1215*3ff01b23SMartin Matuska.Sx Mount Points
1216*3ff01b23SMartin Matuskasection of
1217*3ff01b23SMartin Matuska.Xr zfsconcepts 7
1218*3ff01b23SMartin Matuskafor more information on how this property is used.
1219*3ff01b23SMartin Matuska.Pp
1220*3ff01b23SMartin MatuskaWhen the
1221*3ff01b23SMartin Matuska.Sy mountpoint
1222*3ff01b23SMartin Matuskaproperty is changed for a file system, the file system and any children that
1223*3ff01b23SMartin Matuskainherit the mount point are unmounted.
1224*3ff01b23SMartin MatuskaIf the new value is
1225*3ff01b23SMartin Matuska.Sy legacy ,
1226*3ff01b23SMartin Matuskathen they remain unmounted.
1227*3ff01b23SMartin MatuskaOtherwise, they are automatically remounted in the new location if the property
1228*3ff01b23SMartin Matuskawas previously
1229*3ff01b23SMartin Matuska.Sy legacy
1230*3ff01b23SMartin Matuskaor
1231*3ff01b23SMartin Matuska.Sy none ,
1232*3ff01b23SMartin Matuskaor if they were mounted before the property was changed.
1233*3ff01b23SMartin MatuskaIn addition, any shared file systems are unshared and shared in the new
1234*3ff01b23SMartin Matuskalocation.
1235*3ff01b23SMartin Matuska.It Sy nbmand Ns = Ns Sy on Ns | Ns Sy off
1236*3ff01b23SMartin MatuskaControls whether the file system should be mounted with
1237*3ff01b23SMartin Matuska.Sy nbmand
1238*3ff01b23SMartin Matuska.Pq Non-blocking mandatory locks .
1239*3ff01b23SMartin MatuskaThis is used for SMB clients.
1240*3ff01b23SMartin MatuskaChanges to this property only take effect when the file system is umounted and
1241*3ff01b23SMartin Matuskaremounted.
1242*3ff01b23SMartin MatuskaSupport for these locks is scarce and not described by POSIX.
1243*3ff01b23SMartin Matuska.It Sy overlay Ns = Ns Sy on Ns | Ns Sy off
1244*3ff01b23SMartin MatuskaAllow mounting on a busy directory or a directory which already contains
1245*3ff01b23SMartin Matuskafiles or directories.
1246*3ff01b23SMartin MatuskaThis is the default mount behavior for Linux and
1247*3ff01b23SMartin Matuska.Fx
1248*3ff01b23SMartin Matuskafile systems.
1249*3ff01b23SMartin MatuskaOn these platforms the property is
1250*3ff01b23SMartin Matuska.Sy on
1251*3ff01b23SMartin Matuskaby default.
1252*3ff01b23SMartin MatuskaSet to
1253*3ff01b23SMartin Matuska.Sy off
1254*3ff01b23SMartin Matuskato disable overlay mounts for consistency with OpenZFS on other platforms.
1255*3ff01b23SMartin Matuska.It Sy primarycache Ns = Ns Sy all Ns | Ns Sy none Ns | Ns Sy metadata
1256*3ff01b23SMartin MatuskaControls what is cached in the primary cache
1257*3ff01b23SMartin Matuska.Pq ARC .
1258*3ff01b23SMartin MatuskaIf this property is set to
1259*3ff01b23SMartin Matuska.Sy all ,
1260*3ff01b23SMartin Matuskathen both user data and metadata is cached.
1261*3ff01b23SMartin MatuskaIf this property is set to
1262*3ff01b23SMartin Matuska.Sy none ,
1263*3ff01b23SMartin Matuskathen neither user data nor metadata is cached.
1264*3ff01b23SMartin MatuskaIf this property is set to
1265*3ff01b23SMartin Matuska.Sy metadata ,
1266*3ff01b23SMartin Matuskathen only metadata is cached.
1267*3ff01b23SMartin MatuskaThe default value is
1268*3ff01b23SMartin Matuska.Sy all .
1269*3ff01b23SMartin Matuska.It Sy quota Ns = Ns Ar size Ns | Ns Sy none
1270*3ff01b23SMartin MatuskaLimits the amount of space a dataset and its descendents can consume.
1271*3ff01b23SMartin MatuskaThis property enforces a hard limit on the amount of space used.
1272*3ff01b23SMartin MatuskaThis includes all space consumed by descendents, including file systems and
1273*3ff01b23SMartin Matuskasnapshots.
1274*3ff01b23SMartin MatuskaSetting a quota on a descendent of a dataset that already has a quota does not
1275*3ff01b23SMartin Matuskaoverride the ancestor's quota, but rather imposes an additional limit.
1276*3ff01b23SMartin Matuska.Pp
1277*3ff01b23SMartin MatuskaQuotas cannot be set on volumes, as the
1278*3ff01b23SMartin Matuska.Sy volsize
1279*3ff01b23SMartin Matuskaproperty acts as an implicit quota.
1280*3ff01b23SMartin Matuska.It Sy snapshot_limit Ns = Ns Ar count Ns | Ns Sy none
1281*3ff01b23SMartin MatuskaLimits the number of snapshots that can be created on a dataset and its
1282*3ff01b23SMartin Matuskadescendents.
1283*3ff01b23SMartin MatuskaSetting a
1284*3ff01b23SMartin Matuska.Sy snapshot_limit
1285*3ff01b23SMartin Matuskaon a descendent of a dataset that already has a
1286*3ff01b23SMartin Matuska.Sy snapshot_limit
1287*3ff01b23SMartin Matuskadoes not override the ancestor's
1288*3ff01b23SMartin Matuska.Sy snapshot_limit ,
1289*3ff01b23SMartin Matuskabut rather imposes an additional limit.
1290*3ff01b23SMartin MatuskaThe limit is not enforced if the user is allowed to change the limit.
1291*3ff01b23SMartin MatuskaFor example, this means that recursive snapshots taken from the global zone are
1292*3ff01b23SMartin Matuskacounted against each delegated dataset within a zone.
1293*3ff01b23SMartin MatuskaThis feature must be enabled to be used
1294*3ff01b23SMartin Matuska.Po see
1295*3ff01b23SMartin Matuska.Xr zpool-features 7
1296*3ff01b23SMartin Matuska.Pc .
1297*3ff01b23SMartin Matuska.It Sy userquota@ Ns Ar user Ns = Ns Ar size Ns | Ns Sy none
1298*3ff01b23SMartin MatuskaLimits the amount of space consumed by the specified user.
1299*3ff01b23SMartin MatuskaUser space consumption is identified by the
1300*3ff01b23SMartin Matuska.Sy userspace@ Ns Ar user
1301*3ff01b23SMartin Matuskaproperty.
1302*3ff01b23SMartin Matuska.Pp
1303*3ff01b23SMartin MatuskaEnforcement of user quotas may be delayed by several seconds.
1304*3ff01b23SMartin MatuskaThis delay means that a user might exceed their quota before the system notices
1305*3ff01b23SMartin Matuskathat they are over quota and begins to refuse additional writes with the
1306*3ff01b23SMartin Matuska.Er EDQUOT
1307*3ff01b23SMartin Matuskaerror message.
1308*3ff01b23SMartin MatuskaSee the
1309*3ff01b23SMartin Matuska.Nm zfs Cm userspace
1310*3ff01b23SMartin Matuskacommand for more information.
1311*3ff01b23SMartin Matuska.Pp
1312*3ff01b23SMartin MatuskaUnprivileged users can only access their own groups' space usage.
1313*3ff01b23SMartin MatuskaThe root user, or a user who has been granted the
1314*3ff01b23SMartin Matuska.Sy userquota
1315*3ff01b23SMartin Matuskaprivilege with
1316*3ff01b23SMartin Matuska.Nm zfs Cm allow ,
1317*3ff01b23SMartin Matuskacan get and set everyone's quota.
1318*3ff01b23SMartin Matuska.Pp
1319*3ff01b23SMartin MatuskaThis property is not available on volumes, on file systems before version 4, or
1320*3ff01b23SMartin Matuskaon pools before version 15.
1321*3ff01b23SMartin MatuskaThe
1322*3ff01b23SMartin Matuska.Sy userquota@ Ns Ar ...
1323*3ff01b23SMartin Matuskaproperties are not displayed by
1324*3ff01b23SMartin Matuska.Nm zfs Cm get Sy all .
1325*3ff01b23SMartin MatuskaThe user's name must be appended after the
1326*3ff01b23SMartin Matuska.Sy @
1327*3ff01b23SMartin Matuskasymbol, using one of the following forms:
1328*3ff01b23SMartin Matuska.Bl -bullet -compact -offset 4n
1329*3ff01b23SMartin Matuska.It
1330*3ff01b23SMartin MatuskaPOSIX name
1331*3ff01b23SMartin Matuska.Pq Qq joe
1332*3ff01b23SMartin Matuska.It
1333*3ff01b23SMartin MatuskaPOSIX numeric ID
1334*3ff01b23SMartin Matuska.Pq Qq 789
1335*3ff01b23SMartin Matuska.It
1336*3ff01b23SMartin MatuskaSID name
1337*3ff01b23SMartin Matuska.Pq Qq joe.smith@mydomain
1338*3ff01b23SMartin Matuska.It
1339*3ff01b23SMartin MatuskaSID numeric ID
1340*3ff01b23SMartin Matuska.Pq Qq S-1-123-456-789
1341*3ff01b23SMartin Matuska.El
1342*3ff01b23SMartin Matuska.Pp
1343*3ff01b23SMartin MatuskaFiles created on Linux always have POSIX owners.
1344*3ff01b23SMartin Matuska.It Sy userobjquota@ Ns Ar user Ns = Ns Ar size Ns | Ns Sy none
1345*3ff01b23SMartin MatuskaThe
1346*3ff01b23SMartin Matuska.Sy userobjquota
1347*3ff01b23SMartin Matuskais similar to
1348*3ff01b23SMartin Matuska.Sy userquota
1349*3ff01b23SMartin Matuskabut it limits the number of objects a user can create.
1350*3ff01b23SMartin MatuskaPlease refer to
1351*3ff01b23SMartin Matuska.Sy userobjused
1352*3ff01b23SMartin Matuskafor more information about how objects are counted.
1353*3ff01b23SMartin Matuska.It Sy groupquota@ Ns Ar group Ns = Ns Ar size Ns | Ns Sy none
1354*3ff01b23SMartin MatuskaLimits the amount of space consumed by the specified group.
1355*3ff01b23SMartin MatuskaGroup space consumption is identified by the
1356*3ff01b23SMartin Matuska.Sy groupused@ Ns Ar group
1357*3ff01b23SMartin Matuskaproperty.
1358*3ff01b23SMartin Matuska.Pp
1359*3ff01b23SMartin MatuskaUnprivileged users can access only their own groups' space usage.
1360*3ff01b23SMartin MatuskaThe root user, or a user who has been granted the
1361*3ff01b23SMartin Matuska.Sy groupquota
1362*3ff01b23SMartin Matuskaprivilege with
1363*3ff01b23SMartin Matuska.Nm zfs Cm allow ,
1364*3ff01b23SMartin Matuskacan get and set all groups' quotas.
1365*3ff01b23SMartin Matuska.It Sy groupobjquota@ Ns Ar group Ns = Ns Ar size Ns | Ns Sy none
1366*3ff01b23SMartin MatuskaThe
1367*3ff01b23SMartin Matuska.Sy groupobjquota
1368*3ff01b23SMartin Matuskais similar to
1369*3ff01b23SMartin Matuska.Sy groupquota
1370*3ff01b23SMartin Matuskabut it limits number of objects a group can consume.
1371*3ff01b23SMartin MatuskaPlease refer to
1372*3ff01b23SMartin Matuska.Sy userobjused
1373*3ff01b23SMartin Matuskafor more information about how objects are counted.
1374*3ff01b23SMartin Matuska.It Sy projectquota@ Ns Ar project Ns = Ns Ar size Ns | Ns Sy none
1375*3ff01b23SMartin MatuskaLimits the amount of space consumed by the specified project.
1376*3ff01b23SMartin MatuskaProject space consumption is identified by the
1377*3ff01b23SMartin Matuska.Sy projectused@ Ns Ar project
1378*3ff01b23SMartin Matuskaproperty.
1379*3ff01b23SMartin MatuskaPlease refer to
1380*3ff01b23SMartin Matuska.Sy projectused
1381*3ff01b23SMartin Matuskafor more information about how project is identified and set/changed.
1382*3ff01b23SMartin Matuska.Pp
1383*3ff01b23SMartin MatuskaThe root user, or a user who has been granted the
1384*3ff01b23SMartin Matuska.Sy projectquota
1385*3ff01b23SMartin Matuskaprivilege with
1386*3ff01b23SMartin Matuska.Nm zfs allow ,
1387*3ff01b23SMartin Matuskacan access all projects' quota.
1388*3ff01b23SMartin Matuska.It Sy projectobjquota@ Ns Ar project Ns = Ns Ar size Ns | Ns Sy none
1389*3ff01b23SMartin MatuskaThe
1390*3ff01b23SMartin Matuska.Sy projectobjquota
1391*3ff01b23SMartin Matuskais similar to
1392*3ff01b23SMartin Matuska.Sy projectquota
1393*3ff01b23SMartin Matuskabut it limits number of objects a project can consume.
1394*3ff01b23SMartin MatuskaPlease refer to
1395*3ff01b23SMartin Matuska.Sy userobjused
1396*3ff01b23SMartin Matuskafor more information about how objects are counted.
1397*3ff01b23SMartin Matuska.It Sy readonly Ns = Ns Sy on Ns | Ns Sy off
1398*3ff01b23SMartin MatuskaControls whether this dataset can be modified.
1399*3ff01b23SMartin MatuskaThe default value is
1400*3ff01b23SMartin Matuska.Sy off .
1401*3ff01b23SMartin MatuskaThe values
1402*3ff01b23SMartin Matuska.Sy on
1403*3ff01b23SMartin Matuskaand
1404*3ff01b23SMartin Matuska.Sy off
1405*3ff01b23SMartin Matuskaare equivalent to the
1406*3ff01b23SMartin Matuska.Sy ro
1407*3ff01b23SMartin Matuskaand
1408*3ff01b23SMartin Matuska.Sy rw
1409*3ff01b23SMartin Matuskamount options.
1410*3ff01b23SMartin Matuska.Pp
1411*3ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
1412*3ff01b23SMartin Matuska.Sy rdonly .
1413*3ff01b23SMartin Matuska.It Sy recordsize Ns = Ns Ar size
1414*3ff01b23SMartin MatuskaSpecifies a suggested block size for files in the file system.
1415*3ff01b23SMartin MatuskaThis property is designed solely for use with database workloads that access
1416*3ff01b23SMartin Matuskafiles in fixed-size records.
1417*3ff01b23SMartin MatuskaZFS automatically tunes block sizes according to internal algorithms optimized
1418*3ff01b23SMartin Matuskafor typical access patterns.
1419*3ff01b23SMartin Matuska.Pp
1420*3ff01b23SMartin MatuskaFor databases that create very large files but access them in small random
1421*3ff01b23SMartin Matuskachunks, these algorithms may be suboptimal.
1422*3ff01b23SMartin MatuskaSpecifying a
1423*3ff01b23SMartin Matuska.Sy recordsize
1424*3ff01b23SMartin Matuskagreater than or equal to the record size of the database can result in
1425*3ff01b23SMartin Matuskasignificant performance gains.
1426*3ff01b23SMartin MatuskaUse of this property for general purpose file systems is strongly discouraged,
1427*3ff01b23SMartin Matuskaand may adversely affect performance.
1428*3ff01b23SMartin Matuska.Pp
1429*3ff01b23SMartin MatuskaThe size specified must be a power of two greater than or equal to
1430*3ff01b23SMartin Matuska.Ar 512B
1431*3ff01b23SMartin Matuskaand less than or equal to
1432*3ff01b23SMartin Matuska.Ar 128kB .
1433*3ff01b23SMartin MatuskaIf the
1434*3ff01b23SMartin Matuska.Sy large_blocks
1435*3ff01b23SMartin Matuskafeature is enabled on the pool, the size may be up to
1436*3ff01b23SMartin Matuska.Ar 1MB .
1437*3ff01b23SMartin MatuskaSee
1438*3ff01b23SMartin Matuska.Xr zpool-features 7
1439*3ff01b23SMartin Matuskafor details on ZFS feature flags.
1440*3ff01b23SMartin Matuska.Pp
1441*3ff01b23SMartin MatuskaChanging the file system's
1442*3ff01b23SMartin Matuska.Sy recordsize
1443*3ff01b23SMartin Matuskaaffects only files created afterward; existing files are unaffected.
1444*3ff01b23SMartin Matuska.Pp
1445*3ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
1446*3ff01b23SMartin Matuska.Sy recsize .
1447*3ff01b23SMartin Matuska.It Sy redundant_metadata Ns = Ns Sy all Ns | Ns Sy most
1448*3ff01b23SMartin MatuskaControls what types of metadata are stored redundantly.
1449*3ff01b23SMartin MatuskaZFS stores an extra copy of metadata, so that if a single block is corrupted,
1450*3ff01b23SMartin Matuskathe amount of user data lost is limited.
1451*3ff01b23SMartin MatuskaThis extra copy is in addition to any redundancy provided at the pool level
1452*3ff01b23SMartin Matuska.Pq e.g. by mirroring or RAID-Z ,
1453*3ff01b23SMartin Matuskaand is in addition to an extra copy specified by the
1454*3ff01b23SMartin Matuska.Sy copies
1455*3ff01b23SMartin Matuskaproperty
1456*3ff01b23SMartin Matuska.Pq up to a total of 3 copies .
1457*3ff01b23SMartin MatuskaFor example if the pool is mirrored,
1458*3ff01b23SMartin Matuska.Sy copies Ns = Ns 2 ,
1459*3ff01b23SMartin Matuskaand
1460*3ff01b23SMartin Matuska.Sy redundant_metadata Ns = Ns Sy most ,
1461*3ff01b23SMartin Matuskathen ZFS stores 6 copies of most metadata, and 4 copies of data and some
1462*3ff01b23SMartin Matuskametadata.
1463*3ff01b23SMartin Matuska.Pp
1464*3ff01b23SMartin MatuskaWhen set to
1465*3ff01b23SMartin Matuska.Sy all ,
1466*3ff01b23SMartin MatuskaZFS stores an extra copy of all metadata.
1467*3ff01b23SMartin MatuskaIf a single on-disk block is corrupt, at worst a single block of user data
1468*3ff01b23SMartin Matuska.Po which is
1469*3ff01b23SMartin Matuska.Sy recordsize
1470*3ff01b23SMartin Matuskabytes long
1471*3ff01b23SMartin Matuska.Pc
1472*3ff01b23SMartin Matuskacan be lost.
1473*3ff01b23SMartin Matuska.Pp
1474*3ff01b23SMartin MatuskaWhen set to
1475*3ff01b23SMartin Matuska.Sy most ,
1476*3ff01b23SMartin MatuskaZFS stores an extra copy of most types of metadata.
1477*3ff01b23SMartin MatuskaThis can improve performance of random writes, because less metadata must be
1478*3ff01b23SMartin Matuskawritten.
1479*3ff01b23SMartin MatuskaIn practice, at worst about 100 blocks
1480*3ff01b23SMartin Matuska.Po of
1481*3ff01b23SMartin Matuska.Sy recordsize
1482*3ff01b23SMartin Matuskabytes each
1483*3ff01b23SMartin Matuska.Pc
1484*3ff01b23SMartin Matuskaof user data can be lost if a single on-disk block is corrupt.
1485*3ff01b23SMartin MatuskaThe exact behavior of which metadata blocks are stored redundantly may change in
1486*3ff01b23SMartin Matuskafuture releases.
1487*3ff01b23SMartin Matuska.Pp
1488*3ff01b23SMartin MatuskaThe default value is
1489*3ff01b23SMartin Matuska.Sy all .
1490*3ff01b23SMartin Matuska.It Sy refquota Ns = Ns Ar size Ns | Ns Sy none
1491*3ff01b23SMartin MatuskaLimits the amount of space a dataset can consume.
1492*3ff01b23SMartin MatuskaThis property enforces a hard limit on the amount of space used.
1493*3ff01b23SMartin MatuskaThis hard limit does not include space used by descendents, including file
1494*3ff01b23SMartin Matuskasystems and snapshots.
1495*3ff01b23SMartin Matuska.It Sy refreservation Ns = Ns Ar size Ns | Ns Sy none Ns | Ns Sy auto
1496*3ff01b23SMartin MatuskaThe minimum amount of space guaranteed to a dataset, not including its
1497*3ff01b23SMartin Matuskadescendents.
1498*3ff01b23SMartin MatuskaWhen the amount of space used is below this value, the dataset is treated as if
1499*3ff01b23SMartin Matuskait were taking up the amount of space specified by
1500*3ff01b23SMartin Matuska.Sy refreservation .
1501*3ff01b23SMartin MatuskaThe
1502*3ff01b23SMartin Matuska.Sy refreservation
1503*3ff01b23SMartin Matuskareservation is accounted for in the parent datasets' space used, and counts
1504*3ff01b23SMartin Matuskaagainst the parent datasets' quotas and reservations.
1505*3ff01b23SMartin Matuska.Pp
1506*3ff01b23SMartin MatuskaIf
1507*3ff01b23SMartin Matuska.Sy refreservation
1508*3ff01b23SMartin Matuskais set, a snapshot is only allowed if there is enough free pool space outside of
1509*3ff01b23SMartin Matuskathis reservation to accommodate the current number of
1510*3ff01b23SMartin Matuska.Qq referenced
1511*3ff01b23SMartin Matuskabytes in the dataset.
1512*3ff01b23SMartin Matuska.Pp
1513*3ff01b23SMartin MatuskaIf
1514*3ff01b23SMartin Matuska.Sy refreservation
1515*3ff01b23SMartin Matuskais set to
1516*3ff01b23SMartin Matuska.Sy auto ,
1517*3ff01b23SMartin Matuskaa volume is thick provisioned
1518*3ff01b23SMartin Matuska.Po or
1519*3ff01b23SMartin Matuska.Qq not sparse
1520*3ff01b23SMartin Matuska.Pc .
1521*3ff01b23SMartin Matuska.Sy refreservation Ns = Ns Sy auto
1522*3ff01b23SMartin Matuskais only supported on volumes.
1523*3ff01b23SMartin MatuskaSee
1524*3ff01b23SMartin Matuska.Sy volsize
1525*3ff01b23SMartin Matuskain the
1526*3ff01b23SMartin Matuska.Sx Native Properties
1527*3ff01b23SMartin Matuskasection for more information about sparse volumes.
1528*3ff01b23SMartin Matuska.Pp
1529*3ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
1530*3ff01b23SMartin Matuska.Sy refreserv .
1531*3ff01b23SMartin Matuska.It Sy relatime Ns = Ns Sy on Ns | Ns Sy off
1532*3ff01b23SMartin MatuskaControls the manner in which the access time is updated when
1533*3ff01b23SMartin Matuska.Sy atime Ns = Ns Sy on
1534*3ff01b23SMartin Matuskais set.
1535*3ff01b23SMartin MatuskaTurning this property on causes the access time to be updated relative
1536*3ff01b23SMartin Matuskato the modify or change time.
1537*3ff01b23SMartin MatuskaAccess time is only updated if the previous
1538*3ff01b23SMartin Matuskaaccess time was earlier than the current modify or change time or if the
1539*3ff01b23SMartin Matuskaexisting access time hasn't been updated within the past 24 hours.
1540*3ff01b23SMartin MatuskaThe default value is
1541*3ff01b23SMartin Matuska.Sy off .
1542*3ff01b23SMartin MatuskaThe values
1543*3ff01b23SMartin Matuska.Sy on
1544*3ff01b23SMartin Matuskaand
1545*3ff01b23SMartin Matuska.Sy off
1546*3ff01b23SMartin Matuskaare equivalent to the
1547*3ff01b23SMartin Matuska.Sy relatime
1548*3ff01b23SMartin Matuskaand
1549*3ff01b23SMartin Matuska.Sy norelatime
1550*3ff01b23SMartin Matuskamount options.
1551*3ff01b23SMartin Matuska.It Sy reservation Ns = Ns Ar size Ns | Ns Sy none
1552*3ff01b23SMartin MatuskaThe minimum amount of space guaranteed to a dataset and its descendants.
1553*3ff01b23SMartin MatuskaWhen the amount of space used is below this value, the dataset is treated as if
1554*3ff01b23SMartin Matuskait were taking up the amount of space specified by its reservation.
1555*3ff01b23SMartin MatuskaReservations are accounted for in the parent datasets' space used, and count
1556*3ff01b23SMartin Matuskaagainst the parent datasets' quotas and reservations.
1557*3ff01b23SMartin Matuska.Pp
1558*3ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
1559*3ff01b23SMartin Matuska.Sy reserv .
1560*3ff01b23SMartin Matuska.It Sy secondarycache Ns = Ns Sy all Ns | Ns Sy none Ns | Ns Sy metadata
1561*3ff01b23SMartin MatuskaControls what is cached in the secondary cache
1562*3ff01b23SMartin Matuska.Pq L2ARC .
1563*3ff01b23SMartin MatuskaIf this property is set to
1564*3ff01b23SMartin Matuska.Sy all ,
1565*3ff01b23SMartin Matuskathen both user data and metadata is cached.
1566*3ff01b23SMartin MatuskaIf this property is set to
1567*3ff01b23SMartin Matuska.Sy none ,
1568*3ff01b23SMartin Matuskathen neither user data nor metadata is cached.
1569*3ff01b23SMartin MatuskaIf this property is set to
1570*3ff01b23SMartin Matuska.Sy metadata ,
1571*3ff01b23SMartin Matuskathen only metadata is cached.
1572*3ff01b23SMartin MatuskaThe default value is
1573*3ff01b23SMartin Matuska.Sy all .
1574*3ff01b23SMartin Matuska.It Sy setuid Ns = Ns Sy on Ns | Ns Sy off
1575*3ff01b23SMartin MatuskaControls whether the setuid bit is respected for the file system.
1576*3ff01b23SMartin MatuskaThe default value is
1577*3ff01b23SMartin Matuska.Sy on .
1578*3ff01b23SMartin MatuskaThe values
1579*3ff01b23SMartin Matuska.Sy on
1580*3ff01b23SMartin Matuskaand
1581*3ff01b23SMartin Matuska.Sy off
1582*3ff01b23SMartin Matuskaare equivalent to the
1583*3ff01b23SMartin Matuska.Sy suid
1584*3ff01b23SMartin Matuskaand
1585*3ff01b23SMartin Matuska.Sy nosuid
1586*3ff01b23SMartin Matuskamount options.
1587*3ff01b23SMartin Matuska.It Sy sharesmb Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Ar opts
1588*3ff01b23SMartin MatuskaControls whether the file system is shared by using
1589*3ff01b23SMartin Matuska.Sy Samba USERSHARES
1590*3ff01b23SMartin Matuskaand what options are to be used.
1591*3ff01b23SMartin MatuskaOtherwise, the file system is automatically shared and unshared with the
1592*3ff01b23SMartin Matuska.Nm zfs Cm share
1593*3ff01b23SMartin Matuskaand
1594*3ff01b23SMartin Matuska.Nm zfs Cm unshare
1595*3ff01b23SMartin Matuskacommands.
1596*3ff01b23SMartin MatuskaIf the property is set to on, the
1597*3ff01b23SMartin Matuska.Xr net 8
1598*3ff01b23SMartin Matuskacommand is invoked to create a
1599*3ff01b23SMartin Matuska.Sy USERSHARE .
1600*3ff01b23SMartin Matuska.Pp
1601*3ff01b23SMartin MatuskaBecause SMB shares requires a resource name, a unique resource name is
1602*3ff01b23SMartin Matuskaconstructed from the dataset name.
1603*3ff01b23SMartin MatuskaThe constructed name is a copy of the
1604*3ff01b23SMartin Matuskadataset name except that the characters in the dataset name, which would be
1605*3ff01b23SMartin Matuskainvalid in the resource name, are replaced with underscore (_) characters.
1606*3ff01b23SMartin MatuskaLinux does not currently support additional options which might be available
1607*3ff01b23SMartin Matuskaon Solaris.
1608*3ff01b23SMartin Matuska.Pp
1609*3ff01b23SMartin MatuskaIf the
1610*3ff01b23SMartin Matuska.Sy sharesmb
1611*3ff01b23SMartin Matuskaproperty is set to
1612*3ff01b23SMartin Matuska.Sy off ,
1613*3ff01b23SMartin Matuskathe file systems are unshared.
1614*3ff01b23SMartin Matuska.Pp
1615*3ff01b23SMartin MatuskaThe share is created with the ACL (Access Control List) "Everyone:F" ("F"
1616*3ff01b23SMartin Matuskastands for "full permissions", i.e. read and write permissions) and no guest
1617*3ff01b23SMartin Matuskaaccess (which means Samba must be able to authenticate a real user, system
1618*3ff01b23SMartin Matuskapasswd/shadow, LDAP or smbpasswd based) by default.
1619*3ff01b23SMartin MatuskaThis means that any additional access control
1620*3ff01b23SMartin Matuska(disallow specific user specific access etc) must be done on the underlying file system.
1621*3ff01b23SMartin Matuska.It Sy sharenfs Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Ar opts
1622*3ff01b23SMartin MatuskaControls whether the file system is shared via NFS, and what options are to be
1623*3ff01b23SMartin Matuskaused.
1624*3ff01b23SMartin MatuskaA file system with a
1625*3ff01b23SMartin Matuska.Sy sharenfs
1626*3ff01b23SMartin Matuskaproperty of
1627*3ff01b23SMartin Matuska.Sy off
1628*3ff01b23SMartin Matuskais managed with the
1629*3ff01b23SMartin Matuska.Xr exportfs 8
1630*3ff01b23SMartin Matuskacommand and entries in the
1631*3ff01b23SMartin Matuska.Pa /etc/exports
1632*3ff01b23SMartin Matuskafile.
1633*3ff01b23SMartin MatuskaOtherwise, the file system is automatically shared and unshared with the
1634*3ff01b23SMartin Matuska.Nm zfs Cm share
1635*3ff01b23SMartin Matuskaand
1636*3ff01b23SMartin Matuska.Nm zfs Cm unshare
1637*3ff01b23SMartin Matuskacommands.
1638*3ff01b23SMartin MatuskaIf the property is set to
1639*3ff01b23SMartin Matuska.Sy on ,
1640*3ff01b23SMartin Matuskathe dataset is shared using the default options:
1641*3ff01b23SMartin Matuska.Dl sec=sys,rw,crossmnt,no_subtree_check
1642*3ff01b23SMartin Matuska.Pp
1643*3ff01b23SMartin MatuskaSee
1644*3ff01b23SMartin Matuska.Xr exports 5
1645*3ff01b23SMartin Matuskafor the meaning of the default options.
1646*3ff01b23SMartin MatuskaOtherwise, the
1647*3ff01b23SMartin Matuska.Xr exportfs 8
1648*3ff01b23SMartin Matuskacommand is invoked with options equivalent to the contents of this property.
1649*3ff01b23SMartin Matuska.Pp
1650*3ff01b23SMartin MatuskaWhen the
1651*3ff01b23SMartin Matuska.Sy sharenfs
1652*3ff01b23SMartin Matuskaproperty is changed for a dataset, the dataset and any children inheriting the
1653*3ff01b23SMartin Matuskaproperty are re-shared with the new options, only if the property was previously
1654*3ff01b23SMartin Matuska.Sy off ,
1655*3ff01b23SMartin Matuskaor if they were shared before the property was changed.
1656*3ff01b23SMartin MatuskaIf the new property is
1657*3ff01b23SMartin Matuska.Sy off ,
1658*3ff01b23SMartin Matuskathe file systems are unshared.
1659*3ff01b23SMartin Matuska.It Sy logbias Ns = Ns Sy latency Ns | Ns Sy throughput
1660*3ff01b23SMartin MatuskaProvide a hint to ZFS about handling of synchronous requests in this dataset.
1661*3ff01b23SMartin MatuskaIf
1662*3ff01b23SMartin Matuska.Sy logbias
1663*3ff01b23SMartin Matuskais set to
1664*3ff01b23SMartin Matuska.Sy latency
1665*3ff01b23SMartin Matuska.Pq the default ,
1666*3ff01b23SMartin MatuskaZFS will use pool log devices
1667*3ff01b23SMartin Matuska.Pq if configured
1668*3ff01b23SMartin Matuskato handle the requests at low latency.
1669*3ff01b23SMartin MatuskaIf
1670*3ff01b23SMartin Matuska.Sy logbias
1671*3ff01b23SMartin Matuskais set to
1672*3ff01b23SMartin Matuska.Sy throughput ,
1673*3ff01b23SMartin MatuskaZFS will not use configured pool log devices.
1674*3ff01b23SMartin MatuskaZFS will instead optimize synchronous operations for global pool throughput and
1675*3ff01b23SMartin Matuskaefficient use of resources.
1676*3ff01b23SMartin Matuska.It Sy snapdev Ns = Ns Sy hidden Ns | Ns Sy visible
1677*3ff01b23SMartin MatuskaControls whether the volume snapshot devices under
1678*3ff01b23SMartin Matuska.Pa /dev/zvol/ Ns Aq Ar pool
1679*3ff01b23SMartin Matuskaare hidden or visible.
1680*3ff01b23SMartin MatuskaThe default value is
1681*3ff01b23SMartin Matuska.Sy hidden .
1682*3ff01b23SMartin Matuska.It Sy snapdir Ns = Ns Sy hidden Ns | Ns Sy visible
1683*3ff01b23SMartin MatuskaControls whether the
1684*3ff01b23SMartin Matuska.Pa .zfs
1685*3ff01b23SMartin Matuskadirectory is hidden or visible in the root of the file system as discussed in
1686*3ff01b23SMartin Matuskathe
1687*3ff01b23SMartin Matuska.Sx Snapshots
1688*3ff01b23SMartin Matuskasection of
1689*3ff01b23SMartin Matuska.Xr zfsconcepts 7 .
1690*3ff01b23SMartin MatuskaThe default value is
1691*3ff01b23SMartin Matuska.Sy hidden .
1692*3ff01b23SMartin Matuska.It Sy sync Ns = Ns Sy standard Ns | Ns Sy always Ns | Ns Sy disabled
1693*3ff01b23SMartin MatuskaControls the behavior of synchronous requests
1694*3ff01b23SMartin Matuska.Pq e.g. fsync, O_DSYNC .
1695*3ff01b23SMartin Matuska.Sy standard
1696*3ff01b23SMartin Matuskais the POSIX-specified behavior of ensuring all synchronous requests
1697*3ff01b23SMartin Matuskaare written to stable storage and all devices are flushed to ensure
1698*3ff01b23SMartin Matuskadata is not cached by device controllers
1699*3ff01b23SMartin Matuska.Pq this is the default .
1700*3ff01b23SMartin Matuska.Sy always
1701*3ff01b23SMartin Matuskacauses every file system transaction to be written and flushed before its
1702*3ff01b23SMartin Matuskasystem call returns.
1703*3ff01b23SMartin MatuskaThis has a large performance penalty.
1704*3ff01b23SMartin Matuska.Sy disabled
1705*3ff01b23SMartin Matuskadisables synchronous requests.
1706*3ff01b23SMartin MatuskaFile system transactions are only committed to stable storage periodically.
1707*3ff01b23SMartin MatuskaThis option will give the highest performance.
1708*3ff01b23SMartin MatuskaHowever, it is very dangerous as ZFS would be ignoring the synchronous
1709*3ff01b23SMartin Matuskatransaction demands of applications such as databases or NFS.
1710*3ff01b23SMartin MatuskaAdministrators should only use this option when the risks are understood.
1711*3ff01b23SMartin Matuska.It Sy version Ns = Ns Ar N Ns | Ns Sy current
1712*3ff01b23SMartin MatuskaThe on-disk version of this file system, which is independent of the pool
1713*3ff01b23SMartin Matuskaversion.
1714*3ff01b23SMartin MatuskaThis property can only be set to later supported versions.
1715*3ff01b23SMartin MatuskaSee the
1716*3ff01b23SMartin Matuska.Nm zfs Cm upgrade
1717*3ff01b23SMartin Matuskacommand.
1718*3ff01b23SMartin Matuska.It Sy volsize Ns = Ns Ar size
1719*3ff01b23SMartin MatuskaFor volumes, specifies the logical size of the volume.
1720*3ff01b23SMartin MatuskaBy default, creating a volume establishes a reservation of equal size.
1721*3ff01b23SMartin MatuskaFor storage pools with a version number of 9 or higher, a
1722*3ff01b23SMartin Matuska.Sy refreservation
1723*3ff01b23SMartin Matuskais set instead.
1724*3ff01b23SMartin MatuskaAny changes to
1725*3ff01b23SMartin Matuska.Sy volsize
1726*3ff01b23SMartin Matuskaare reflected in an equivalent change to the reservation
1727*3ff01b23SMartin Matuska.Pq or Sy refreservation .
1728*3ff01b23SMartin MatuskaThe
1729*3ff01b23SMartin Matuska.Sy volsize
1730*3ff01b23SMartin Matuskacan only be set to a multiple of
1731*3ff01b23SMartin Matuska.Sy volblocksize ,
1732*3ff01b23SMartin Matuskaand cannot be zero.
1733*3ff01b23SMartin Matuska.Pp
1734*3ff01b23SMartin MatuskaThe reservation is kept equal to the volume's logical size to prevent unexpected
1735*3ff01b23SMartin Matuskabehavior for consumers.
1736*3ff01b23SMartin MatuskaWithout the reservation, the volume could run out of space, resulting in
1737*3ff01b23SMartin Matuskaundefined behavior or data corruption, depending on how the volume is used.
1738*3ff01b23SMartin MatuskaThese effects can also occur when the volume size is changed while it is in use
1739*3ff01b23SMartin Matuska.Pq particularly when shrinking the size .
1740*3ff01b23SMartin MatuskaExtreme care should be used when adjusting the volume size.
1741*3ff01b23SMartin Matuska.Pp
1742*3ff01b23SMartin MatuskaThough not recommended, a
1743*3ff01b23SMartin Matuska.Qq sparse volume
1744*3ff01b23SMartin Matuska.Po also known as
1745*3ff01b23SMartin Matuska.Qq thin provisioned
1746*3ff01b23SMartin Matuska.Pc
1747*3ff01b23SMartin Matuskacan be created by specifying the
1748*3ff01b23SMartin Matuska.Fl s
1749*3ff01b23SMartin Matuskaoption to the
1750*3ff01b23SMartin Matuska.Nm zfs Cm create Fl V
1751*3ff01b23SMartin Matuskacommand, or by changing the value of the
1752*3ff01b23SMartin Matuska.Sy refreservation
1753*3ff01b23SMartin Matuskaproperty
1754*3ff01b23SMartin Matuska.Po or
1755*3ff01b23SMartin Matuska.Sy reservation
1756*3ff01b23SMartin Matuskaproperty on pool version 8 or earlier
1757*3ff01b23SMartin Matuska.Pc
1758*3ff01b23SMartin Matuskaafter the volume has been created.
1759*3ff01b23SMartin MatuskaA
1760*3ff01b23SMartin Matuska.Qq sparse volume
1761*3ff01b23SMartin Matuskais a volume where the value of
1762*3ff01b23SMartin Matuska.Sy refreservation
1763*3ff01b23SMartin Matuskais less than the size of the volume plus the space required to store its
1764*3ff01b23SMartin Matuskametadata.
1765*3ff01b23SMartin MatuskaConsequently, writes to a sparse volume can fail with
1766*3ff01b23SMartin Matuska.Er ENOSPC
1767*3ff01b23SMartin Matuskawhen the pool is low on space.
1768*3ff01b23SMartin MatuskaFor a sparse volume, changes to
1769*3ff01b23SMartin Matuska.Sy volsize
1770*3ff01b23SMartin Matuskaare not reflected in the
1771*3ff01b23SMartin Matuska.Sy refreservation .
1772*3ff01b23SMartin MatuskaA volume that is not sparse is said to be
1773*3ff01b23SMartin Matuska.Qq thick provisioned .
1774*3ff01b23SMartin MatuskaA sparse volume can become thick provisioned by setting
1775*3ff01b23SMartin Matuska.Sy refreservation
1776*3ff01b23SMartin Matuskato
1777*3ff01b23SMartin Matuska.Sy auto .
1778*3ff01b23SMartin Matuska.It Sy volmode Ns = Ns Sy default Ns | Ns Sy full Ns | Ns Sy geom Ns | Ns Sy dev Ns | Ns Sy none
1779*3ff01b23SMartin MatuskaThis property specifies how volumes should be exposed to the OS.
1780*3ff01b23SMartin MatuskaSetting it to
1781*3ff01b23SMartin Matuska.Sy full
1782*3ff01b23SMartin Matuskaexposes volumes as fully fledged block devices, providing maximal
1783*3ff01b23SMartin Matuskafunctionality.
1784*3ff01b23SMartin MatuskaThe value
1785*3ff01b23SMartin Matuska.Sy geom
1786*3ff01b23SMartin Matuskais just an alias for
1787*3ff01b23SMartin Matuska.Sy full
1788*3ff01b23SMartin Matuskaand is kept for compatibility.
1789*3ff01b23SMartin MatuskaSetting it to
1790*3ff01b23SMartin Matuska.Sy dev
1791*3ff01b23SMartin Matuskahides its partitions.
1792*3ff01b23SMartin MatuskaVolumes with property set to
1793*3ff01b23SMartin Matuska.Sy none
1794*3ff01b23SMartin Matuskaare not exposed outside ZFS, but can be snapshotted, cloned, replicated, etc,
1795*3ff01b23SMartin Matuskathat can be suitable for backup purposes.
1796*3ff01b23SMartin MatuskaValue
1797*3ff01b23SMartin Matuska.Sy default
1798*3ff01b23SMartin Matuskameans that volumes exposition is controlled by system-wide tunable
1799*3ff01b23SMartin Matuska.Sy zvol_volmode ,
1800*3ff01b23SMartin Matuskawhere
1801*3ff01b23SMartin Matuska.Sy full ,
1802*3ff01b23SMartin Matuska.Sy dev
1803*3ff01b23SMartin Matuskaand
1804*3ff01b23SMartin Matuska.Sy none
1805*3ff01b23SMartin Matuskaare encoded as 1, 2 and 3 respectively.
1806*3ff01b23SMartin MatuskaThe default value is
1807*3ff01b23SMartin Matuska.Sy full .
1808*3ff01b23SMartin Matuska.It Sy vscan Ns = Ns Sy on Ns | Ns Sy off
1809*3ff01b23SMartin MatuskaControls whether regular files should be scanned for viruses when a file is
1810*3ff01b23SMartin Matuskaopened and closed.
1811*3ff01b23SMartin MatuskaIn addition to enabling this property, the virus scan service must also be
1812*3ff01b23SMartin Matuskaenabled for virus scanning to occur.
1813*3ff01b23SMartin MatuskaThe default value is
1814*3ff01b23SMartin Matuska.Sy off .
1815*3ff01b23SMartin MatuskaThis property is not used by OpenZFS.
1816*3ff01b23SMartin Matuska.It Sy xattr Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy sa
1817*3ff01b23SMartin MatuskaControls whether extended attributes are enabled for this file system.
1818*3ff01b23SMartin MatuskaTwo styles of extended attributes are supported: either directory based
1819*3ff01b23SMartin Matuskaor system attribute based.
1820*3ff01b23SMartin Matuska.Pp
1821*3ff01b23SMartin MatuskaThe default value of
1822*3ff01b23SMartin Matuska.Sy on
1823*3ff01b23SMartin Matuskaenables directory based extended attributes.
1824*3ff01b23SMartin MatuskaThis style of extended attribute imposes no practical limit
1825*3ff01b23SMartin Matuskaon either the size or number of attributes which can be set on a file.
1826*3ff01b23SMartin MatuskaAlthough under Linux the
1827*3ff01b23SMartin Matuska.Xr getxattr 2
1828*3ff01b23SMartin Matuskaand
1829*3ff01b23SMartin Matuska.Xr setxattr 2
1830*3ff01b23SMartin Matuskasystem calls limit the maximum size to 64K.
1831*3ff01b23SMartin MatuskaThis is the most compatible
1832*3ff01b23SMartin Matuskastyle of extended attribute and is supported by all ZFS implementations.
1833*3ff01b23SMartin Matuska.Pp
1834*3ff01b23SMartin MatuskaSystem attribute based xattrs can be enabled by setting the value to
1835*3ff01b23SMartin Matuska.Sy sa .
1836*3ff01b23SMartin MatuskaThe key advantage of this type of xattr is improved performance.
1837*3ff01b23SMartin MatuskaStoring extended attributes as system attributes
1838*3ff01b23SMartin Matuskasignificantly decreases the amount of disk IO required.
1839*3ff01b23SMartin MatuskaUp to 64K of data may be stored per-file in the space reserved for system attributes.
1840*3ff01b23SMartin MatuskaIf there is not enough space available for an extended attribute
1841*3ff01b23SMartin Matuskathen it will be automatically written as a directory based xattr.
1842*3ff01b23SMartin MatuskaSystem attribute based extended attributes are not accessible
1843*3ff01b23SMartin Matuskaon platforms which do not support the
1844*3ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa
1845*3ff01b23SMartin Matuskafeature.
1846*3ff01b23SMartin MatuskaOpenZFS supports
1847*3ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa
1848*3ff01b23SMartin Matuskaon both
1849*3ff01b23SMartin Matuska.Fx
1850*3ff01b23SMartin Matuskaand Linux.
1851*3ff01b23SMartin Matuska.Pp
1852*3ff01b23SMartin MatuskaThe use of system attribute based xattrs is strongly encouraged for users of
1853*3ff01b23SMartin MatuskaSELinux or POSIX ACLs.
1854*3ff01b23SMartin MatuskaBoth of these features heavily rely on extended
1855*3ff01b23SMartin Matuskaattributes and benefit significantly from the reduced access time.
1856*3ff01b23SMartin Matuska.Pp
1857*3ff01b23SMartin MatuskaThe values
1858*3ff01b23SMartin Matuska.Sy on
1859*3ff01b23SMartin Matuskaand
1860*3ff01b23SMartin Matuska.Sy off
1861*3ff01b23SMartin Matuskaare equivalent to the
1862*3ff01b23SMartin Matuska.Sy xattr
1863*3ff01b23SMartin Matuskaand
1864*3ff01b23SMartin Matuska.Sy noxattr
1865*3ff01b23SMartin Matuskamount options.
1866*3ff01b23SMartin Matuska.It Sy jailed Ns = Ns Sy off Ns | Ns Sy on
1867*3ff01b23SMartin MatuskaControls whether the dataset is managed from a jail.
1868*3ff01b23SMartin MatuskaSee
1869*3ff01b23SMartin Matuska.Xr zfs-jail 8
1870*3ff01b23SMartin Matuskafor more information.
1871*3ff01b23SMartin MatuskaJails are a
1872*3ff01b23SMartin Matuska.Fx
1873*3ff01b23SMartin Matuskafeature and are not relevant on other platforms.
1874*3ff01b23SMartin MatuskaThe default value is
1875*3ff01b23SMartin Matuska.Sy off .
1876*3ff01b23SMartin Matuska.It Sy zoned Ns = Ns Sy on Ns | Ns Sy off
1877*3ff01b23SMartin MatuskaControls whether the dataset is managed from a non-global zone.
1878*3ff01b23SMartin MatuskaZones are a Solaris feature and are not relevant on other platforms.
1879*3ff01b23SMartin MatuskaThe default value is
1880*3ff01b23SMartin Matuska.Sy off .
1881*3ff01b23SMartin Matuska.El
1882*3ff01b23SMartin Matuska.Pp
1883*3ff01b23SMartin MatuskaThe following three properties cannot be changed after the file system is
1884*3ff01b23SMartin Matuskacreated, and therefore, should be set when the file system is created.
1885*3ff01b23SMartin MatuskaIf the properties are not set with the
1886*3ff01b23SMartin Matuska.Nm zfs Cm create
1887*3ff01b23SMartin Matuskaor
1888*3ff01b23SMartin Matuska.Nm zpool Cm create
1889*3ff01b23SMartin Matuskacommands, these properties are inherited from the parent dataset.
1890*3ff01b23SMartin MatuskaIf the parent dataset lacks these properties due to having been created prior to
1891*3ff01b23SMartin Matuskathese features being supported, the new file system will have the default values
1892*3ff01b23SMartin Matuskafor these properties.
1893*3ff01b23SMartin Matuska.Bl -tag -width ""
1894*3ff01b23SMartin Matuska.It Xo
1895*3ff01b23SMartin Matuska.Sy casesensitivity Ns = Ns Sy sensitive Ns | Ns
1896*3ff01b23SMartin Matuska.Sy insensitive Ns | Ns Sy mixed
1897*3ff01b23SMartin Matuska.Xc
1898*3ff01b23SMartin MatuskaIndicates whether the file name matching algorithm used by the file system
1899*3ff01b23SMartin Matuskashould be case-sensitive, case-insensitive, or allow a combination of both
1900*3ff01b23SMartin Matuskastyles of matching.
1901*3ff01b23SMartin MatuskaThe default value for the
1902*3ff01b23SMartin Matuska.Sy casesensitivity
1903*3ff01b23SMartin Matuskaproperty is
1904*3ff01b23SMartin Matuska.Sy sensitive .
1905*3ff01b23SMartin MatuskaTraditionally,
1906*3ff01b23SMartin Matuska.Ux
1907*3ff01b23SMartin Matuskaand POSIX file systems have case-sensitive file names.
1908*3ff01b23SMartin Matuska.Pp
1909*3ff01b23SMartin MatuskaThe
1910*3ff01b23SMartin Matuska.Sy mixed
1911*3ff01b23SMartin Matuskavalue for the
1912*3ff01b23SMartin Matuska.Sy casesensitivity
1913*3ff01b23SMartin Matuskaproperty indicates that the file system can support requests for both
1914*3ff01b23SMartin Matuskacase-sensitive and case-insensitive matching behavior.
1915*3ff01b23SMartin MatuskaCurrently, case-insensitive matching behavior on a file system that supports
1916*3ff01b23SMartin Matuskamixed behavior is limited to the SMB server product.
1917*3ff01b23SMartin MatuskaFor more information about the
1918*3ff01b23SMartin Matuska.Sy mixed
1919*3ff01b23SMartin Matuskavalue behavior, see the "ZFS Administration Guide".
1920*3ff01b23SMartin Matuska.It Xo
1921*3ff01b23SMartin Matuska.Sy normalization Ns = Ns Sy none Ns | Ns Sy formC Ns | Ns
1922*3ff01b23SMartin Matuska.Sy formD Ns | Ns Sy formKC Ns | Ns Sy formKD
1923*3ff01b23SMartin Matuska.Xc
1924*3ff01b23SMartin MatuskaIndicates whether the file system should perform a
1925*3ff01b23SMartin Matuska.Sy unicode
1926*3ff01b23SMartin Matuskanormalization of file names whenever two file names are compared, and which
1927*3ff01b23SMartin Matuskanormalization algorithm should be used.
1928*3ff01b23SMartin MatuskaFile names are always stored unmodified, names are normalized as part of any
1929*3ff01b23SMartin Matuskacomparison process.
1930*3ff01b23SMartin MatuskaIf this property is set to a legal value other than
1931*3ff01b23SMartin Matuska.Sy none ,
1932*3ff01b23SMartin Matuskaand the
1933*3ff01b23SMartin Matuska.Sy utf8only
1934*3ff01b23SMartin Matuskaproperty was left unspecified, the
1935*3ff01b23SMartin Matuska.Sy utf8only
1936*3ff01b23SMartin Matuskaproperty is automatically set to
1937*3ff01b23SMartin Matuska.Sy on .
1938*3ff01b23SMartin MatuskaThe default value of the
1939*3ff01b23SMartin Matuska.Sy normalization
1940*3ff01b23SMartin Matuskaproperty is
1941*3ff01b23SMartin Matuska.Sy none .
1942*3ff01b23SMartin MatuskaThis property cannot be changed after the file system is created.
1943*3ff01b23SMartin Matuska.It Sy utf8only Ns = Ns Sy on Ns | Ns Sy off
1944*3ff01b23SMartin MatuskaIndicates whether the file system should reject file names that include
1945*3ff01b23SMartin Matuskacharacters that are not present in the
1946*3ff01b23SMartin Matuska.Sy UTF-8
1947*3ff01b23SMartin Matuskacharacter code set.
1948*3ff01b23SMartin MatuskaIf this property is explicitly set to
1949*3ff01b23SMartin Matuska.Sy off ,
1950*3ff01b23SMartin Matuskathe normalization property must either not be explicitly set or be set to
1951*3ff01b23SMartin Matuska.Sy none .
1952*3ff01b23SMartin MatuskaThe default value for the
1953*3ff01b23SMartin Matuska.Sy utf8only
1954*3ff01b23SMartin Matuskaproperty is
1955*3ff01b23SMartin Matuska.Sy off .
1956*3ff01b23SMartin MatuskaThis property cannot be changed after the file system is created.
1957*3ff01b23SMartin Matuska.El
1958*3ff01b23SMartin Matuska.Pp
1959*3ff01b23SMartin MatuskaThe
1960*3ff01b23SMartin Matuska.Sy casesensitivity ,
1961*3ff01b23SMartin Matuska.Sy normalization ,
1962*3ff01b23SMartin Matuskaand
1963*3ff01b23SMartin Matuska.Sy utf8only
1964*3ff01b23SMartin Matuskaproperties are also new permissions that can be assigned to non-privileged users
1965*3ff01b23SMartin Matuskaby using the ZFS delegated administration feature.
1966*3ff01b23SMartin Matuska.
1967*3ff01b23SMartin Matuska.Ss Temporary Mount Point Properties
1968*3ff01b23SMartin MatuskaWhen a file system is mounted, either through
1969*3ff01b23SMartin Matuska.Xr mount 8
1970*3ff01b23SMartin Matuskafor legacy mounts or the
1971*3ff01b23SMartin Matuska.Nm zfs Cm mount
1972*3ff01b23SMartin Matuskacommand for normal file systems, its mount options are set according to its
1973*3ff01b23SMartin Matuskaproperties.
1974*3ff01b23SMartin MatuskaThe correlation between properties and mount options is as follows:
1975*3ff01b23SMartin Matuska.Bl -tag -compact -offset Ds -width "rootcontext="
1976*3ff01b23SMartin Matuska.It Sy atime
1977*3ff01b23SMartin Matuskaatime/noatime
1978*3ff01b23SMartin Matuska.It Sy canmount
1979*3ff01b23SMartin Matuskaauto/noauto
1980*3ff01b23SMartin Matuska.It Sy devices
1981*3ff01b23SMartin Matuskadev/nodev
1982*3ff01b23SMartin Matuska.It Sy exec
1983*3ff01b23SMartin Matuskaexec/noexec
1984*3ff01b23SMartin Matuska.It Sy readonly
1985*3ff01b23SMartin Matuskaro/rw
1986*3ff01b23SMartin Matuska.It Sy relatime
1987*3ff01b23SMartin Matuskarelatime/norelatime
1988*3ff01b23SMartin Matuska.It Sy setuid
1989*3ff01b23SMartin Matuskasuid/nosuid
1990*3ff01b23SMartin Matuska.It Sy xattr
1991*3ff01b23SMartin Matuskaxattr/noxattr
1992*3ff01b23SMartin Matuska.It Sy nbmand
1993*3ff01b23SMartin Matuskamand/nomand
1994*3ff01b23SMartin Matuska.It Sy context Ns =
1995*3ff01b23SMartin Matuskacontext=
1996*3ff01b23SMartin Matuska.It Sy fscontext Ns =
1997*3ff01b23SMartin Matuskafscontext=
1998*3ff01b23SMartin Matuska.It Sy defcontext Ns =
1999*3ff01b23SMartin Matuskadefcontext=
2000*3ff01b23SMartin Matuska.It Sy rootcontext Ns =
2001*3ff01b23SMartin Matuskarootcontext=
2002*3ff01b23SMartin Matuska.El
2003*3ff01b23SMartin Matuska.Pp
2004*3ff01b23SMartin MatuskaIn addition, these options can be set on a per-mount basis using the
2005*3ff01b23SMartin Matuska.Fl o
2006*3ff01b23SMartin Matuskaoption, without affecting the property that is stored on disk.
2007*3ff01b23SMartin MatuskaThe values specified on the command line override the values stored in the
2008*3ff01b23SMartin Matuskadataset.
2009*3ff01b23SMartin MatuskaThe
2010*3ff01b23SMartin Matuska.Sy nosuid
2011*3ff01b23SMartin Matuskaoption is an alias for
2012*3ff01b23SMartin Matuska.Sy nodevices , Ns Sy nosetuid .
2013*3ff01b23SMartin MatuskaThese properties are reported as
2014*3ff01b23SMartin Matuska.Qq temporary
2015*3ff01b23SMartin Matuskaby the
2016*3ff01b23SMartin Matuska.Nm zfs Cm get
2017*3ff01b23SMartin Matuskacommand.
2018*3ff01b23SMartin MatuskaIf the properties are changed while the dataset is mounted, the new setting
2019*3ff01b23SMartin Matuskaoverrides any temporary settings.
2020*3ff01b23SMartin Matuska.
2021*3ff01b23SMartin Matuska.Ss User Properties
2022*3ff01b23SMartin MatuskaIn addition to the standard native properties, ZFS supports arbitrary user
2023*3ff01b23SMartin Matuskaproperties.
2024*3ff01b23SMartin MatuskaUser properties have no effect on ZFS behavior, but applications or
2025*3ff01b23SMartin Matuskaadministrators can use them to annotate datasets
2026*3ff01b23SMartin Matuska.Pq file systems, volumes, and snapshots .
2027*3ff01b23SMartin Matuska.Pp
2028*3ff01b23SMartin MatuskaUser property names must contain a colon
2029*3ff01b23SMartin Matuska.Pq Qq Sy \&:
2030*3ff01b23SMartin Matuskacharacter to distinguish them from native properties.
2031*3ff01b23SMartin MatuskaThey may contain lowercase letters, numbers, and the following punctuation
2032*3ff01b23SMartin Matuskacharacters: colon
2033*3ff01b23SMartin Matuska.Pq Qq Sy \&: ,
2034*3ff01b23SMartin Matuskadash
2035*3ff01b23SMartin Matuska.Pq Qq Sy - ,
2036*3ff01b23SMartin Matuskaperiod
2037*3ff01b23SMartin Matuska.Pq Qq Sy \&. ,
2038*3ff01b23SMartin Matuskaand underscore
2039*3ff01b23SMartin Matuska.Pq Qq Sy _ .
2040*3ff01b23SMartin MatuskaThe expected convention is that the property name is divided into two portions
2041*3ff01b23SMartin Matuskasuch as
2042*3ff01b23SMartin Matuska.Ar module : Ns Ar property ,
2043*3ff01b23SMartin Matuskabut this namespace is not enforced by ZFS.
2044*3ff01b23SMartin MatuskaUser property names can be at most 256 characters, and cannot begin with a dash
2045*3ff01b23SMartin Matuska.Pq Qq Sy - .
2046*3ff01b23SMartin Matuska.Pp
2047*3ff01b23SMartin MatuskaWhen making programmatic use of user properties, it is strongly suggested to use
2048*3ff01b23SMartin Matuskaa reversed DNS domain name for the
2049*3ff01b23SMartin Matuska.Ar module
2050*3ff01b23SMartin Matuskacomponent of property names to reduce the chance that two
2051*3ff01b23SMartin Matuskaindependently-developed packages use the same property name for different
2052*3ff01b23SMartin Matuskapurposes.
2053*3ff01b23SMartin Matuska.Pp
2054*3ff01b23SMartin MatuskaThe values of user properties are arbitrary strings, are always inherited, and
2055*3ff01b23SMartin Matuskaare never validated.
2056*3ff01b23SMartin MatuskaAll of the commands that operate on properties
2057*3ff01b23SMartin Matuska.Po Nm zfs Cm list ,
2058*3ff01b23SMartin Matuska.Nm zfs Cm get ,
2059*3ff01b23SMartin Matuska.Nm zfs Cm set ,
2060*3ff01b23SMartin Matuskaand so forth
2061*3ff01b23SMartin Matuska.Pc
2062*3ff01b23SMartin Matuskacan be used to manipulate both native properties and user properties.
2063*3ff01b23SMartin MatuskaUse the
2064*3ff01b23SMartin Matuska.Nm zfs Cm inherit
2065*3ff01b23SMartin Matuskacommand to clear a user property.
2066*3ff01b23SMartin MatuskaIf the property is not defined in any parent dataset, it is removed entirely.
2067*3ff01b23SMartin MatuskaProperty values are limited to 8192 bytes.
2068