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.
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.
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]
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.
47 .Nd native and user-defined properties of ZFS datasets
50 Properties are divided into two types, native properties and user-defined
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
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 .
70 The values of numeric properties can be specified using human-readable suffixes
80 The following are all valid
87 The values of non-numeric properties are case sensitive and must be lowercase,
94 The following native properties consist of read-only statistics about the
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"
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,
109 For non-snapshots, the compression ratio achieved for the
111 space of this dataset, expressed as a multiplier.
114 property includes descendant datasets, and, for clones, does not include the
115 space shared with the origin snapshot.
121 Compression can be turned on by running:
122 .Nm zfs Cm set Sy compression Ns = Ns Sy on Ar dataset .
126 The transaction group (txg) in which the dataset was created.
127 Bookmarks have the same
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.
133 The time this dataset was created.
135 For snapshots, this property is a comma-separated list of filesystems or volumes
136 which are clones of this snapshot.
139 property is this snapshot.
142 property is not empty, then this snapshot can not be destroyed
149 The roles of origin and clone can be swapped by promoting the clone with the
155 if the snapshot has been marked for deferred destroy by using the
156 .Nm zfs Cm destroy Fl d
158 Otherwise, the property is
160 .It Sy encryptionroot
161 For encrypted datasets, indicates where the dataset is currently inheriting its
163 Loading or unloading a key for the
165 will implicitly load / unload the key for any inheriting datasets (see
168 .Nm zfs Cm unload-key
170 Clones will always share an
171 encryption key with their origin.
177 .It Sy filesystem_count
178 The total number of filesystems and volumes that exist under this location in
180 This value is only available when a
182 has been set somewhere in the tree under which the dataset resides.
184 Indicates if an encryption key is currently loaded into ZFS.
185 The possible values are
193 .Nm zfs Cm unload-key .
195 The 64 bit GUID of this dataset or bookmark which does not change over its
197 When a snapshot is sent to another pool, the received snapshot has the same
201 is suitable to identify a snapshot across pools.
202 .It Sy logicalreferenced
203 The amount of space that is
205 accessible by this dataset.
209 The logical space ignores the effect of the
213 properties, giving a quantity closer to the amount of data that applications
215 However, it does include space consumed by metadata.
217 This property can also be referred to by its shortened column name,
220 The amount of space that is
222 consumed by this dataset and all its descendents.
226 The logical space ignores the effect of the
230 properties, giving a quantity closer to the amount of data that applications
232 However, it does include space consumed by metadata.
234 This property can also be referred to by its shortened column name,
237 For file systems, indicates whether the file system is currently mounted.
238 This property can be either
243 A unique identifier for this dataset within the pool.
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.
250 can be reused (for a new dataset) after the dataset is deleted.
252 For cloned file systems or volumes, the snapshot from which the clone was
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
262 to resume and complete the
265 For bookmarks, this is the list of snapshot guids the bookmark contains a
268 For snapshots, this is the list of snapshot guids the snapshot is redacted with
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
277 This property can also be referred to by its shortened column name,
279 .It Sy refcompressratio
280 The compression ratio achieved for the
282 space of this dataset, expressed as a multiplier.
286 .It Sy snapshot_count
287 The total number of snapshots that exist under this location in the dataset
289 This value is only available when a
291 has been set somewhere in the tree under which the dataset resides.
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
314 is space that is referenced exclusively by this snapshot.
315 If this snapshot is destroyed, the amount of
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
326 space of a snapshot is a subset of the
328 space of the snapshot.
330 The amount of space used, available, or referenced does not take into account
332 Pending changes are generally accounted for within a few seconds.
333 Committing a change to a disk using
337 does not necessarily guarantee that the space usage information is updated
342 properties decompose the
344 properties into the various reasons that space is used.
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
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.
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
363 and destroying any necessary snapshots or descendents
365 .It Sy usedbyrefreservation
366 The amount of space used by a
368 set on this dataset, which would be freed if the
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'
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
382 The amount of space charged is displayed by
383 .Nm du No and Nm ls Fl s .
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
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
401 symbol, using one of the following forms:
402 .Bl -bullet -compact -offset 4n
411 .Pq Qq joe.smith@mydomain
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
421 property is similar to
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
429 .Sy xattr Ns = Ns Sy on
430 is set on a file system additional objects will be created per-file to store
432 These additional objects are reflected in the
434 value and are counted against the user's
436 When a file system is configured to use
437 .Sy xattr Ns = Ns Sy sa
438 no additional internal objects are normally required.
440 This property is set to the number of user holds on this snapshot.
441 User holds are set by using the
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
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
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.
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
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
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
480 .Nm zfs project Fl s )
482 The privileged user can set and change object's project
488 Space is charged to the project of each file, as displayed by
493 .Sy userused Ns @ Ns Ar user
494 property for more information.
496 The root user, or a user who has been granted the
500 can access all projects' usage.
501 .It Sy projectobjused Ns @ Ns Ar project
506 but instead it counts the number of objects consumed by project.
508 .Sy xattr Ns = Ns Sy on
509 is set on a fileset, ZFS will create additional objects per-file to store
511 These additional objects are reflected in the
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.
519 .Sy userobjused Ns @ Ns Ar user
520 property for more information.
522 The root user, or a user who has been granted the
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
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
538 For volumes, specifies the block size of the volume.
541 cannot be changed once the volume has been written, so it should be set at
542 volume creation time.
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,
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
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.
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
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
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"
586 does not inherit any ACEs.
588 only inherits inheritable ACEs that specify
596 permissions when the ACE is inherited.
598 inherits all inheritable ACEs without any modifications.
603 .Sy owner@ , group@ , No and Sy everyone@
604 ACEs inherit the execute permission only if the file creation mode also requests
608 When the property value is set to
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.
616 property does not apply to POSIX ACLs.
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"
627 except for those representing
628 the mode of the file or directory requested by
631 reduces permissions granted in all
635 such that they are no greater than the group permissions specified by
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.
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.
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.
650 on a file or directory with a non-trivial ACL when
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
661 .Bl -tag -compact -offset 4n -width "posixacl"
663 default on Linux, when a file system has the
665 property set to off then ACLs are disabled.
672 indicates that NFSv4-style ZFS ACLs should be used.
673 These ACLs can be managed with the
679 ZFS ACL type is not yet supported on Linux.
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
691 To obtain the best performance when setting
693 users are strongly encouraged to set the
694 .Sy xattr Ns = Ns Sy sa
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
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.
713 are equivalent to the
723 .It Sy canmount Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy noauto
724 If this property is set to
726 the file system cannot be mounted, and is ignored by
727 .Nm zfs Cm mount Fl a .
728 Setting this property to
730 is similar to setting the
734 except that the dataset still has a normal
736 property, which can be inherited.
737 Setting this property to
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
744 so that the children of both datasets appear in the same directory, but might
745 have different inherited characteristics.
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
757 This property is not inherited.
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.
766 which automatically selects an appropriate algorithm
769 but this may change in future releases
773 disables integrity checking on user data.
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
781 a recommended practice.
789 checksum algorithms require enabling the appropriate features on the pool.
793 for more information on these algorithms.
795 Changing this property affects only newly-written data.
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.
805 (the default), indicates that the current default compression algorithm should
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,
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
823 compression algorithm is a high-performance replacement for the
826 It features significantly faster compression and decompression, as well as a
827 moderately higher compression ratio than
829 but can only be used on pools with the
835 for details on ZFS feature flags and the
841 compression algorithm is optimized for performance while providing decent data
846 compression algorithm uses the same compression as the
851 level by using the value
858 .Pq best compression ratio .
863 .Po which is also the default for
869 compression algorithm provides both high compression ratios and good
873 level by using the value
880 .Pq best compression ratio .
885 Faster speeds at the cost of the compression ratio can be requested by
890 .Sy zstd-fast- Ns Ar N ,
894 .Bq Sy 1 Ns - Ns Sy 10 , 20 , 30 , No … , Sy 100 , 500 , 1000
895 which maps to a negative
898 The lower the level the faster the compression \(em
900 provides the fastest compression and lowest compression ratio.
903 .Sy zstd-fast- Ns Ar 1 .
907 compression algorithm compresses runs of zeros.
909 This property can also be referred to by its shortened column name
911 Changing this property affects only newly-written data.
913 When any setting except
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
927 or less of their original size.
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.
936 for more information.
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
945 for more information.
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.
953 for more information.
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.
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,
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
977 Remember that ZFS will not import a pool with a missing top-level vdev.
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
990 .It Sy devices Ns = Ns Sy on Ns | Ns Sy off
991 Controls whether device nodes can be opened on this file system.
998 are equivalent to the
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
1011 The default deduplication checksum is
1013 (this may change in the future).
1016 is enabled, the checksum defined here overrides the
1019 Setting the value to
1021 has the same effect as the setting
1022 .Sy sha256 , Ns 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.
1030 is mandatory for the
1034 Unless necessary, deduplication should
1036 be enabled on a system.
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
1047 The default value is
1049 Setting this property to a value other than
1050 .Sy legacy No requires the Sy large_dnode No pool feature to be enabled .
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.
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.
1069 if you need to receive a send stream of this dataset on a pool that doesn't
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,
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
1086 feature to be enabled on the pool.
1089 to be set at dataset creation time.
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
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
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
1116 Even though the encryption suite cannot be changed after dataset creation,
1117 the keyformat can be with
1118 .Nm zfs Cm change-key .
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
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
1131 Even though the encryption suite cannot be changed after dataset creation, the
1132 keylocation can be with either
1135 .Nm zfs Cm change-key .
1138 is selected ZFS will ask for the key at the command prompt when it is required
1139 to access the encrypted data (see
1142 This setting will also allow the key to be passed in via the standard input
1144 but users should be careful not to place keys which should be kept secret on
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
1150 libcurl, or nothing, depending on compile-time configuration and run-time
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
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
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
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
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
1195 are equivalent to the
1200 .It Sy volthreading Ns = Ns Sy on Ns | Ns Sy off
1201 Controls internal zvol threading.
1204 disables zvol threading, and zvol relies on application threads.
1205 The default value is
1207 which enables threading within a zvol.
1208 Please note that this property will be overridden by
1209 .Sy zvol_request_sync
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
1215 The limit is not enforced if the user is allowed to change the limit.
1217 .Sy filesystem_limit
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
1227 .Xr zpool-features 7
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
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.
1250 for more information on how this property is used.
1254 property is changed for a file system, the file system and any children that
1255 inherit the mount point are unmounted.
1258 then they remain unmounted.
1259 Otherwise, they are automatically remounted in the new location if the property
1264 In addition, any shared file systems are unshared and shared in the new
1269 property is set with
1273 property is updated but dataset is not mounted or unmounted and remains
1275 .It Sy nbmand Ns = Ns Sy on Ns | Ns Sy off
1276 Controls whether the file system should be mounted with
1278 .Pq Non-blocking mandatory locks .
1279 Changes to this property only take effect when the file system is umounted and
1281 This was only supported by Linux prior to 5.15, and was buggy there,
1282 and is not supported by
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
1291 On these platforms the property is
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
1300 If this property is set to
1302 then both user data and metadata is cached.
1303 If this property is set to
1305 then neither user data nor metadata is cached.
1306 If this property is set to
1308 then only metadata is cached.
1309 The default value is
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
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
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
1327 on a descendent of a dataset that already has a
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
1337 .Xr zpool-features 7
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
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
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
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
1369 symbol, using one of the following forms:
1370 .Bl -bullet -compact -offset 4n
1379 .Pq Qq joe.smith@mydomain
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
1391 but it limits the number of objects a user can create.
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
1401 Unprivileged users can access only their own groups' space usage.
1402 The root user, or a user who has been granted the
1406 can get and set all groups' quotas.
1407 .It Sy groupobjquota@ Ns Ar group Ns = Ns Ar size Ns | Ns Sy none
1412 but it limits number of objects a group can consume.
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
1423 for more information about how project is identified and set/changed.
1425 The root user, or a user who has been granted the
1429 can access all projects' quota.
1430 .It Sy projectobjquota@ Ns Ar project Ns = Ns Ar size Ns | Ns Sy none
1435 but it limits number of objects a project can consume.
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
1447 are equivalent to the
1453 This property can also be referred to by its shortened column name,
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.
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
1473 and less than or equal to
1477 feature is enabled on the pool, the size may be up to
1480 .Xr zpool-features 7
1481 for details on ZFS feature flags.
1483 Changing the file system's
1485 affects only files created afterward; existing files are unaffected.
1487 This property can also be referred to by its shortened column name,
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
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
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
1518 ZFS stores an extra copy of most types of metadata.
1519 This can improve performance of random writes, because less metadata must be
1521 In practice, at worst about 1000 blocks
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
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.
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
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
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 .
1557 reservation is accounted for in the parent datasets' space used, and counts
1558 against the parent datasets' quotas and reservations.
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
1565 bytes in the dataset.
1571 a volume is thick provisioned
1575 .Sy refreservation Ns = Ns Sy auto
1576 is only supported on volumes.
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,
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
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
1600 are equivalent to the
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,
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
1617 If this property is set to
1619 then both user data and metadata is cached.
1620 If this property is set to
1622 then neither user data nor metadata is cached.
1623 If this property is set to
1625 then only metadata is cached.
1626 The default value is
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
1632 then both user data and metadata are prefetched.
1633 If this property is set to
1635 then neither user data nor metadata are prefetched.
1636 If this property is set to
1638 then only metadata are prefetched.
1639 The default value is
1642 Please note that the module parameter zfs_disable_prefetch=1 can
1643 be used to totally disable speculative prefetch, bypassing anything
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
1653 are equivalent to the
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
1667 If the property is set to on, the
1669 command is invoked to create a
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
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 - ,
1691 .Xr smbpasswd 5 Ns -based )
1693 This means that any additional access control
1694 (disallow specific user specific access etc) must be done on the underlying file
1699 property is updated with
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
1706 A file system with a
1712 command and entries in the
1715 Otherwise, the file system is automatically shared and unshared with the
1720 If the property is set to
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
1727 This is done to negate the need for quoting, as well as to make parsing
1728 with scripts easier.
1732 for the meaning of the default options.
1735 command is invoked with options equivalent to the contents of this property.
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
1742 or if they were shared before the property was changed.
1743 If the new property is
1745 the file systems are unshared.
1749 property is updated with
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.
1760 ZFS will use pool log devices
1762 to handle the requests at low latency.
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
1776 .It Sy snapdir Ns = Ns Sy hidden Ns | Ns Sy visible
1777 Controls whether the
1779 directory is hidden or visible in the root of the file system as discussed in
1784 The default value is
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 .
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 .
1795 causes every file system transaction to be written and flushed before its
1796 system call returns.
1797 This has a large performance penalty.
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
1808 This property can only be set to later supported versions.
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
1820 are reflected in an equivalent change to the reservation
1821 .Pq or Sy refreservation .
1824 can only be set to a multiple of
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
1839 .Qq thin provisioned
1841 can be created by specifying the
1844 .Nm zfs Cm create Fl V
1845 command, or by changing the value of the
1850 property on pool version 8 or earlier
1852 after the volume has been created.
1855 is a volume where the value of
1857 is less than the size of the volume plus the space required to store its
1859 Consequently, writes to a sparse volume can fail with
1861 when the pool is low on space.
1862 For a sparse volume, changes to
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
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.
1876 exposes volumes as fully fledged block devices, providing maximal
1880 is just an alias for
1882 and is kept for compatibility.
1885 hides its partitions.
1886 Volumes with property set to
1888 are not exposed outside ZFS, but can be snapshotted, cloned, replicated, etc,
1889 that can be suitable for backup purposes.
1892 means that volumes exposition is controlled by system-wide tunable
1899 are encoded as 1, 2 and 3 respectively.
1900 The default value is
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
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
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
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
1924 system calls limit the maximum size to
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
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.
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
1944 .Sy xattr Ns = Ns Sy sa
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.
1958 are equivalent to the
1963 .It Sy jailed Ns = Ns Sy off Ns | Ns Sy on
1964 Controls whether the dataset is managed from a jail.
1967 for more information.
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.
1975 for more information.
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
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.
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
1999 The default value for the
2005 and POSIX file systems have case-sensitive file names.
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
2017 value behavior, see the "ZFS Administration Guide".
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
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
2028 If this property is set to a legal value other than
2032 property was left unspecified, the
2034 property is automatically set to
2036 The default value of the
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
2046 If this property is explicitly set to
2048 the normalization property must either not be explicitly set or be set to
2050 The default value for the
2054 This property cannot be changed after the file system is created.
2058 .Sy casesensitivity ,
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
2068 for legacy mounts or the
2070 command for normal file systems, its mount options are set according to its
2072 The correlation between properties and mount options is as follows:
2073 .Bl -tag -compact -offset Ds -width "rootcontext="
2094 .It Sy fscontext Ns =
2096 .It Sy defcontext Ns =
2098 .It Sy rootcontext Ns =
2102 In addition, these options can be set on a per-mount basis using the
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
2109 option is an alias for
2110 .Sy nodevices , Ns Sy nosetuid .
2111 These properties are reported as
2116 If the properties are changed while the dataset is mounted, the new setting
2117 overrides any temporary settings.
2120 In addition to the standard native properties, ZFS supports arbitrary user
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
2128 character to distinguish them from native properties.
2129 They may contain lowercase letters, numbers, and the following punctuation
2138 The expected convention is that the property name is divided into two portions
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
2145 When making programmatic use of user properties, it is strongly suggested to use
2146 a reversed DNS domain name for the
2148 component of property names to reduce the chance that two
2149 independently-developed packages use the same property name for different
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 ,
2160 can be used to manipulate both native properties and user properties.
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.