Make abd_raidz_gen_iterate() pass an initialized pointer to the callback
[zfs.git] / man / man7 / zfsprops.7
blob9ff0236f4d74fd7d071b7b0615ba6d6c7d7a1375
1 .\"
2 .\" CDDL HEADER START
3 .\"
4 .\" The contents of this file are subject to the terms of the
5 .\" Common Development and Distribution License (the "License").
6 .\" You may not use this file except in compliance with the License.
7 .\"
8 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 .\" or https://opensource.org/licenses/CDDL-1.0.
10 .\" See the License for the specific language governing permissions
11 .\" and limitations under the License.
12 .\"
13 .\" When distributing Covered Code, include this CDDL HEADER in each
14 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 .\" If applicable, add the following below this CDDL HEADER, with the
16 .\" fields enclosed by brackets "[]" replaced with your own identifying
17 .\" information: Portions Copyright [yyyy] [name of copyright owner]
18 .\"
19 .\" CDDL HEADER END
20 .\"
21 .\" Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
22 .\" Copyright 2011 Joshua M. Clulow <josh@sysmgr.org>
23 .\" Copyright (c) 2011, 2019 by Delphix. All rights reserved.
24 .\" Copyright (c) 2011, Pawel Jakub Dawidek <pjd@FreeBSD.org>
25 .\" Copyright (c) 2012, Glen Barber <gjb@FreeBSD.org>
26 .\" Copyright (c) 2012, Bryan Drewery <bdrewery@FreeBSD.org>
27 .\" Copyright (c) 2013, Steven Hartland <smh@FreeBSD.org>
28 .\" Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
29 .\" Copyright (c) 2014, Joyent, Inc. All rights reserved.
30 .\" Copyright (c) 2014 by Adam Stevko. All rights reserved.
31 .\" Copyright (c) 2014 Integros [integros.com]
32 .\" Copyright (c) 2016 Nexenta Systems, Inc. All Rights Reserved.
33 .\" Copyright (c) 2014, Xin LI <delphij@FreeBSD.org>
34 .\" Copyright (c) 2014-2015, The FreeBSD Foundation, All Rights Reserved.
35 .\" Copyright 2019 Richard Laager. All rights reserved.
36 .\" Copyright 2018 Nexenta Systems, Inc.
37 .\" Copyright 2019 Joyent, Inc.
38 .\" Copyright (c) 2019, Kjeld Schouten-Lebbing
39 .\" Copyright (c) 2022 Hewlett Packard Enterprise Development LP.
40 .\"
41 .Dd August 8, 2023
42 .Dt ZFSPROPS 7
43 .Os
45 .Sh NAME
46 .Nm zfsprops
47 .Nd native and user-defined properties of ZFS datasets
49 .Sh DESCRIPTION
50 Properties are divided into two types, native properties and user-defined
51 .Po or
52 .Qq user
53 .Pc
54 properties.
55 Native properties either export internal statistics or control ZFS behavior.
56 In addition, native properties are either editable or read-only.
57 User properties have no effect on ZFS behavior, but you can use them to annotate
58 datasets in a way that is meaningful in your environment.
59 For more information about user properties, see the
60 .Sx User Properties
61 section, below.
63 .Ss Native Properties
64 Every dataset has a set of properties that export statistics about the dataset
65 as well as control various behaviors.
66 Properties are inherited from the parent unless overridden by the child.
67 Some properties apply only to certain types of datasets
68 .Pq file systems, volumes, or snapshots .
69 .Pp
70 The values of numeric properties can be specified using human-readable suffixes
71 .Po for example,
72 .Sy k ,
73 .Sy KB ,
74 .Sy M ,
75 .Sy Gb ,
76 and so forth, up to
77 .Sy Z
78 for zettabyte
79 .Pc .
80 The following are all valid
81 .Pq and equal
82 specifications:
83 .Li 1536M ,
84 .Li 1.5g ,
85 .Li 1.50GB .
86 .Pp
87 The values of non-numeric properties are case sensitive and must be lowercase,
88 except for
89 .Sy mountpoint ,
90 .Sy sharenfs ,
91 and
92 .Sy sharesmb .
93 .Pp
94 The following native properties consist of read-only statistics about the
95 dataset.
96 These properties can be neither set, nor inherited.
97 Native properties apply to all dataset types unless otherwise noted.
98 .Bl -tag -width "usedbyrefreservation"
99 .It Sy available
100 The amount of space available to the dataset and all its children, assuming that
101 there is no other activity in the pool.
102 Because space is shared within a pool, availability can be limited by any number
103 of factors, including physical pool size, quotas, reservations, or other
104 datasets within the pool.
106 This property can also be referred to by its shortened column name,
107 .Sy avail .
108 .It Sy compressratio
109 For non-snapshots, the compression ratio achieved for the
110 .Sy used
111 space of this dataset, expressed as a multiplier.
113 .Sy used
114 property includes descendant datasets, and, for clones, does not include the
115 space shared with the origin snapshot.
116 For snapshots, the
117 .Sy compressratio
118 is the same as the
119 .Sy refcompressratio
120 property.
121 Compression can be turned on by running:
122 .Nm zfs Cm set Sy compression Ns = Ns Sy on Ar dataset .
123 The default value is
124 .Sy off .
125 .It Sy createtxg
126 The transaction group (txg) in which the dataset was created.
127 Bookmarks have the same
128 .Sy createtxg
129 as the snapshot they are initially tied to.
130 This property is suitable for ordering a list of snapshots,
131 e.g. for incremental send and receive.
132 .It Sy creation
133 The time this dataset was created.
134 .It Sy clones
135 For snapshots, this property is a comma-separated list of filesystems or volumes
136 which are clones of this snapshot.
137 The clones'
138 .Sy origin
139 property is this snapshot.
140 If the
141 .Sy clones
142 property is not empty, then this snapshot can not be destroyed
143 .Po even with the
144 .Fl r
146 .Fl f
147 options
148 .Pc .
149 The roles of origin and clone can be swapped by promoting the clone with the
150 .Nm zfs Cm promote
151 command.
152 .It Sy defer_destroy
153 This property is
154 .Sy on
155 if the snapshot has been marked for deferred destroy by using the
156 .Nm zfs Cm destroy Fl d
157 command.
158 Otherwise, the property is
159 .Sy off .
160 .It Sy encryptionroot
161 For encrypted datasets, indicates where the dataset is currently inheriting its
162 encryption key from.
163 Loading or unloading a key for the
164 .Sy encryptionroot
165 will implicitly load / unload the key for any inheriting datasets (see
166 .Nm zfs Cm load-key
168 .Nm zfs Cm unload-key
169 for details).
170 Clones will always share an
171 encryption key with their origin.
172 See the
173 .Sx Encryption
174 section of
175 .Xr zfs-load-key 8
176 for details.
177 .It Sy filesystem_count
178 The total number of filesystems and volumes that exist under this location in
179 the dataset tree.
180 This value is only available when a
181 .Sy filesystem_limit
182 has been set somewhere in the tree under which the dataset resides.
183 .It Sy keystatus
184 Indicates if an encryption key is currently loaded into ZFS.
185 The possible values are
186 .Sy none ,
187 .Sy available ,
189 .Sy unavailable .
191 .Nm zfs Cm load-key
193 .Nm zfs Cm unload-key .
194 .It Sy guid
195 The 64 bit GUID of this dataset or bookmark which does not change over its
196 entire lifetime.
197 When a snapshot is sent to another pool, the received snapshot has the same
198 GUID.
199 Thus, the
200 .Sy guid
201 is suitable to identify a snapshot across pools.
202 .It Sy logicalreferenced
203 The amount of space that is
204 .Qq logically
205 accessible by this dataset.
206 See the
207 .Sy referenced
208 property.
209 The logical space ignores the effect of the
210 .Sy compression
212 .Sy copies
213 properties, giving a quantity closer to the amount of data that applications
214 see.
215 However, it does include space consumed by metadata.
217 This property can also be referred to by its shortened column name,
218 .Sy lrefer .
219 .It Sy logicalused
220 The amount of space that is
221 .Qq logically
222 consumed by this dataset and all its descendents.
223 See the
224 .Sy used
225 property.
226 The logical space ignores the effect of the
227 .Sy compression
229 .Sy copies
230 properties, giving a quantity closer to the amount of data that applications
231 see.
232 However, it does include space consumed by metadata.
234 This property can also be referred to by its shortened column name,
235 .Sy lused .
236 .It Sy mounted
237 For file systems, indicates whether the file system is currently mounted.
238 This property can be either
239 .Sy yes
241 .Sy no .
242 .It Sy objsetid
243 A unique identifier for this dataset within the pool.
244 Unlike the dataset's
245 .Sy guid , No the Sy objsetid
246 of a dataset is not transferred to other pools when the snapshot is copied
247 with a send/receive operation.
249 .Sy objsetid
250 can be reused (for a new dataset) after the dataset is deleted.
251 .It Sy origin
252 For cloned file systems or volumes, the snapshot from which the clone was
253 created.
254 See also the
255 .Sy clones
256 property.
257 .It Sy receive_resume_token
258 For filesystems or volumes which have saved partially-completed state from
259 .Nm zfs Cm receive Fl s ,
260 this opaque token can be provided to
261 .Nm zfs Cm send Fl t
262 to resume and complete the
263 .Nm zfs Cm receive .
264 .It Sy redact_snaps
265 For bookmarks, this is the list of snapshot guids the bookmark contains a
266 redaction
267 list for.
268 For snapshots, this is the list of snapshot guids the snapshot is redacted with
269 respect to.
270 .It Sy referenced
271 The amount of data that is accessible by this dataset, which may or may not be
272 shared with other datasets in the pool.
273 When a snapshot or clone is created, it initially references the same amount of
274 space as the file system or snapshot it was created from, since its contents are
275 identical.
277 This property can also be referred to by its shortened column name,
278 .Sy refer .
279 .It Sy refcompressratio
280 The compression ratio achieved for the
281 .Sy referenced
282 space of this dataset, expressed as a multiplier.
283 See also the
284 .Sy compressratio
285 property.
286 .It Sy snapshot_count
287 The total number of snapshots that exist under this location in the dataset
288 tree.
289 This value is only available when a
290 .Sy snapshot_limit
291 has been set somewhere in the tree under which the dataset resides.
292 .It Sy type
293 The type of dataset:
294 .Sy filesystem ,
295 .Sy volume ,
296 .Sy snapshot ,
298 .Sy bookmark .
299 .It Sy used
300 The amount of space consumed by this dataset and all its descendents.
301 This is the value that is checked against this dataset's quota and reservation.
302 The space used does not include this dataset's reservation, but does take into
303 account the reservations of any descendent datasets.
304 The amount of space that a dataset consumes from its parent, as well as the
305 amount of space that is freed if this dataset is recursively destroyed, is the
306 greater of its space used and its reservation.
308 The used space of a snapshot
309 .Po see the
310 .Sx Snapshots
311 section of
312 .Xr zfsconcepts 7
314 is space that is referenced exclusively by this snapshot.
315 If this snapshot is destroyed, the amount of
316 .Sy used
317 space will be freed.
318 Space that is shared by multiple snapshots isn't accounted for in this metric.
319 When a snapshot is destroyed, space that was previously shared with this
320 snapshot can become unique to snapshots adjacent to it, thus changing the used
321 space of those snapshots.
322 The used space of the latest snapshot can also be affected by changes in the
323 file system.
324 Note that the
325 .Sy used
326 space of a snapshot is a subset of the
327 .Sy written
328 space of the snapshot.
330 The amount of space used, available, or referenced does not take into account
331 pending changes.
332 Pending changes are generally accounted for within a few seconds.
333 Committing a change to a disk using
334 .Xr fsync 2
336 .Sy O_SYNC
337 does not necessarily guarantee that the space usage information is updated
338 immediately.
339 .It Sy usedby*
341 .Sy usedby*
342 properties decompose the
343 .Sy used
344 properties into the various reasons that space is used.
345 Specifically,
346 .Sy used No =
347 .Sy usedbychildren No +
348 .Sy usedbydataset No +
349 .Sy usedbyrefreservation No +
350 .Sy usedbysnapshots .
351 These properties are only available for datasets created on
352 .Nm zpool
353 .Qo version 13 Qc
354 pools.
355 .It Sy usedbychildren
356 The amount of space used by children of this dataset, which would be freed if
357 all the dataset's children were destroyed.
358 .It Sy usedbydataset
359 The amount of space used by this dataset itself, which would be freed if the
360 dataset were destroyed
361 .Po after first removing any
362 .Sy refreservation
363 and destroying any necessary snapshots or descendents
364 .Pc .
365 .It Sy usedbyrefreservation
366 The amount of space used by a
367 .Sy refreservation
368 set on this dataset, which would be freed if the
369 .Sy refreservation
370 was removed.
371 .It Sy usedbysnapshots
372 The amount of space consumed by snapshots of this dataset.
373 In particular, it is the amount of space that would be freed if all of this
374 dataset's snapshots were destroyed.
375 Note that this is not simply the sum of the snapshots'
376 .Sy used
377 properties because space can be shared by multiple snapshots.
378 .It Sy userused Ns @ Ns Ar user
379 The amount of space consumed by the specified user in this dataset.
380 Space is charged to the owner of each file, as displayed by
381 .Nm ls Fl l .
382 The amount of space charged is displayed by
383 .Nm du No and Nm ls Fl s .
384 See the
385 .Nm zfs Cm userspace
386 command for more information.
388 Unprivileged users can access only their own space usage.
389 The root user, or a user who has been granted the
390 .Sy userused
391 privilege with
392 .Nm zfs Cm allow ,
393 can access everyone's usage.
396 .Sy userused Ns @ Ns Ar â€¦
397 properties are not displayed by
398 .Nm zfs Cm get Sy all .
399 The user's name must be appended after the
400 .Sy @
401 symbol, using one of the following forms:
402 .Bl -bullet -compact -offset 4n
404 POSIX name
405 .Pq Qq joe
407 POSIX numeric ID
408 .Pq Qq 789
410 SID name
411 .Pq Qq joe.smith@mydomain
413 SID numeric ID
414 .Pq Qq S-1-123-456-789
417 Files created on Linux always have POSIX owners.
418 .It Sy userobjused Ns @ Ns Ar user
420 .Sy userobjused
421 property is similar to
422 .Sy userused
423 but instead it counts the number of objects consumed by a user.
424 This property counts all objects allocated on behalf of the user,
425 it may differ from the results of system tools such as
426 .Nm df Fl i .
428 When the property
429 .Sy xattr Ns = Ns Sy on
430 is set on a file system additional objects will be created per-file to store
431 extended attributes.
432 These additional objects are reflected in the
433 .Sy userobjused
434 value and are counted against the user's
435 .Sy userobjquota .
436 When a file system is configured to use
437 .Sy xattr Ns = Ns Sy sa
438 no additional internal objects are normally required.
439 .It Sy userrefs
440 This property is set to the number of user holds on this snapshot.
441 User holds are set by using the
442 .Nm zfs Cm hold
443 command.
444 .It Sy groupused Ns @ Ns Ar group
445 The amount of space consumed by the specified group in this dataset.
446 Space is charged to the group of each file, as displayed by
447 .Nm ls Fl l .
448 See the
449 .Sy userused Ns @ Ns Ar user
450 property for more information.
452 Unprivileged users can only access their own groups' space usage.
453 The root user, or a user who has been granted the
454 .Sy groupused
455 privilege with
456 .Nm zfs Cm allow ,
457 can access all groups' usage.
458 .It Sy groupobjused Ns @ Ns Ar group
459 The number of objects consumed by the specified group in this dataset.
460 Multiple objects may be charged to the group for each file when extended
461 attributes are in use.
462 See the
463 .Sy userobjused Ns @ Ns Ar user
464 property for more information.
466 Unprivileged users can only access their own groups' space usage.
467 The root user, or a user who has been granted the
468 .Sy groupobjused
469 privilege with
470 .Nm zfs Cm allow ,
471 can access all groups' usage.
472 .It Sy projectused Ns @ Ns Ar project
473 The amount of space consumed by the specified project in this dataset.
474 Project is identified via the project identifier (ID) that is object-based
475 numeral attribute.
476 An object can inherit the project ID from its parent object (if the
477 parent has the flag of inherit project ID that can be set and changed via
478 .Nm chattr Fl /+P
480 .Nm zfs project Fl s )
481 when being created.
482 The privileged user can set and change object's project
483 ID via
484 .Nm chattr Fl p
486 .Nm zfs project Fl s
487 anytime.
488 Space is charged to the project of each file, as displayed by
489 .Nm lsattr Fl p
491 .Nm zfs project .
492 See the
493 .Sy userused Ns @ Ns Ar user
494 property for more information.
496 The root user, or a user who has been granted the
497 .Sy projectused
498 privilege with
499 .Nm zfs allow ,
500 can access all projects' usage.
501 .It Sy projectobjused Ns @ Ns Ar project
503 .Sy projectobjused
504 is similar to
505 .Sy projectused
506 but instead it counts the number of objects consumed by project.
507 When the property
508 .Sy xattr Ns = Ns Sy on
509 is set on a fileset, ZFS will create additional objects per-file to store
510 extended attributes.
511 These additional objects are reflected in the
512 .Sy projectobjused
513 value and are counted against the project's
514 .Sy projectobjquota .
515 When a filesystem is configured to use
516 .Sy xattr Ns = Ns Sy sa
517 no additional internal objects are required.
518 See the
519 .Sy userobjused Ns @ Ns Ar user
520 property for more information.
522 The root user, or a user who has been granted the
523 .Sy projectobjused
524 privilege with
525 .Nm zfs allow ,
526 can access all projects' objects usage.
527 .It Sy snapshots_changed
528 Provides a mechanism to quickly determine whether snapshot list has
529 changed without having to mount a dataset or iterate the snapshot list.
530 Specifies the time at which a snapshot for a dataset was last
531 created or deleted.
533 This allows us to be more efficient how often we query snapshots.
534 The property is persistent across mount and unmount operations only if the
535 .Sy extensible_dataset
536 feature is enabled.
537 .It Sy volblocksize
538 For volumes, specifies the block size of the volume.
540 .Sy blocksize
541 cannot be changed once the volume has been written, so it should be set at
542 volume creation time.
543 The default
544 .Sy blocksize
545 for volumes is 16 Kbytes.
546 Any power of 2 from 512 bytes to 128 Kbytes is valid.
548 This property can also be referred to by its shortened column name,
549 .Sy volblock .
550 .It Sy written
551 The amount of space
552 .Sy referenced
553 by this dataset, that was written since the previous snapshot
554 .Pq i.e. that is not referenced by the previous snapshot .
555 .It Sy written Ns @ Ns Ar snapshot
556 The amount of
557 .Sy referenced
558 space written to this dataset since the specified snapshot.
559 This is the space that is referenced by this dataset but was not referenced by
560 the specified snapshot.
563 .Ar snapshot
564 may be specified as a short snapshot name
565 .Pq just the part after the Sy @ ,
566 in which case it will be interpreted as a snapshot in the same filesystem as
567 this dataset.
569 .Ar snapshot
570 may be a full snapshot name
571 .Pq Ar filesystem Ns @ Ns Ar snapshot ,
572 which for clones may be a snapshot in the origin's filesystem
573 .Pq or the origin of the origin's filesystem, etc.
576 The following native properties can be used to change the behavior of a ZFS
577 dataset.
578 .Bl -tag -width ""
579 .It Xo
580 .Sy aclinherit Ns = Ns Sy discard Ns | Ns Sy noallow Ns | Ns
581 .Sy restricted Ns | Ns Sy passthrough Ns | Ns Sy passthrough-x
583 Controls how ACEs are inherited when files and directories are created.
584 .Bl -tag -compact -offset 4n -width "passthrough-x"
585 .It Sy discard
586 does not inherit any ACEs.
587 .It Sy noallow
588 only inherits inheritable ACEs that specify
589 .Qq deny
590 permissions.
591 .It Sy restricted
592 default, removes the
593 .Sy write_acl
595 .Sy write_owner
596 permissions when the ACE is inherited.
597 .It Sy passthrough
598 inherits all inheritable ACEs without any modifications.
599 .It Sy passthrough-x
600 same meaning as
601 .Sy passthrough ,
602 except that the
603 .Sy owner@ , group@ , No and Sy everyone@
604 ACEs inherit the execute permission only if the file creation mode also requests
605 the execute bit.
608 When the property value is set to
609 .Sy passthrough ,
610 files are created with a mode determined by the inheritable ACEs.
611 If no inheritable ACEs exist that affect the mode, then the mode is set in
612 accordance to the requested mode from the application.
615 .Sy aclinherit
616 property does not apply to POSIX ACLs.
617 .It Xo
618 .Sy aclmode Ns = Ns Sy discard Ns | Ns Sy groupmask Ns | Ns
619 .Sy passthrough Ns | Ns Sy restricted Ns
621 Controls how an ACL is modified during chmod(2) and how inherited ACEs
622 are modified by the file creation mode:
623 .Bl -tag -compact -offset 4n -width "passthrough"
624 .It Sy discard
625 default, deletes all
626 .Sy ACEs
627 except for those representing
628 the mode of the file or directory requested by
629 .Xr chmod 2 .
630 .It Sy groupmask
631 reduces permissions granted in all
632 .Sy ALLOW
633 entries found in the
634 .Sy ACL
635 such that they are no greater than the group permissions specified by
636 .Xr chmod 2 .
637 .It Sy passthrough
638 indicates that no changes are made to the ACL other than creating or updating
639 the necessary ACL entries to represent the new mode of the file or directory.
640 .It Sy restricted
641 will cause the
642 .Xr chmod 2
643 operation to return an error when used on any file or directory which has
644 a non-trivial ACL whose entries can not be represented by a mode.
645 .Xr chmod 2
646 is required to change the set user ID, set group ID, or sticky bits on a file
647 or directory, as they do not have equivalent ACL entries.
648 In order to use
649 .Xr chmod 2
650 on a file or directory with a non-trivial ACL when
651 .Sy aclmode
652 is set to
653 .Sy restricted ,
654 you must first remove all ACL entries which do not represent the current mode.
656 .It Sy acltype Ns = Ns Sy off Ns | Ns Sy nfsv4 Ns | Ns Sy posix
657 Controls whether ACLs are enabled and if so what type of ACL to use.
658 When this property is set to a type of ACL not supported by the current
659 platform, the behavior is the same as if it were set to
660 .Sy off .
661 .Bl -tag -compact -offset 4n -width "posixacl"
662 .It Sy off
663 default on Linux, when a file system has the
664 .Sy acltype
665 property set to off then ACLs are disabled.
666 .It Sy noacl
667 an alias for
668 .Sy off
669 .It Sy nfsv4
670 default on
671 .Fx ,
672 indicates that NFSv4-style ZFS ACLs should be used.
673 These ACLs can be managed with the
674 .Xr getfacl 1
676 .Xr setfacl 1 .
678 .Sy nfsv4
679 ZFS ACL type is not yet supported on Linux.
680 .It Sy posix
681 indicates POSIX ACLs should be used.
682 POSIX ACLs are specific to Linux and are not functional on other platforms.
683 POSIX ACLs are stored as an extended
684 attribute and therefore will not overwrite any existing NFSv4 ACLs which
685 may be set.
686 .It Sy posixacl
687 an alias for
688 .Sy posix
691 To obtain the best performance when setting
692 .Sy posix
693 users are strongly encouraged to set the
694 .Sy xattr Ns = Ns Sy sa
695 property.
696 This will result in the POSIX ACL being stored more efficiently on disk.
697 But as a consequence, all new extended attributes will only be
698 accessible from OpenZFS implementations which support the
699 .Sy xattr Ns = Ns Sy sa
700 property.
701 See the
702 .Sy xattr
703 property for more details.
704 .It Sy atime Ns = Ns Sy on Ns | Ns Sy off
705 Controls whether the access time for files is updated when they are read.
706 Turning this property off avoids producing write traffic when reading files and
707 can result in significant performance gains, though it might confuse mailers
708 and other similar utilities.
709 The values
710 .Sy on
712 .Sy off
713 are equivalent to the
714 .Sy atime
716 .Sy noatime
717 mount options.
718 The default value is
719 .Sy on .
720 See also
721 .Sy relatime
722 below.
723 .It Sy canmount Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy noauto
724 If this property is set to
725 .Sy off ,
726 the file system cannot be mounted, and is ignored by
727 .Nm zfs Cm mount Fl a .
728 Setting this property to
729 .Sy off
730 is similar to setting the
731 .Sy mountpoint
732 property to
733 .Sy none ,
734 except that the dataset still has a normal
735 .Sy mountpoint
736 property, which can be inherited.
737 Setting this property to
738 .Sy off
739 allows datasets to be used solely as a mechanism to inherit properties.
740 One example of setting
741 .Sy canmount Ns = Ns Sy off
742 is to have two datasets with the same
743 .Sy mountpoint ,
744 so that the children of both datasets appear in the same directory, but might
745 have different inherited characteristics.
747 When set to
748 .Sy noauto ,
749 a dataset can only be mounted and unmounted explicitly.
750 The dataset is not mounted automatically when the dataset is created or
751 imported, nor is it mounted by the
752 .Nm zfs Cm mount Fl a
753 command or unmounted by the
754 .Nm zfs Cm unmount Fl a
755 command.
757 This property is not inherited.
758 .It Xo
759 .Sy checksum Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy fletcher2 Ns | Ns
760 .Sy fletcher4 Ns | Ns Sy sha256 Ns | Ns Sy noparity Ns | Ns
761 .Sy sha512 Ns | Ns Sy skein Ns | Ns Sy edonr Ns | Ns Sy blake3
763 Controls the checksum used to verify data integrity.
764 The default value is
765 .Sy on ,
766 which automatically selects an appropriate algorithm
767 .Po currently,
768 .Sy fletcher4 ,
769 but this may change in future releases
770 .Pc .
771 The value
772 .Sy off
773 disables integrity checking on user data.
774 The value
775 .Sy noparity
776 not only disables integrity but also disables maintaining parity for user data.
777 This setting is used internally by a dump device residing on a RAID-Z pool and
778 should not be used by any other dataset.
779 Disabling checksums is
780 .Em NOT
781 a recommended practice.
784 .Sy sha512 ,
785 .Sy skein ,
786 .Sy edonr ,
788 .Sy blake3
789 checksum algorithms require enabling the appropriate features on the pool.
791 Please see
792 .Xr zpool-features 7
793 for more information on these algorithms.
795 Changing this property affects only newly-written data.
796 .It Xo
797 .Sy compression Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy gzip Ns | Ns
798 .Sy gzip- Ns Ar N Ns | Ns Sy lz4 Ns | Ns Sy lzjb Ns | Ns Sy zle Ns | Ns Sy zstd Ns | Ns
799 .Sy zstd- Ns Ar N Ns | Ns Sy zstd-fast Ns | Ns Sy zstd-fast- Ns Ar N
801 Controls the compression algorithm used for this dataset.
803 When set to
804 .Sy on
805 (the default), indicates that the current default compression algorithm should
806 be used.
807 The default balances compression and decompression speed, with compression ratio
808 and is expected to work well on a wide variety of workloads.
809 Unlike all other settings for this property,
810 .Sy on
811 does not select a fixed compression type.
812 As new compression algorithms are added to ZFS and enabled on a pool, the
813 default compression algorithm may change.
814 The current default compression algorithm is either
815 .Sy lzjb
816 or, if the
817 .Sy lz4_compress
818 feature is enabled,
819 .Sy lz4 .
822 .Sy lz4
823 compression algorithm is a high-performance replacement for the
824 .Sy lzjb
825 algorithm.
826 It features significantly faster compression and decompression, as well as a
827 moderately higher compression ratio than
828 .Sy lzjb ,
829 but can only be used on pools with the
830 .Sy lz4_compress
831 feature set to
832 .Sy enabled .
834 .Xr zpool-features 7
835 for details on ZFS feature flags and the
836 .Sy lz4_compress
837 feature.
840 .Sy lzjb
841 compression algorithm is optimized for performance while providing decent data
842 compression.
845 .Sy gzip
846 compression algorithm uses the same compression as the
847 .Xr gzip 1
848 command.
849 You can specify the
850 .Sy gzip
851 level by using the value
852 .Sy gzip- Ns Ar N ,
853 where
854 .Ar N
855 is an integer from 1
856 .Pq fastest
857 to 9
858 .Pq best compression ratio .
859 Currently,
860 .Sy gzip
861 is equivalent to
862 .Sy gzip-6
863 .Po which is also the default for
864 .Xr gzip 1
865 .Pc .
868 .Sy zstd
869 compression algorithm provides both high compression ratios and good
870 performance.
871 You can specify the
872 .Sy zstd
873 level by using the value
874 .Sy zstd- Ns Ar N ,
875 where
876 .Ar N
877 is an integer from 1
878 .Pq fastest
879 to 19
880 .Pq best compression ratio .
881 .Sy zstd
882 is equivalent to
883 .Sy zstd-3 .
885 Faster speeds at the cost of the compression ratio can be requested by
886 setting a negative
887 .Sy zstd
888 level.
889 This is done using
890 .Sy zstd-fast- Ns Ar N ,
891 where
892 .Ar N
893 is an integer in
894 .Bq Sy 1 Ns - Ns Sy 10 , 20 , 30 , No â€¦ , Sy 100 , 500 , 1000
895 which maps to a negative
896 .Sy zstd
897 level.
898 The lower the level the faster the compression \(em
899 .Sy 1000
900 provides the fastest compression and lowest compression ratio.
901 .Sy zstd-fast
902 is equivalent to
903 .Sy zstd-fast- Ns Ar 1 .
906 .Sy zle
907 compression algorithm compresses runs of zeros.
909 This property can also be referred to by its shortened column name
910 .Sy compress .
911 Changing this property affects only newly-written data.
913 When any setting except
914 .Sy off
915 is selected, compression will explicitly check for blocks consisting of only
916 zeroes (the NUL byte).
917 When a zero-filled block is detected, it is stored as
918 a hole and not compressed using the indicated compression algorithm.
920 Any block being compressed must be no larger than 7/8 of its original size
921 after compression, otherwise the compression will not be considered worthwhile
922 and the block saved uncompressed.
923 Note that when the logical block is less than
924 8 times the disk sector size this effectively reduces the necessary compression
925 ratio; for example, 8 KiB blocks on disks with 4 KiB disk sectors must compress
926 to 1/2
927 or less of their original size.
928 .It Xo
929 .Sy context Ns = Ns Sy none Ns | Ns
930 .Ar SELinux-User : Ns Ar SELinux-Role : Ns Ar SELinux-Type : Ns Ar Sensitivity-Level
932 This flag sets the SELinux context for all files in the file system under
933 a mount point for that file system.
935 .Xr selinux 8
936 for more information.
937 .It Xo
938 .Sy fscontext Ns = Ns Sy none Ns | Ns
939 .Ar SELinux-User : Ns Ar SELinux-Role : Ns Ar SELinux-Type : Ns Ar Sensitivity-Level
941 This flag sets the SELinux context for the file system file system being
942 mounted.
944 .Xr selinux 8
945 for more information.
946 .It Xo
947 .Sy defcontext Ns = Ns Sy none Ns | Ns
948 .Ar SELinux-User : Ns Ar SELinux-Role : Ns Ar SELinux-Type : Ns Ar Sensitivity-Level
950 This flag sets the SELinux default context for unlabeled files.
952 .Xr selinux 8
953 for more information.
954 .It Xo
955 .Sy rootcontext Ns = Ns Sy none Ns | Ns
956 .Ar SELinux-User : Ns Ar SELinux-Role : Ns Ar SELinux-Type : Ns Ar Sensitivity-Level
958 This flag sets the SELinux context for the root inode of the file system.
960 .Xr selinux 8
961 for more information.
962 .It Sy copies Ns = Ns Sy 1 Ns | Ns Sy 2 Ns | Ns Sy 3
963 Controls the number of copies of data stored for this dataset.
964 These copies are in addition to any redundancy provided by the pool, for
965 example, mirroring or RAID-Z.
966 The copies are stored on different disks, if possible.
967 The space used by multiple copies is charged to the associated file and dataset,
968 changing the
969 .Sy used
970 property and counting against quotas and reservations.
972 Changing this property only affects newly-written data.
973 Therefore, set this property at file system creation time by using the
974 .Fl o Sy copies Ns = Ns Ar N
975 option.
977 Remember that ZFS will not import a pool with a missing top-level vdev.
979 .Em NOT
980 create, for example a two-disk striped pool and set
981 .Sy copies Ns = Ns Ar 2
982 on some datasets thinking you have setup redundancy for them.
983 When a disk fails you will not be able to import the pool
984 and will have lost all of your data.
986 Encrypted datasets may not have
987 .Sy copies Ns = Ns Ar 3
988 since the implementation stores some encryption metadata where the third copy
989 would normally be.
990 .It Sy devices Ns = Ns Sy on Ns | Ns Sy off
991 Controls whether device nodes can be opened on this file system.
992 The default value is
993 .Sy on .
994 The values
995 .Sy on
997 .Sy off
998 are equivalent to the
999 .Sy dev
1001 .Sy nodev
1002 mount options.
1003 .It Xo
1004 .Sy dedup Ns = Ns Sy off Ns | Ns Sy on Ns | Ns Sy verify Ns | Ns
1005 .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
1006 .Sy edonr , Ns Sy verify Ns | Ns Sy blake3 Ns Oo , Ns Sy verify Oc Ns
1008 Configures deduplication for a dataset.
1009 The default value is
1010 .Sy off .
1011 The default deduplication checksum is
1012 .Sy sha256
1013 (this may change in the future).
1014 When
1015 .Sy dedup
1016 is enabled, the checksum defined here overrides the
1017 .Sy checksum
1018 property.
1019 Setting the value to
1020 .Sy verify
1021 has the same effect as the setting
1022 .Sy sha256 , Ns Sy verify .
1024 If set to
1025 .Sy verify ,
1026 ZFS will do a byte-to-byte comparison in case of two blocks having the same
1027 signature to make sure the block contents are identical.
1028 Specifying
1029 .Sy verify
1030 is mandatory for the
1031 .Sy edonr
1032 algorithm.
1034 Unless necessary, deduplication should
1035 .Em not
1036 be enabled on a system.
1037 See the
1038 .Sx Deduplication
1039 section of
1040 .Xr zfsconcepts 7 .
1041 .It Xo
1042 .Sy dnodesize Ns = Ns Sy legacy Ns | Ns Sy auto Ns | Ns Sy 1k Ns | Ns
1043 .Sy 2k Ns | Ns Sy 4k Ns | Ns Sy 8k Ns | Ns Sy 16k
1045 Specifies a compatibility mode or literal value for the size of dnodes in the
1046 file system.
1047 The default value is
1048 .Sy legacy .
1049 Setting this property to a value other than
1050 .Sy legacy No requires the Sy large_dnode No pool feature to be enabled .
1052 Consider setting
1053 .Sy dnodesize
1055 .Sy auto
1056 if the dataset uses the
1057 .Sy xattr Ns = Ns Sy sa
1058 property setting and the workload makes heavy use of extended attributes.
1059 This
1060 may be applicable to SELinux-enabled systems, Lustre servers, and Samba
1061 servers, for example.
1062 Literal values are supported for cases where the optimal
1063 size is known in advance and for performance testing.
1065 Leave
1066 .Sy dnodesize
1067 set to
1068 .Sy legacy
1069 if you need to receive a send stream of this dataset on a pool that doesn't
1070 enable the
1071 .Sy large_dnode
1072 feature, or if you need to import this pool on a system that doesn't support the
1073 .Sy large_dnode No feature .
1075 This property can also be referred to by its shortened column name,
1076 .Sy dnsize .
1077 .It Xo
1078 .Sy encryption Ns = Ns Sy off Ns | Ns Sy on Ns | Ns Sy aes-128-ccm Ns | Ns
1079 .Sy aes-192-ccm Ns | Ns Sy aes-256-ccm Ns | Ns Sy aes-128-gcm Ns | Ns
1080 .Sy aes-192-gcm Ns | Ns Sy aes-256-gcm
1082 Controls the encryption cipher suite (block cipher, key length, and mode) used
1083 for this dataset.
1084 Requires the
1085 .Sy encryption
1086 feature to be enabled on the pool.
1087 Requires a
1088 .Sy keyformat
1089 to be set at dataset creation time.
1091 Selecting
1092 .Sy encryption Ns = Ns Sy on
1093 when creating a dataset indicates that the default encryption suite will be
1094 selected, which is currently
1095 .Sy aes-256-gcm .
1096 In order to provide consistent data protection, encryption must be specified at
1097 dataset creation time and it cannot be changed afterwards.
1099 For more details and caveats about encryption see the
1100 .Sx Encryption
1101 section of
1102 .Xr zfs-load-key 8 .
1103 .It Sy keyformat Ns = Ns Sy raw Ns | Ns Sy hex Ns | Ns Sy passphrase
1104 Controls what format the user's encryption key will be provided as.
1105 This property is only set when the dataset is encrypted.
1107 Raw keys and hex keys must be 32 bytes long (regardless of the chosen
1108 encryption suite) and must be randomly generated.
1109 A raw key can be generated with the following command:
1110 .Dl # Nm dd Sy if=/dev/urandom bs=32 count=1 Sy of= Ns Pa /path/to/output/key
1112 Passphrases must be between 8 and 512 bytes long and will be processed through
1113 PBKDF2 before being used (see the
1114 .Sy pbkdf2iters
1115 property).
1116 Even though the encryption suite cannot be changed after dataset creation,
1117 the keyformat can be with
1118 .Nm zfs Cm change-key .
1119 .It Xo
1120 .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
1122 Controls where the user's encryption key will be loaded from by default for
1123 commands such as
1124 .Nm zfs Cm load-key
1126 .Nm zfs Cm mount Fl l .
1127 This property is only set for encrypted datasets which are encryption roots.
1128 If unspecified, the default is
1129 .Sy prompt .
1131 Even though the encryption suite cannot be changed after dataset creation, the
1132 keylocation can be with either
1133 .Nm zfs Cm set
1135 .Nm zfs Cm change-key .
1137 .Sy prompt
1138 is selected ZFS will ask for the key at the command prompt when it is required
1139 to access the encrypted data (see
1140 .Nm zfs Cm load-key
1141 for details).
1142 This setting will also allow the key to be passed in via the standard input
1143 stream,
1144 but users should be careful not to place keys which should be kept secret on
1145 the command line.
1146 If a file URI is selected, the key will be loaded from the
1147 specified absolute file path.
1148 If an HTTPS or HTTP URL is selected, it will be GETted using
1149 .Xr fetch 3 ,
1150 libcurl, or nothing, depending on compile-time configuration and run-time
1151 availability.
1153 .Sy SSL_CA_CERT_FILE
1154 environment variable can be set to set the location
1155 of the concatenated certificate store.
1157 .Sy SSL_CA_CERT_PATH
1158 environment variable can be set to override the location
1159 of the directory containing the certificate authority bundle.
1161 .Sy SSL_CLIENT_CERT_FILE
1163 .Sy SSL_CLIENT_KEY_FILE
1164 environment variables can be set to configure the path
1165 to the client certificate and its key.
1166 .It Sy pbkdf2iters Ns = Ns Ar iterations
1167 Controls the number of PBKDF2 iterations that a
1168 .Sy passphrase
1169 encryption key should be run through when processing it into an encryption key.
1170 This property is only defined when encryption is enabled and a keyformat of
1171 .Sy passphrase
1172 is selected.
1173 The goal of PBKDF2 is to significantly increase the
1174 computational difficulty needed to brute force a user's passphrase.
1175 This is accomplished by forcing the attacker to run each passphrase through a
1176 computationally expensive hashing function many times before they arrive at the
1177 resulting key.
1178 A user who actually knows the passphrase will only have to pay this cost once.
1179 As CPUs become better at processing, this number should be
1180 raised to ensure that a brute force attack is still not possible.
1181 The current default is
1182 .Sy 350000
1183 and the minimum is
1184 .Sy 100000 .
1185 This property may be changed with
1186 .Nm zfs Cm change-key .
1187 .It Sy exec Ns = Ns Sy on Ns | Ns Sy off
1188 Controls whether processes can be executed from within this file system.
1189 The default value is
1190 .Sy on .
1191 The values
1192 .Sy on
1194 .Sy off
1195 are equivalent to the
1196 .Sy exec
1198 .Sy noexec
1199 mount options.
1200 .It Sy volthreading Ns = Ns Sy on Ns | Ns Sy off
1201 Controls internal zvol threading.
1202 The value
1203 .Sy off
1204 disables zvol threading, and zvol relies on application threads.
1205 The default value is
1206 .Sy on ,
1207 which enables threading within a zvol.
1208 Please note that this property will be overridden by
1209 .Sy zvol_request_sync
1210 module parameter.
1211 This property is only applicable to Linux.
1212 .It Sy filesystem_limit Ns = Ns Ar count Ns | Ns Sy none
1213 Limits the number of filesystems and volumes that can exist under this point in
1214 the dataset tree.
1215 The limit is not enforced if the user is allowed to change the limit.
1216 Setting a
1217 .Sy filesystem_limit
1219 .Sy on
1220 a descendent of a filesystem that already has a
1221 .Sy filesystem_limit
1222 does not override the ancestor's
1223 .Sy filesystem_limit ,
1224 but rather imposes an additional limit.
1225 This feature must be enabled to be used
1226 .Po see
1227 .Xr zpool-features 7
1228 .Pc .
1229 .It Sy special_small_blocks Ns = Ns Ar size
1230 This value represents the threshold block size for including small file
1231 blocks into the special allocation class.
1232 Blocks smaller than or equal to this
1233 value will be assigned to the special allocation class while greater blocks
1234 will be assigned to the regular class.
1235 Valid values are zero or a power of two from 512 up to 1048576 (1 MiB).
1236 The default size is 0 which means no small file blocks
1237 will be allocated in the special class.
1239 Before setting this property, a special class vdev must be added to the
1240 pool.
1242 .Xr zpoolconcepts 7
1243 for more details on the special allocation class.
1244 .It Sy mountpoint Ns = Ns Pa path Ns | Ns Sy none Ns | Ns Sy legacy
1245 Controls the mount point used for this file system.
1246 See the
1247 .Sx Mount Points
1248 section of
1249 .Xr zfsconcepts 7
1250 for more information on how this property is used.
1252 When the
1253 .Sy mountpoint
1254 property is changed for a file system, the file system and any children that
1255 inherit the mount point are unmounted.
1256 If the new value is
1257 .Sy legacy ,
1258 then they remain unmounted.
1259 Otherwise, they are automatically remounted in the new location if the property
1260 was previously
1261 .Sy legacy
1263 .Sy none .
1264 In addition, any shared file systems are unshared and shared in the new
1265 location.
1267 When the
1268 .Sy mountpoint
1269 property is set with
1270 .Nm zfs Cm set Fl u
1271 , the
1272 .Sy mountpoint
1273 property is updated but dataset is not mounted or unmounted and remains
1274 as it was before.
1275 .It Sy nbmand Ns = Ns Sy on Ns | Ns Sy off
1276 Controls whether the file system should be mounted with
1277 .Sy nbmand
1278 .Pq Non-blocking mandatory locks .
1279 Changes to this property only take effect when the file system is umounted and
1280 remounted.
1281 This was only supported by Linux prior to 5.15, and was buggy there,
1282 and is not supported by
1283 .Fx .
1284 On Solaris it's used for SMB clients.
1285 .It Sy overlay Ns = Ns Sy on Ns | Ns Sy off
1286 Allow mounting on a busy directory or a directory which already contains
1287 files or directories.
1288 This is the default mount behavior for Linux and
1290 file systems.
1291 On these platforms the property is
1292 .Sy on
1293 by default.
1294 Set to
1295 .Sy off
1296 to disable overlay mounts for consistency with OpenZFS on other platforms.
1297 .It Sy primarycache Ns = Ns Sy all Ns | Ns Sy none Ns | Ns Sy metadata
1298 Controls what is cached in the primary cache
1299 .Pq ARC .
1300 If this property is set to
1301 .Sy all ,
1302 then both user data and metadata is cached.
1303 If this property is set to
1304 .Sy none ,
1305 then neither user data nor metadata is cached.
1306 If this property is set to
1307 .Sy metadata ,
1308 then only metadata is cached.
1309 The default value is
1310 .Sy all .
1311 .It Sy quota Ns = Ns Ar size Ns | Ns Sy none
1312 Limits the amount of space a dataset and its descendents can consume.
1313 This property enforces a hard limit on the amount of space used.
1314 This includes all space consumed by descendents, including file systems and
1315 snapshots.
1316 Setting a quota on a descendent of a dataset that already has a quota does not
1317 override the ancestor's quota, but rather imposes an additional limit.
1319 Quotas cannot be set on volumes, as the
1320 .Sy volsize
1321 property acts as an implicit quota.
1322 .It Sy snapshot_limit Ns = Ns Ar count Ns | Ns Sy none
1323 Limits the number of snapshots that can be created on a dataset and its
1324 descendents.
1325 Setting a
1326 .Sy snapshot_limit
1327 on a descendent of a dataset that already has a
1328 .Sy snapshot_limit
1329 does not override the ancestor's
1330 .Sy snapshot_limit ,
1331 but rather imposes an additional limit.
1332 The limit is not enforced if the user is allowed to change the limit.
1333 For example, this means that recursive snapshots taken from the global zone are
1334 counted against each delegated dataset within a zone.
1335 This feature must be enabled to be used
1336 .Po see
1337 .Xr zpool-features 7
1338 .Pc .
1339 .It Sy userquota@ Ns Ar user Ns = Ns Ar size Ns | Ns Sy none
1340 Limits the amount of space consumed by the specified user.
1341 User space consumption is identified by the
1342 .Sy userspace@ Ns Ar user
1343 property.
1345 Enforcement of user quotas may be delayed by several seconds.
1346 This delay means that a user might exceed their quota before the system notices
1347 that they are over quota and begins to refuse additional writes with the
1348 .Er EDQUOT
1349 error message.
1350 See the
1351 .Nm zfs Cm userspace
1352 command for more information.
1354 Unprivileged users can only access their own groups' space usage.
1355 The root user, or a user who has been granted the
1356 .Sy userquota
1357 privilege with
1358 .Nm zfs Cm allow ,
1359 can get and set everyone's quota.
1361 This property is not available on volumes, on file systems before version 4, or
1362 on pools before version 15.
1364 .Sy userquota@ Ns Ar â€¦
1365 properties are not displayed by
1366 .Nm zfs Cm get Sy all .
1367 The user's name must be appended after the
1368 .Sy @
1369 symbol, using one of the following forms:
1370 .Bl -bullet -compact -offset 4n
1372 POSIX name
1373 .Pq Qq joe
1375 POSIX numeric ID
1376 .Pq Qq 789
1378 SID name
1379 .Pq Qq joe.smith@mydomain
1381 SID numeric ID
1382 .Pq Qq S-1-123-456-789
1385 Files created on Linux always have POSIX owners.
1386 .It Sy userobjquota@ Ns Ar user Ns = Ns Ar size Ns | Ns Sy none
1388 .Sy userobjquota
1389 is similar to
1390 .Sy userquota
1391 but it limits the number of objects a user can create.
1392 Please refer to
1393 .Sy userobjused
1394 for more information about how objects are counted.
1395 .It Sy groupquota@ Ns Ar group Ns = Ns Ar size Ns | Ns Sy none
1396 Limits the amount of space consumed by the specified group.
1397 Group space consumption is identified by the
1398 .Sy groupused@ Ns Ar group
1399 property.
1401 Unprivileged users can access only their own groups' space usage.
1402 The root user, or a user who has been granted the
1403 .Sy groupquota
1404 privilege with
1405 .Nm zfs Cm allow ,
1406 can get and set all groups' quotas.
1407 .It Sy groupobjquota@ Ns Ar group Ns = Ns Ar size Ns | Ns Sy none
1409 .Sy groupobjquota
1410 is similar to
1411 .Sy groupquota
1412 but it limits number of objects a group can consume.
1413 Please refer to
1414 .Sy userobjused
1415 for more information about how objects are counted.
1416 .It Sy projectquota@ Ns Ar project Ns = Ns Ar size Ns | Ns Sy none
1417 Limits the amount of space consumed by the specified project.
1418 Project space consumption is identified by the
1419 .Sy projectused@ Ns Ar project
1420 property.
1421 Please refer to
1422 .Sy projectused
1423 for more information about how project is identified and set/changed.
1425 The root user, or a user who has been granted the
1426 .Sy projectquota
1427 privilege with
1428 .Nm zfs allow ,
1429 can access all projects' quota.
1430 .It Sy projectobjquota@ Ns Ar project Ns = Ns Ar size Ns | Ns Sy none
1432 .Sy projectobjquota
1433 is similar to
1434 .Sy projectquota
1435 but it limits number of objects a project can consume.
1436 Please refer to
1437 .Sy userobjused
1438 for more information about how objects are counted.
1439 .It Sy readonly Ns = Ns Sy on Ns | Ns Sy off
1440 Controls whether this dataset can be modified.
1441 The default value is
1442 .Sy off .
1443 The values
1444 .Sy on
1446 .Sy off
1447 are equivalent to the
1448 .Sy ro
1450 .Sy rw
1451 mount options.
1453 This property can also be referred to by its shortened column name,
1454 .Sy rdonly .
1455 .It Sy recordsize Ns = Ns Ar size
1456 Specifies a suggested block size for files in the file system.
1457 This property is designed solely for use with database workloads that access
1458 files in fixed-size records.
1459 ZFS automatically tunes block sizes according to internal algorithms optimized
1460 for typical access patterns.
1462 For databases that create very large files but access them in small random
1463 chunks, these algorithms may be suboptimal.
1464 Specifying a
1465 .Sy recordsize
1466 greater than or equal to the record size of the database can result in
1467 significant performance gains.
1468 Use of this property for general purpose file systems is strongly discouraged,
1469 and may adversely affect performance.
1471 The size specified must be a power of two greater than or equal to
1472 .Ar 512 B
1473 and less than or equal to
1474 .Ar 128 KiB .
1475 If the
1476 .Sy large_blocks
1477 feature is enabled on the pool, the size may be up to
1478 .Ar 1 MiB .
1480 .Xr zpool-features 7
1481 for details on ZFS feature flags.
1483 Changing the file system's
1484 .Sy recordsize
1485 affects only files created afterward; existing files are unaffected.
1487 This property can also be referred to by its shortened column name,
1488 .Sy recsize .
1489 .It Sy redundant_metadata Ns = Ns Sy all Ns | Ns Sy most Ns | Ns Sy some Ns | Ns Sy none
1490 Controls what types of metadata are stored redundantly.
1491 ZFS stores an extra copy of metadata, so that if a single block is corrupted,
1492 the amount of user data lost is limited.
1493 This extra copy is in addition to any redundancy provided at the pool level
1494 .Pq e.g. by mirroring or RAID-Z ,
1495 and is in addition to an extra copy specified by the
1496 .Sy copies
1497 property
1498 .Pq up to a total of 3 copies .
1499 For example if the pool is mirrored,
1500 .Sy copies Ns = Ns 2 ,
1502 .Sy redundant_metadata Ns = Ns Sy most ,
1503 then ZFS stores 6 copies of most metadata, and 4 copies of data and some
1504 metadata.
1506 When set to
1507 .Sy all ,
1508 ZFS stores an extra copy of all metadata.
1509 If a single on-disk block is corrupt, at worst a single block of user data
1510 .Po which is
1511 .Sy recordsize
1512 bytes long
1514 can be lost.
1516 When set to
1517 .Sy most ,
1518 ZFS stores an extra copy of most types of metadata.
1519 This can improve performance of random writes, because less metadata must be
1520 written.
1521 In practice, at worst about 1000 blocks
1522 .Po of
1523 .Sy recordsize
1524 bytes each
1526 of user data can be lost if a single on-disk block is corrupt.
1527 The exact behavior of which metadata blocks are stored redundantly may change in
1528 future releases.
1530 When set to
1531 .Sy some ,
1532 ZFS stores an extra copy of only critical metadata.
1533 This can improve file create performance since less metadata
1534 needs to be written.
1535 If a single on-disk block is corrupt, at worst a single user file can be lost.
1537 When set to
1538 .Sy none ,
1539 ZFS does not store any copies of metadata redundantly.
1540 If a single on-disk block is corrupt, an entire dataset can be lost.
1542 The default value is
1543 .Sy all .
1544 .It Sy refquota Ns = Ns Ar size Ns | Ns Sy none
1545 Limits the amount of space a dataset can consume.
1546 This property enforces a hard limit on the amount of space used.
1547 This hard limit does not include space used by descendents, including file
1548 systems and snapshots.
1549 .It Sy refreservation Ns = Ns Ar size Ns | Ns Sy none Ns | Ns Sy auto
1550 The minimum amount of space guaranteed to a dataset, not including its
1551 descendents.
1552 When the amount of space used is below this value, the dataset is treated as if
1553 it were taking up the amount of space specified by
1554 .Sy refreservation .
1556 .Sy refreservation
1557 reservation is accounted for in the parent datasets' space used, and counts
1558 against the parent datasets' quotas and reservations.
1561 .Sy refreservation
1562 is set, a snapshot is only allowed if there is enough free pool space outside of
1563 this reservation to accommodate the current number of
1564 .Qq referenced
1565 bytes in the dataset.
1568 .Sy refreservation
1569 is set to
1570 .Sy auto ,
1571 a volume is thick provisioned
1572 .Po or
1573 .Qq not sparse
1574 .Pc .
1575 .Sy refreservation Ns = Ns Sy auto
1576 is only supported on volumes.
1578 .Sy volsize
1579 in the
1580 .Sx Native Properties
1581 section for more information about sparse volumes.
1583 This property can also be referred to by its shortened column name,
1584 .Sy refreserv .
1585 .It Sy relatime Ns = Ns Sy on Ns | Ns Sy off
1586 Controls the manner in which the access time is updated when
1587 .Sy atime Ns = Ns Sy on
1588 is set.
1589 Turning this property on causes the access time to be updated relative
1590 to the modify or change time.
1591 Access time is only updated if the previous
1592 access time was earlier than the current modify or change time or if the
1593 existing access time hasn't been updated within the past 24 hours.
1594 The default value is
1595 .Sy on .
1596 The values
1597 .Sy on
1599 .Sy off
1600 are equivalent to the
1601 .Sy relatime
1603 .Sy norelatime
1604 mount options.
1605 .It Sy reservation Ns = Ns Ar size Ns | Ns Sy none
1606 The minimum amount of space guaranteed to a dataset and its descendants.
1607 When the amount of space used is below this value, the dataset is treated as if
1608 it were taking up the amount of space specified by its reservation.
1609 Reservations are accounted for in the parent datasets' space used, and count
1610 against the parent datasets' quotas and reservations.
1612 This property can also be referred to by its shortened column name,
1613 .Sy reserv .
1614 .It Sy secondarycache Ns = Ns Sy all Ns | Ns Sy none Ns | Ns Sy metadata
1615 Controls what is cached in the secondary cache
1616 .Pq L2ARC .
1617 If this property is set to
1618 .Sy all ,
1619 then both user data and metadata is cached.
1620 If this property is set to
1621 .Sy none ,
1622 then neither user data nor metadata is cached.
1623 If this property is set to
1624 .Sy metadata ,
1625 then only metadata is cached.
1626 The default value is
1627 .Sy all .
1628 .It Sy prefetch Ns = Ns Sy all Ns | Ns Sy none Ns | Ns Sy metadata
1629 Controls what speculative prefetch does.
1630 If this property is set to
1631 .Sy all ,
1632 then both user data and metadata are prefetched.
1633 If this property is set to
1634 .Sy none ,
1635 then neither user data nor metadata are prefetched.
1636 If this property is set to
1637 .Sy metadata ,
1638 then only metadata are prefetched.
1639 The default value is
1640 .Sy all .
1642 Please note that the module parameter zfs_disable_prefetch=1 can
1643 be used to totally disable speculative prefetch, bypassing anything
1644 this property does.
1645 .It Sy setuid Ns = Ns Sy on Ns | Ns Sy off
1646 Controls whether the setuid bit is respected for the file system.
1647 The default value is
1648 .Sy on .
1649 The values
1650 .Sy on
1652 .Sy off
1653 are equivalent to the
1654 .Sy suid
1656 .Sy nosuid
1657 mount options.
1658 .It Sy sharesmb Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Ar opts
1659 Controls whether the file system is shared by using
1660 .Sy Samba USERSHARES
1661 and what options are to be used.
1662 Otherwise, the file system is automatically shared and unshared with the
1663 .Nm zfs Cm share
1665 .Nm zfs Cm unshare
1666 commands.
1667 If the property is set to on, the
1668 .Xr net 8
1669 command is invoked to create a
1670 .Sy USERSHARE .
1672 Because SMB shares requires a resource name, a unique resource name is
1673 constructed from the dataset name.
1674 The constructed name is a copy of the
1675 dataset name except that the characters in the dataset name, which would be
1676 invalid in the resource name, are replaced with underscore (_) characters.
1677 Linux does not currently support additional options which might be available
1678 on Solaris.
1680 If the
1681 .Sy sharesmb
1682 property is set to
1683 .Sy off ,
1684 the file systems are unshared.
1686 The share is created with the ACL (Access Control List) "Everyone:F" ("F"
1687 stands for "full permissions", i.e. read and write permissions) and no guest
1688 access (which means Samba must be able to authenticate a real user \(em
1689 .Xr passwd 5 Ns / Ns Xr shadow 5 Ns - ,
1690 LDAP- or
1691 .Xr smbpasswd 5 Ns -based )
1692 by default.
1693 This means that any additional access control
1694 (disallow specific user specific access etc) must be done on the underlying file
1695 system.
1697 When the
1698 .Sy sharesmb
1699 property is updated with
1700 .Nm zfs Cm set Fl u
1701 , the property is set to desired value, but the operation to share, reshare
1702 or unshare the the dataset is not performed.
1703 .It Sy sharenfs Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Ar opts
1704 Controls whether the file system is shared via NFS, and what options are to be
1705 used.
1706 A file system with a
1707 .Sy sharenfs
1708 property of
1709 .Sy off
1710 is managed with the
1711 .Xr exportfs 8
1712 command and entries in the
1713 .Pa /etc/exports
1714 file.
1715 Otherwise, the file system is automatically shared and unshared with the
1716 .Nm zfs Cm share
1718 .Nm zfs Cm unshare
1719 commands.
1720 If the property is set to
1721 .Sy on ,
1722 the dataset is shared using the default options:
1723 .Dl sec=sys,rw,crossmnt,no_subtree_check
1725 Please note that the options are comma-separated, unlike those found in
1726 .Xr exports 5 .
1727 This is done to negate the need for quoting, as well as to make parsing
1728 with scripts easier.
1731 .Xr exports 5
1732 for the meaning of the default options.
1733 Otherwise, the
1734 .Xr exportfs 8
1735 command is invoked with options equivalent to the contents of this property.
1737 When the
1738 .Sy sharenfs
1739 property is changed for a dataset, the dataset and any children inheriting the
1740 property are re-shared with the new options, only if the property was previously
1741 .Sy off ,
1742 or if they were shared before the property was changed.
1743 If the new property is
1744 .Sy off ,
1745 the file systems are unshared.
1747 When the
1748 .Sy sharenfs
1749 property is updated with
1750 .Nm zfs Cm set Fl u
1751 , the property is set to desired value, but the operation to share, reshare
1752 or unshare the the dataset is not performed.
1753 .It Sy logbias Ns = Ns Sy latency Ns | Ns Sy throughput
1754 Provide a hint to ZFS about handling of synchronous requests in this dataset.
1756 .Sy logbias
1757 is set to
1758 .Sy latency
1759 .Pq the default ,
1760 ZFS will use pool log devices
1761 .Pq if configured
1762 to handle the requests at low latency.
1764 .Sy logbias
1765 is set to
1766 .Sy throughput ,
1767 ZFS will not use configured pool log devices.
1768 ZFS will instead optimize synchronous operations for global pool throughput and
1769 efficient use of resources.
1770 .It Sy snapdev Ns = Ns Sy hidden Ns | Ns Sy visible
1771 Controls whether the volume snapshot devices under
1772 .Pa /dev/zvol/ Ns Aq Ar pool
1773 are hidden or visible.
1774 The default value is
1775 .Sy hidden .
1776 .It Sy snapdir Ns = Ns Sy hidden Ns | Ns Sy visible
1777 Controls whether the
1778 .Pa .zfs
1779 directory is hidden or visible in the root of the file system as discussed in
1781 .Sx Snapshots
1782 section of
1783 .Xr zfsconcepts 7 .
1784 The default value is
1785 .Sy hidden .
1786 .It Sy sync Ns = Ns Sy standard Ns | Ns Sy always Ns | Ns Sy disabled
1787 Controls the behavior of synchronous requests
1788 .Pq e.g. fsync, O_DSYNC .
1789 .Sy standard
1790 is the POSIX-specified behavior of ensuring all synchronous requests
1791 are written to stable storage and all devices are flushed to ensure
1792 data is not cached by device controllers
1793 .Pq this is the default .
1794 .Sy always
1795 causes every file system transaction to be written and flushed before its
1796 system call returns.
1797 This has a large performance penalty.
1798 .Sy disabled
1799 disables synchronous requests.
1800 File system transactions are only committed to stable storage periodically.
1801 This option will give the highest performance.
1802 However, it is very dangerous as ZFS would be ignoring the synchronous
1803 transaction demands of applications such as databases or NFS.
1804 Administrators should only use this option when the risks are understood.
1805 .It Sy version Ns = Ns Ar N Ns | Ns Sy current
1806 The on-disk version of this file system, which is independent of the pool
1807 version.
1808 This property can only be set to later supported versions.
1809 See the
1810 .Nm zfs Cm upgrade
1811 command.
1812 .It Sy volsize Ns = Ns Ar size
1813 For volumes, specifies the logical size of the volume.
1814 By default, creating a volume establishes a reservation of equal size.
1815 For storage pools with a version number of 9 or higher, a
1816 .Sy refreservation
1817 is set instead.
1818 Any changes to
1819 .Sy volsize
1820 are reflected in an equivalent change to the reservation
1821 .Pq or Sy refreservation .
1823 .Sy volsize
1824 can only be set to a multiple of
1825 .Sy volblocksize ,
1826 and cannot be zero.
1828 The reservation is kept equal to the volume's logical size to prevent unexpected
1829 behavior for consumers.
1830 Without the reservation, the volume could run out of space, resulting in
1831 undefined behavior or data corruption, depending on how the volume is used.
1832 These effects can also occur when the volume size is changed while it is in use
1833 .Pq particularly when shrinking the size .
1834 Extreme care should be used when adjusting the volume size.
1836 Though not recommended, a
1837 .Qq sparse volume
1838 .Po also known as
1839 .Qq thin provisioned
1841 can be created by specifying the
1842 .Fl s
1843 option to the
1844 .Nm zfs Cm create Fl V
1845 command, or by changing the value of the
1846 .Sy refreservation
1847 property
1848 .Po or
1849 .Sy reservation
1850 property on pool version 8 or earlier
1852 after the volume has been created.
1854 .Qq sparse volume
1855 is a volume where the value of
1856 .Sy refreservation
1857 is less than the size of the volume plus the space required to store its
1858 metadata.
1859 Consequently, writes to a sparse volume can fail with
1860 .Er ENOSPC
1861 when the pool is low on space.
1862 For a sparse volume, changes to
1863 .Sy volsize
1864 are not reflected in the
1865 .Sy refreservation .
1866 A volume that is not sparse is said to be
1867 .Qq thick provisioned .
1868 A sparse volume can become thick provisioned by setting
1869 .Sy refreservation
1871 .Sy auto .
1872 .It Sy volmode Ns = Ns Sy default Ns | Ns Sy full Ns | Ns Sy geom Ns | Ns Sy dev Ns | Ns Sy none
1873 This property specifies how volumes should be exposed to the OS.
1874 Setting it to
1875 .Sy full
1876 exposes volumes as fully fledged block devices, providing maximal
1877 functionality.
1878 The value
1879 .Sy geom
1880 is just an alias for
1881 .Sy full
1882 and is kept for compatibility.
1883 Setting it to
1884 .Sy dev
1885 hides its partitions.
1886 Volumes with property set to
1887 .Sy none
1888 are not exposed outside ZFS, but can be snapshotted, cloned, replicated, etc,
1889 that can be suitable for backup purposes.
1890 Value
1891 .Sy default
1892 means that volumes exposition is controlled by system-wide tunable
1893 .Sy zvol_volmode ,
1894 where
1895 .Sy full ,
1896 .Sy dev
1898 .Sy none
1899 are encoded as 1, 2 and 3 respectively.
1900 The default value is
1901 .Sy full .
1902 .It Sy vscan Ns = Ns Sy on Ns | Ns Sy off
1903 Controls whether regular files should be scanned for viruses when a file is
1904 opened and closed.
1905 In addition to enabling this property, the virus scan service must also be
1906 enabled for virus scanning to occur.
1907 The default value is
1908 .Sy off .
1909 This property is not used by OpenZFS.
1910 .It Sy xattr Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy sa
1911 Controls whether extended attributes are enabled for this file system.
1912 Two styles of extended attributes are supported: either directory-based
1913 or system-attribute-based.
1915 The default value of
1916 .Sy on
1917 enables directory-based extended attributes.
1918 This style of extended attribute imposes no practical limit
1919 on either the size or number of attributes which can be set on a file.
1920 Although under Linux the
1921 .Xr getxattr 2
1923 .Xr setxattr 2
1924 system calls limit the maximum size to
1925 .Sy 64K .
1926 This is the most compatible
1927 style of extended attribute and is supported by all ZFS implementations.
1929 System-attribute-based xattrs can be enabled by setting the value to
1930 .Sy sa .
1931 The key advantage of this type of xattr is improved performance.
1932 Storing extended attributes as system attributes
1933 significantly decreases the amount of disk I/O required.
1934 Up to
1935 .Sy 64K
1936 of data may be stored per-file in the space reserved for system attributes.
1937 If there is not enough space available for an extended attribute
1938 then it will be automatically written as a directory-based xattr.
1939 System-attribute-based extended attributes are not accessible
1940 on platforms which do not support the
1941 .Sy xattr Ns = Ns Sy sa
1942 feature.
1943 OpenZFS supports
1944 .Sy xattr Ns = Ns Sy sa
1945 on both
1947 and Linux.
1949 The use of system-attribute-based xattrs is strongly encouraged for users of
1950 SELinux or POSIX ACLs.
1951 Both of these features heavily rely on extended
1952 attributes and benefit significantly from the reduced access time.
1954 The values
1955 .Sy on
1957 .Sy off
1958 are equivalent to the
1959 .Sy xattr
1961 .Sy noxattr
1962 mount options.
1963 .It Sy jailed Ns = Ns Sy off Ns | Ns Sy on
1964 Controls whether the dataset is managed from a jail.
1966 .Xr zfs-jail 8
1967 for more information.
1968 Jails are a
1970 feature and this property is not available on other platforms.
1971 .It Sy zoned Ns = Ns Sy off Ns | Ns Sy on
1972 Controls whether the dataset is managed from a non-global zone or namespace.
1974 .Xr zfs-zone 8
1975 for more information.
1976 Zoning is a
1977 Linux
1978 feature and this property is not available on other platforms.
1981 The following three properties cannot be changed after the file system is
1982 created, and therefore, should be set when the file system is created.
1983 If the properties are not set with the
1984 .Nm zfs Cm create
1986 .Nm zpool Cm create
1987 commands, these properties are inherited from the parent dataset.
1988 If the parent dataset lacks these properties due to having been created prior to
1989 these features being supported, the new file system will have the default values
1990 for these properties.
1991 .Bl -tag -width ""
1992 .It Xo
1993 .Sy casesensitivity Ns = Ns Sy sensitive Ns | Ns
1994 .Sy insensitive Ns | Ns Sy mixed
1996 Indicates whether the file name matching algorithm used by the file system
1997 should be case-sensitive, case-insensitive, or allow a combination of both
1998 styles of matching.
1999 The default value for the
2000 .Sy casesensitivity
2001 property is
2002 .Sy sensitive .
2003 Traditionally,
2005 and POSIX file systems have case-sensitive file names.
2008 .Sy mixed
2009 value for the
2010 .Sy casesensitivity
2011 property indicates that the file system can support requests for both
2012 case-sensitive and case-insensitive matching behavior.
2013 Currently, case-insensitive matching behavior on a file system that supports
2014 mixed behavior is limited to the SMB server product.
2015 For more information about the
2016 .Sy mixed
2017 value behavior, see the "ZFS Administration Guide".
2018 .It Xo
2019 .Sy normalization Ns = Ns Sy none Ns | Ns Sy formC Ns | Ns
2020 .Sy formD Ns | Ns Sy formKC Ns | Ns Sy formKD
2022 Indicates whether the file system should perform a
2023 .Sy unicode
2024 normalization of file names whenever two file names are compared, and which
2025 normalization algorithm should be used.
2026 File names are always stored unmodified, names are normalized as part of any
2027 comparison process.
2028 If this property is set to a legal value other than
2029 .Sy none ,
2030 and the
2031 .Sy utf8only
2032 property was left unspecified, the
2033 .Sy utf8only
2034 property is automatically set to
2035 .Sy on .
2036 The default value of the
2037 .Sy normalization
2038 property is
2039 .Sy none .
2040 This property cannot be changed after the file system is created.
2041 .It Sy utf8only Ns = Ns Sy on Ns | Ns Sy off
2042 Indicates whether the file system should reject file names that include
2043 characters that are not present in the
2044 .Sy UTF-8
2045 character code set.
2046 If this property is explicitly set to
2047 .Sy off ,
2048 the normalization property must either not be explicitly set or be set to
2049 .Sy none .
2050 The default value for the
2051 .Sy utf8only
2052 property is
2053 .Sy off .
2054 This property cannot be changed after the file system is created.
2058 .Sy casesensitivity ,
2059 .Sy normalization ,
2061 .Sy utf8only
2062 properties are also new permissions that can be assigned to non-privileged users
2063 by using the ZFS delegated administration feature.
2065 .Ss Temporary Mount Point Properties
2066 When a file system is mounted, either through
2067 .Xr mount 8
2068 for legacy mounts or the
2069 .Nm zfs Cm mount
2070 command for normal file systems, its mount options are set according to its
2071 properties.
2072 The correlation between properties and mount options is as follows:
2073 .Bl -tag -compact -offset Ds -width "rootcontext="
2074 .It Sy atime
2075 atime/noatime
2076 .It Sy canmount
2077 auto/noauto
2078 .It Sy devices
2079 dev/nodev
2080 .It Sy exec
2081 exec/noexec
2082 .It Sy readonly
2083 ro/rw
2084 .It Sy relatime
2085 relatime/norelatime
2086 .It Sy setuid
2087 suid/nosuid
2088 .It Sy xattr
2089 xattr/noxattr
2090 .It Sy nbmand
2091 mand/nomand
2092 .It Sy context Ns =
2093 context=
2094 .It Sy fscontext Ns =
2095 fscontext=
2096 .It Sy defcontext Ns =
2097 defcontext=
2098 .It Sy rootcontext Ns =
2099 rootcontext=
2102 In addition, these options can be set on a per-mount basis using the
2103 .Fl o
2104 option, without affecting the property that is stored on disk.
2105 The values specified on the command line override the values stored in the
2106 dataset.
2108 .Sy nosuid
2109 option is an alias for
2110 .Sy nodevices , Ns Sy nosetuid .
2111 These properties are reported as
2112 .Qq temporary
2113 by the
2114 .Nm zfs Cm get
2115 command.
2116 If the properties are changed while the dataset is mounted, the new setting
2117 overrides any temporary settings.
2119 .Ss User Properties
2120 In addition to the standard native properties, ZFS supports arbitrary user
2121 properties.
2122 User properties have no effect on ZFS behavior, but applications or
2123 administrators can use them to annotate datasets
2124 .Pq file systems, volumes, and snapshots .
2126 User property names must contain a colon
2127 .Pq Qq Sy \&:
2128 character to distinguish them from native properties.
2129 They may contain lowercase letters, numbers, and the following punctuation
2130 characters: colon
2131 .Pq Qq Sy \&: ,
2132 dash
2133 .Pq Qq Sy - ,
2134 period
2135 .Pq Qq Sy \&. ,
2136 and underscore
2137 .Pq Qq Sy _ .
2138 The expected convention is that the property name is divided into two portions
2139 such as
2140 .Ar module : Ns Ar property ,
2141 but this namespace is not enforced by ZFS.
2142 User property names can be at most 256 characters, and cannot begin with a dash
2143 .Pq Qq Sy - .
2145 When making programmatic use of user properties, it is strongly suggested to use
2146 a reversed DNS domain name for the
2147 .Ar module
2148 component of property names to reduce the chance that two
2149 independently-developed packages use the same property name for different
2150 purposes.
2152 The values of user properties are arbitrary strings, are always inherited, and
2153 are never validated.
2154 All of the commands that operate on properties
2155 .Po Nm zfs Cm list ,
2156 .Nm zfs Cm get ,
2157 .Nm zfs Cm set ,
2158 and so forth
2160 can be used to manipulate both native properties and user properties.
2161 Use the
2162 .Nm zfs Cm inherit
2163 command to clear a user property.
2164 If the property is not defined in any parent dataset, it is removed entirely.
2165 Property values are limited to 8192 bytes.