xref: /freebsd/sys/contrib/openzfs/man/man7/zfsprops.7 (revision c03c5b1c80914ec656fbee84539355d1fad68bf9)
13ff01b23SMartin Matuska.\"
23ff01b23SMartin Matuska.\" CDDL HEADER START
33ff01b23SMartin Matuska.\"
43ff01b23SMartin Matuska.\" The contents of this file are subject to the terms of the
53ff01b23SMartin Matuska.\" Common Development and Distribution License (the "License").
63ff01b23SMartin Matuska.\" You may not use this file except in compliance with the License.
73ff01b23SMartin Matuska.\"
83ff01b23SMartin Matuska.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
93ff01b23SMartin Matuska.\" or http://www.opensolaris.org/os/licensing.
103ff01b23SMartin Matuska.\" See the License for the specific language governing permissions
113ff01b23SMartin Matuska.\" and limitations under the License.
123ff01b23SMartin Matuska.\"
133ff01b23SMartin Matuska.\" When distributing Covered Code, include this CDDL HEADER in each
143ff01b23SMartin Matuska.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
153ff01b23SMartin Matuska.\" If applicable, add the following below this CDDL HEADER, with the
163ff01b23SMartin Matuska.\" fields enclosed by brackets "[]" replaced with your own identifying
173ff01b23SMartin Matuska.\" information: Portions Copyright [yyyy] [name of copyright owner]
183ff01b23SMartin Matuska.\"
193ff01b23SMartin Matuska.\" CDDL HEADER END
203ff01b23SMartin Matuska.\"
213ff01b23SMartin Matuska.\" Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
223ff01b23SMartin Matuska.\" Copyright 2011 Joshua M. Clulow <josh@sysmgr.org>
233ff01b23SMartin Matuska.\" Copyright (c) 2011, 2019 by Delphix. All rights reserved.
243ff01b23SMartin Matuska.\" Copyright (c) 2011, Pawel Jakub Dawidek <pjd@FreeBSD.org>
253ff01b23SMartin Matuska.\" Copyright (c) 2012, Glen Barber <gjb@FreeBSD.org>
263ff01b23SMartin Matuska.\" Copyright (c) 2012, Bryan Drewery <bdrewery@FreeBSD.org>
273ff01b23SMartin Matuska.\" Copyright (c) 2013, Steven Hartland <smh@FreeBSD.org>
283ff01b23SMartin Matuska.\" Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
293ff01b23SMartin Matuska.\" Copyright (c) 2014, Joyent, Inc. All rights reserved.
303ff01b23SMartin Matuska.\" Copyright (c) 2014 by Adam Stevko. All rights reserved.
313ff01b23SMartin Matuska.\" Copyright (c) 2014 Integros [integros.com]
323ff01b23SMartin Matuska.\" Copyright (c) 2016 Nexenta Systems, Inc. All Rights Reserved.
333ff01b23SMartin Matuska.\" Copyright (c) 2014, Xin LI <delphij@FreeBSD.org>
343ff01b23SMartin Matuska.\" Copyright (c) 2014-2015, The FreeBSD Foundation, All Rights Reserved.
353ff01b23SMartin Matuska.\" Copyright 2019 Richard Laager. All rights reserved.
363ff01b23SMartin Matuska.\" Copyright 2018 Nexenta Systems, Inc.
373ff01b23SMartin Matuska.\" Copyright 2019 Joyent, Inc.
383ff01b23SMartin Matuska.\" Copyright (c) 2019, Kjeld Schouten-Lebbing
393ff01b23SMartin Matuska.\"
403ff01b23SMartin Matuska.Dd May 24, 2021
413ff01b23SMartin Matuska.Dt ZFSPROPS 7
423ff01b23SMartin Matuska.Os
433ff01b23SMartin Matuska.
443ff01b23SMartin Matuska.Sh NAME
453ff01b23SMartin Matuska.Nm zfsprops
463ff01b23SMartin Matuska.Nd native and user-defined properties of ZFS datasets
473ff01b23SMartin Matuska.
483ff01b23SMartin Matuska.Sh DESCRIPTION
493ff01b23SMartin MatuskaProperties are divided into two types, native properties and user-defined
503ff01b23SMartin Matuska.Po or
513ff01b23SMartin Matuska.Qq user
523ff01b23SMartin Matuska.Pc
533ff01b23SMartin Matuskaproperties.
543ff01b23SMartin MatuskaNative properties either export internal statistics or control ZFS behavior.
553ff01b23SMartin MatuskaIn addition, native properties are either editable or read-only.
563ff01b23SMartin MatuskaUser properties have no effect on ZFS behavior, but you can use them to annotate
573ff01b23SMartin Matuskadatasets in a way that is meaningful in your environment.
583ff01b23SMartin MatuskaFor more information about user properties, see the
593ff01b23SMartin Matuska.Sx User Properties
603ff01b23SMartin Matuskasection, below.
613ff01b23SMartin Matuska.
623ff01b23SMartin Matuska.Ss Native Properties
633ff01b23SMartin MatuskaEvery dataset has a set of properties that export statistics about the dataset
643ff01b23SMartin Matuskaas well as control various behaviors.
653ff01b23SMartin MatuskaProperties are inherited from the parent unless overridden by the child.
663ff01b23SMartin MatuskaSome properties apply only to certain types of datasets
673ff01b23SMartin Matuska.Pq file systems, volumes, or snapshots .
683ff01b23SMartin Matuska.Pp
693ff01b23SMartin MatuskaThe values of numeric properties can be specified using human-readable suffixes
703ff01b23SMartin Matuska.Po for example,
713ff01b23SMartin Matuska.Sy k ,
723ff01b23SMartin Matuska.Sy KB ,
733ff01b23SMartin Matuska.Sy M ,
743ff01b23SMartin Matuska.Sy Gb ,
753ff01b23SMartin Matuskaand so forth, up to
763ff01b23SMartin Matuska.Sy Z
773ff01b23SMartin Matuskafor zettabyte
783ff01b23SMartin Matuska.Pc .
793ff01b23SMartin MatuskaThe following are all valid
803ff01b23SMartin Matuska.Pq and equal
813ff01b23SMartin Matuskaspecifications:
823ff01b23SMartin Matuska.Li 1536M, 1.5g, 1.50GB .
833ff01b23SMartin Matuska.Pp
843ff01b23SMartin MatuskaThe values of non-numeric properties are case sensitive and must be lowercase,
853ff01b23SMartin Matuskaexcept for
863ff01b23SMartin Matuska.Sy mountpoint ,
873ff01b23SMartin Matuska.Sy sharenfs ,
883ff01b23SMartin Matuskaand
893ff01b23SMartin Matuska.Sy sharesmb .
903ff01b23SMartin Matuska.Pp
913ff01b23SMartin MatuskaThe following native properties consist of read-only statistics about the
923ff01b23SMartin Matuskadataset.
933ff01b23SMartin MatuskaThese properties can be neither set, nor inherited.
943ff01b23SMartin MatuskaNative properties apply to all dataset types unless otherwise noted.
953ff01b23SMartin Matuska.Bl -tag -width "usedbyrefreservation"
963ff01b23SMartin Matuska.It Sy available
973ff01b23SMartin MatuskaThe amount of space available to the dataset and all its children, assuming that
983ff01b23SMartin Matuskathere is no other activity in the pool.
993ff01b23SMartin MatuskaBecause space is shared within a pool, availability can be limited by any number
1003ff01b23SMartin Matuskaof factors, including physical pool size, quotas, reservations, or other
1013ff01b23SMartin Matuskadatasets within the pool.
1023ff01b23SMartin Matuska.Pp
1033ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
1043ff01b23SMartin Matuska.Sy avail .
1053ff01b23SMartin Matuska.It Sy compressratio
1063ff01b23SMartin MatuskaFor non-snapshots, the compression ratio achieved for the
1073ff01b23SMartin Matuska.Sy used
1083ff01b23SMartin Matuskaspace of this dataset, expressed as a multiplier.
1093ff01b23SMartin MatuskaThe
1103ff01b23SMartin Matuska.Sy used
1113ff01b23SMartin Matuskaproperty includes descendant datasets, and, for clones, does not include the
1123ff01b23SMartin Matuskaspace shared with the origin snapshot.
1133ff01b23SMartin MatuskaFor snapshots, the
1143ff01b23SMartin Matuska.Sy compressratio
1153ff01b23SMartin Matuskais the same as the
1163ff01b23SMartin Matuska.Sy refcompressratio
1173ff01b23SMartin Matuskaproperty.
1183ff01b23SMartin MatuskaCompression can be turned on by running:
1193ff01b23SMartin Matuska.Nm zfs Cm set Sy compression Ns = Ns Sy on Ar dataset .
1203ff01b23SMartin MatuskaThe default value is
1213ff01b23SMartin Matuska.Sy off .
1223ff01b23SMartin Matuska.It Sy createtxg
1233ff01b23SMartin MatuskaThe transaction group (txg) in which the dataset was created.
1243ff01b23SMartin MatuskaBookmarks have the same
1253ff01b23SMartin Matuska.Sy createtxg
1263ff01b23SMartin Matuskaas the snapshot they are initially tied to.
1273ff01b23SMartin MatuskaThis property is suitable for ordering a list of snapshots,
1283ff01b23SMartin Matuskae.g. for incremental send and receive.
1293ff01b23SMartin Matuska.It Sy creation
1303ff01b23SMartin MatuskaThe time this dataset was created.
1313ff01b23SMartin Matuska.It Sy clones
1323ff01b23SMartin MatuskaFor snapshots, this property is a comma-separated list of filesystems or volumes
1333ff01b23SMartin Matuskawhich are clones of this snapshot.
1343ff01b23SMartin MatuskaThe clones'
1353ff01b23SMartin Matuska.Sy origin
1363ff01b23SMartin Matuskaproperty is this snapshot.
1373ff01b23SMartin MatuskaIf the
1383ff01b23SMartin Matuska.Sy clones
1393ff01b23SMartin Matuskaproperty is not empty, then this snapshot can not be destroyed
1403ff01b23SMartin Matuska.Po even with the
1413ff01b23SMartin Matuska.Fl r
1423ff01b23SMartin Matuskaor
1433ff01b23SMartin Matuska.Fl f
1443ff01b23SMartin Matuskaoptions
1453ff01b23SMartin Matuska.Pc .
1463ff01b23SMartin MatuskaThe roles of origin and clone can be swapped by promoting the clone with the
1473ff01b23SMartin Matuska.Nm zfs Cm promote
1483ff01b23SMartin Matuskacommand.
1493ff01b23SMartin Matuska.It Sy defer_destroy
1503ff01b23SMartin MatuskaThis property is
1513ff01b23SMartin Matuska.Sy on
1523ff01b23SMartin Matuskaif the snapshot has been marked for deferred destroy by using the
1533ff01b23SMartin Matuska.Nm zfs Cm destroy Fl d
1543ff01b23SMartin Matuskacommand.
1553ff01b23SMartin MatuskaOtherwise, the property is
1563ff01b23SMartin Matuska.Sy off .
1573ff01b23SMartin Matuska.It Sy encryptionroot
1583ff01b23SMartin MatuskaFor encrypted datasets, indicates where the dataset is currently inheriting its
1593ff01b23SMartin Matuskaencryption key from.
1603ff01b23SMartin MatuskaLoading or unloading a key for the
1613ff01b23SMartin Matuska.Sy encryptionroot
1623ff01b23SMartin Matuskawill implicitly load / unload the key for any inheriting datasets (see
1633ff01b23SMartin Matuska.Nm zfs Cm load-key
1643ff01b23SMartin Matuskaand
1653ff01b23SMartin Matuska.Nm zfs Cm unload-key
1663ff01b23SMartin Matuskafor details).
1673ff01b23SMartin MatuskaClones will always share an
1683ff01b23SMartin Matuskaencryption key with their origin.
1693ff01b23SMartin MatuskaSee the
1703ff01b23SMartin Matuska.Sx Encryption
1713ff01b23SMartin Matuskasection of
1723ff01b23SMartin Matuska.Xr zfs-load-key 8
1733ff01b23SMartin Matuskafor details.
1743ff01b23SMartin Matuska.It Sy filesystem_count
1753ff01b23SMartin MatuskaThe total number of filesystems and volumes that exist under this location in
1763ff01b23SMartin Matuskathe dataset tree.
1773ff01b23SMartin MatuskaThis value is only available when a
1783ff01b23SMartin Matuska.Sy filesystem_limit
1793ff01b23SMartin Matuskahas been set somewhere in the tree under which the dataset resides.
1803ff01b23SMartin Matuska.It Sy keystatus
1813ff01b23SMartin MatuskaIndicates if an encryption key is currently loaded into ZFS.
1823ff01b23SMartin MatuskaThe possible values are
1833ff01b23SMartin Matuska.Sy none ,
1843ff01b23SMartin Matuska.Sy available ,
1853ff01b23SMartin Matuskaand
1863ff01b23SMartin Matuska.Sy unavailable .
1873ff01b23SMartin MatuskaSee
1883ff01b23SMartin Matuska.Nm zfs Cm load-key
1893ff01b23SMartin Matuskaand
1903ff01b23SMartin Matuska.Nm zfs Cm unload-key .
1913ff01b23SMartin Matuska.It Sy guid
1923ff01b23SMartin MatuskaThe 64 bit GUID of this dataset or bookmark which does not change over its
1933ff01b23SMartin Matuskaentire lifetime.
1943ff01b23SMartin MatuskaWhen a snapshot is sent to another pool, the received snapshot has the same GUID.
1953ff01b23SMartin MatuskaThus, the
1963ff01b23SMartin Matuska.Sy guid
1973ff01b23SMartin Matuskais suitable to identify a snapshot across pools.
1983ff01b23SMartin Matuska.It Sy logicalreferenced
1993ff01b23SMartin MatuskaThe amount of space that is
2003ff01b23SMartin Matuska.Qq logically
2013ff01b23SMartin Matuskaaccessible by this dataset.
2023ff01b23SMartin MatuskaSee the
2033ff01b23SMartin Matuska.Sy referenced
2043ff01b23SMartin Matuskaproperty.
2053ff01b23SMartin MatuskaThe logical space ignores the effect of the
2063ff01b23SMartin Matuska.Sy compression
2073ff01b23SMartin Matuskaand
2083ff01b23SMartin Matuska.Sy copies
2093ff01b23SMartin Matuskaproperties, giving a quantity closer to the amount of data that applications
2103ff01b23SMartin Matuskasee.
2113ff01b23SMartin MatuskaHowever, it does include space consumed by metadata.
2123ff01b23SMartin Matuska.Pp
2133ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
2143ff01b23SMartin Matuska.Sy lrefer .
2153ff01b23SMartin Matuska.It Sy logicalused
2163ff01b23SMartin MatuskaThe amount of space that is
2173ff01b23SMartin Matuska.Qq logically
2183ff01b23SMartin Matuskaconsumed by this dataset and all its descendents.
2193ff01b23SMartin MatuskaSee the
2203ff01b23SMartin Matuska.Sy used
2213ff01b23SMartin Matuskaproperty.
2223ff01b23SMartin MatuskaThe logical space ignores the effect of the
2233ff01b23SMartin Matuska.Sy compression
2243ff01b23SMartin Matuskaand
2253ff01b23SMartin Matuska.Sy copies
2263ff01b23SMartin Matuskaproperties, giving a quantity closer to the amount of data that applications
2273ff01b23SMartin Matuskasee.
2283ff01b23SMartin MatuskaHowever, it does include space consumed by metadata.
2293ff01b23SMartin Matuska.Pp
2303ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
2313ff01b23SMartin Matuska.Sy lused .
2323ff01b23SMartin Matuska.It Sy mounted
2333ff01b23SMartin MatuskaFor file systems, indicates whether the file system is currently mounted.
2343ff01b23SMartin MatuskaThis property can be either
2353ff01b23SMartin Matuska.Sy yes
2363ff01b23SMartin Matuskaor
2373ff01b23SMartin Matuska.Sy no .
2383ff01b23SMartin Matuska.It Sy objsetid
2393ff01b23SMartin MatuskaA unique identifier for this dataset within the pool.
2403ff01b23SMartin MatuskaUnlike the dataset's
2413ff01b23SMartin Matuska.Sy guid , No the Sy objsetid
2423ff01b23SMartin Matuskaof a dataset is not transferred to other pools when the snapshot is copied
2433ff01b23SMartin Matuskawith a send/receive operation.
2443ff01b23SMartin MatuskaThe
2453ff01b23SMartin Matuska.Sy objsetid
2463ff01b23SMartin Matuskacan be reused (for a new dataset) after the dataset is deleted.
2473ff01b23SMartin Matuska.It Sy origin
2483ff01b23SMartin MatuskaFor cloned file systems or volumes, the snapshot from which the clone was
2493ff01b23SMartin Matuskacreated.
2503ff01b23SMartin MatuskaSee also the
2513ff01b23SMartin Matuska.Sy clones
2523ff01b23SMartin Matuskaproperty.
2533ff01b23SMartin Matuska.It Sy receive_resume_token
2543ff01b23SMartin MatuskaFor filesystems or volumes which have saved partially-completed state from
2553ff01b23SMartin Matuska.Nm zfs Cm receive Fl s ,
2563ff01b23SMartin Matuskathis opaque token can be provided to
2573ff01b23SMartin Matuska.Nm zfs Cm send Fl t
2583ff01b23SMartin Matuskato resume and complete the
2593ff01b23SMartin Matuska.Nm zfs Cm receive .
2603ff01b23SMartin Matuska.It Sy redact_snaps
2613ff01b23SMartin MatuskaFor bookmarks, this is the list of snapshot guids the bookmark contains a redaction
2623ff01b23SMartin Matuskalist for.
2633ff01b23SMartin MatuskaFor snapshots, this is the list of snapshot guids the snapshot is redacted with
2643ff01b23SMartin Matuskarespect to.
2653ff01b23SMartin Matuska.It Sy referenced
2663ff01b23SMartin MatuskaThe amount of data that is accessible by this dataset, which may or may not be
2673ff01b23SMartin Matuskashared with other datasets in the pool.
2683ff01b23SMartin MatuskaWhen a snapshot or clone is created, it initially references the same amount of
2693ff01b23SMartin Matuskaspace as the file system or snapshot it was created from, since its contents are
2703ff01b23SMartin Matuskaidentical.
2713ff01b23SMartin Matuska.Pp
2723ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
2733ff01b23SMartin Matuska.Sy refer .
2743ff01b23SMartin Matuska.It Sy refcompressratio
2753ff01b23SMartin MatuskaThe compression ratio achieved for the
2763ff01b23SMartin Matuska.Sy referenced
2773ff01b23SMartin Matuskaspace of this dataset, expressed as a multiplier.
2783ff01b23SMartin MatuskaSee also the
2793ff01b23SMartin Matuska.Sy compressratio
2803ff01b23SMartin Matuskaproperty.
2813ff01b23SMartin Matuska.It Sy snapshot_count
2823ff01b23SMartin MatuskaThe total number of snapshots that exist under this location in the dataset
2833ff01b23SMartin Matuskatree.
2843ff01b23SMartin MatuskaThis value is only available when a
2853ff01b23SMartin Matuska.Sy snapshot_limit
2863ff01b23SMartin Matuskahas been set somewhere in the tree under which the dataset resides.
2873ff01b23SMartin Matuska.It Sy type
2883ff01b23SMartin MatuskaThe type of dataset:
2893ff01b23SMartin Matuska.Sy filesystem ,
2903ff01b23SMartin Matuska.Sy volume ,
2913ff01b23SMartin Matuska.Sy snapshot ,
2923ff01b23SMartin Matuskaor
2933ff01b23SMartin Matuska.Sy bookmark .
2943ff01b23SMartin Matuska.It Sy used
2953ff01b23SMartin MatuskaThe amount of space consumed by this dataset and all its descendents.
2963ff01b23SMartin MatuskaThis is the value that is checked against this dataset's quota and reservation.
2973ff01b23SMartin MatuskaThe space used does not include this dataset's reservation, but does take into
2983ff01b23SMartin Matuskaaccount the reservations of any descendent datasets.
2993ff01b23SMartin MatuskaThe amount of space that a dataset consumes from its parent, as well as the
3003ff01b23SMartin Matuskaamount of space that is freed if this dataset is recursively destroyed, is the
3013ff01b23SMartin Matuskagreater of its space used and its reservation.
3023ff01b23SMartin Matuska.Pp
3033ff01b23SMartin MatuskaThe used space of a snapshot
3043ff01b23SMartin Matuska.Po see the
3053ff01b23SMartin Matuska.Sx Snapshots
3063ff01b23SMartin Matuskasection of
3073ff01b23SMartin Matuska.Xr zfsconcepts 7
3083ff01b23SMartin Matuska.Pc
3093ff01b23SMartin Matuskais space that is referenced exclusively by this snapshot.
3103ff01b23SMartin MatuskaIf this snapshot is destroyed, the amount of
3113ff01b23SMartin Matuska.Sy used
3123ff01b23SMartin Matuskaspace will be freed.
3133ff01b23SMartin MatuskaSpace that is shared by multiple snapshots isn't accounted for in this metric.
3143ff01b23SMartin MatuskaWhen a snapshot is destroyed, space that was previously shared with this
3153ff01b23SMartin Matuskasnapshot can become unique to snapshots adjacent to it, thus changing the used
3163ff01b23SMartin Matuskaspace of those snapshots.
3173ff01b23SMartin MatuskaThe used space of the latest snapshot can also be affected by changes in the
3183ff01b23SMartin Matuskafile system.
3193ff01b23SMartin MatuskaNote that the
3203ff01b23SMartin Matuska.Sy used
3213ff01b23SMartin Matuskaspace of a snapshot is a subset of the
3223ff01b23SMartin Matuska.Sy written
3233ff01b23SMartin Matuskaspace of the snapshot.
3243ff01b23SMartin Matuska.Pp
3253ff01b23SMartin MatuskaThe amount of space used, available, or referenced does not take into account
3263ff01b23SMartin Matuskapending changes.
3273ff01b23SMartin MatuskaPending changes are generally accounted for within a few seconds.
3283ff01b23SMartin MatuskaCommitting a change to a disk using
3293ff01b23SMartin Matuska.Xr fsync 2
3303ff01b23SMartin Matuskaor
3313ff01b23SMartin Matuska.Sy O_SYNC
3323ff01b23SMartin Matuskadoes not necessarily guarantee that the space usage information is updated
3333ff01b23SMartin Matuskaimmediately.
3343ff01b23SMartin Matuska.It Sy usedby*
3353ff01b23SMartin MatuskaThe
3363ff01b23SMartin Matuska.Sy usedby*
3373ff01b23SMartin Matuskaproperties decompose the
3383ff01b23SMartin Matuska.Sy used
3393ff01b23SMartin Matuskaproperties into the various reasons that space is used.
3403ff01b23SMartin MatuskaSpecifically,
3413ff01b23SMartin Matuska.Sy used No =
3423ff01b23SMartin Matuska.Sy usedbychildren No +
3433ff01b23SMartin Matuska.Sy usedbydataset No +
3443ff01b23SMartin Matuska.Sy usedbyrefreservation No +
3453ff01b23SMartin Matuska.Sy usedbysnapshots .
3463ff01b23SMartin MatuskaThese properties are only available for datasets created on
3473ff01b23SMartin Matuska.Nm zpool
3483ff01b23SMartin Matuska.Qo version 13 Qc
3493ff01b23SMartin Matuskapools.
3503ff01b23SMartin Matuska.It Sy usedbychildren
3513ff01b23SMartin MatuskaThe amount of space used by children of this dataset, which would be freed if
3523ff01b23SMartin Matuskaall the dataset's children were destroyed.
3533ff01b23SMartin Matuska.It Sy usedbydataset
3543ff01b23SMartin MatuskaThe amount of space used by this dataset itself, which would be freed if the
3553ff01b23SMartin Matuskadataset were destroyed
3563ff01b23SMartin Matuska.Po after first removing any
3573ff01b23SMartin Matuska.Sy refreservation
3583ff01b23SMartin Matuskaand destroying any necessary snapshots or descendents
3593ff01b23SMartin Matuska.Pc .
3603ff01b23SMartin Matuska.It Sy usedbyrefreservation
3613ff01b23SMartin MatuskaThe amount of space used by a
3623ff01b23SMartin Matuska.Sy refreservation
3633ff01b23SMartin Matuskaset on this dataset, which would be freed if the
3643ff01b23SMartin Matuska.Sy refreservation
3653ff01b23SMartin Matuskawas removed.
3663ff01b23SMartin Matuska.It Sy usedbysnapshots
3673ff01b23SMartin MatuskaThe amount of space consumed by snapshots of this dataset.
3683ff01b23SMartin MatuskaIn particular, it is the amount of space that would be freed if all of this
3693ff01b23SMartin Matuskadataset's snapshots were destroyed.
3703ff01b23SMartin MatuskaNote that this is not simply the sum of the snapshots'
3713ff01b23SMartin Matuska.Sy used
3723ff01b23SMartin Matuskaproperties because space can be shared by multiple snapshots.
3733ff01b23SMartin Matuska.It Sy userused Ns @ Ns Ar user
3743ff01b23SMartin MatuskaThe amount of space consumed by the specified user in this dataset.
3753ff01b23SMartin MatuskaSpace is charged to the owner of each file, as displayed by
3763ff01b23SMartin Matuska.Nm ls Fl l .
3773ff01b23SMartin MatuskaThe amount of space charged is displayed by
3783ff01b23SMartin Matuska.Nm du No and Nm ls Fl s .
3793ff01b23SMartin MatuskaSee the
3803ff01b23SMartin Matuska.Nm zfs Cm userspace
3813ff01b23SMartin Matuskacommand for more information.
3823ff01b23SMartin Matuska.Pp
3833ff01b23SMartin MatuskaUnprivileged users can access only their own space usage.
3843ff01b23SMartin MatuskaThe root user, or a user who has been granted the
3853ff01b23SMartin Matuska.Sy userused
3863ff01b23SMartin Matuskaprivilege with
3873ff01b23SMartin Matuska.Nm zfs Cm allow ,
3883ff01b23SMartin Matuskacan access everyone's usage.
3893ff01b23SMartin Matuska.Pp
3903ff01b23SMartin MatuskaThe
3913ff01b23SMartin Matuska.Sy userused Ns @ Ns Ar ...
3923ff01b23SMartin Matuskaproperties are not displayed by
3933ff01b23SMartin Matuska.Nm zfs Cm get Sy all .
3943ff01b23SMartin MatuskaThe user's name must be appended after the
3953ff01b23SMartin Matuska.Sy @
3963ff01b23SMartin Matuskasymbol, using one of the following forms:
3973ff01b23SMartin Matuska.Bl -bullet -compact -offset 4n
3983ff01b23SMartin Matuska.It
3993ff01b23SMartin MatuskaPOSIX name
4003ff01b23SMartin Matuska.Pq Qq joe
4013ff01b23SMartin Matuska.It
4023ff01b23SMartin MatuskaPOSIX numeric ID
4033ff01b23SMartin Matuska.Pq Qq 789
4043ff01b23SMartin Matuska.It
4053ff01b23SMartin MatuskaSID name
4063ff01b23SMartin Matuska.Pq Qq joe.smith@mydomain
4073ff01b23SMartin Matuska.It
4083ff01b23SMartin MatuskaSID numeric ID
4093ff01b23SMartin Matuska.Pq Qq S-1-123-456-789
4103ff01b23SMartin Matuska.El
4113ff01b23SMartin Matuska.Pp
4123ff01b23SMartin MatuskaFiles created on Linux always have POSIX owners.
4133ff01b23SMartin Matuska.It Sy userobjused Ns @ Ns Ar user
4143ff01b23SMartin MatuskaThe
4153ff01b23SMartin Matuska.Sy userobjused
4163ff01b23SMartin Matuskaproperty is similar to
4173ff01b23SMartin Matuska.Sy userused
4183ff01b23SMartin Matuskabut instead it counts the number of objects consumed by a user.
4193ff01b23SMartin MatuskaThis property counts all objects allocated on behalf of the user,
4203ff01b23SMartin Matuskait may differ from the results of system tools such as
4213ff01b23SMartin Matuska.Nm df Fl i .
4223ff01b23SMartin Matuska.Pp
4233ff01b23SMartin MatuskaWhen the property
4243ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy on
4253ff01b23SMartin Matuskais set on a file system additional objects will be created per-file to store
4263ff01b23SMartin Matuskaextended attributes.
4273ff01b23SMartin MatuskaThese additional objects are reflected in the
4283ff01b23SMartin Matuska.Sy userobjused
4293ff01b23SMartin Matuskavalue and are counted against the user's
4303ff01b23SMartin Matuska.Sy userobjquota .
4313ff01b23SMartin MatuskaWhen a file system is configured to use
4323ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa
4333ff01b23SMartin Matuskano additional internal objects are normally required.
4343ff01b23SMartin Matuska.It Sy userrefs
4353ff01b23SMartin MatuskaThis property is set to the number of user holds on this snapshot.
4363ff01b23SMartin MatuskaUser holds are set by using the
4373ff01b23SMartin Matuska.Nm zfs Cm hold
4383ff01b23SMartin Matuskacommand.
4393ff01b23SMartin Matuska.It Sy groupused Ns @ Ns Ar group
4403ff01b23SMartin MatuskaThe amount of space consumed by the specified group in this dataset.
4413ff01b23SMartin MatuskaSpace is charged to the group of each file, as displayed by
4423ff01b23SMartin Matuska.Nm ls Fl l .
4433ff01b23SMartin MatuskaSee the
4443ff01b23SMartin Matuska.Sy userused Ns @ Ns Ar user
4453ff01b23SMartin Matuskaproperty for more information.
4463ff01b23SMartin Matuska.Pp
4473ff01b23SMartin MatuskaUnprivileged users can only access their own groups' space usage.
4483ff01b23SMartin MatuskaThe root user, or a user who has been granted the
4493ff01b23SMartin Matuska.Sy groupused
4503ff01b23SMartin Matuskaprivilege with
4513ff01b23SMartin Matuska.Nm zfs Cm allow ,
4523ff01b23SMartin Matuskacan access all groups' usage.
4533ff01b23SMartin Matuska.It Sy groupobjused Ns @ Ns Ar group
4543ff01b23SMartin MatuskaThe number of objects consumed by the specified group in this dataset.
4553ff01b23SMartin MatuskaMultiple objects may be charged to the group for each file when extended
4563ff01b23SMartin Matuskaattributes are in use.
4573ff01b23SMartin MatuskaSee the
4583ff01b23SMartin Matuska.Sy userobjused Ns @ Ns Ar user
4593ff01b23SMartin Matuskaproperty for more information.
4603ff01b23SMartin Matuska.Pp
4613ff01b23SMartin MatuskaUnprivileged users can only access their own groups' space usage.
4623ff01b23SMartin MatuskaThe root user, or a user who has been granted the
4633ff01b23SMartin Matuska.Sy groupobjused
4643ff01b23SMartin Matuskaprivilege with
4653ff01b23SMartin Matuska.Nm zfs Cm allow ,
4663ff01b23SMartin Matuskacan access all groups' usage.
4673ff01b23SMartin Matuska.It Sy projectused Ns @ Ns Ar project
4683ff01b23SMartin MatuskaThe amount of space consumed by the specified project in this dataset.
4693ff01b23SMartin MatuskaProject is identified via the project identifier (ID) that is object-based
4703ff01b23SMartin Matuskanumeral attribute.
4713ff01b23SMartin MatuskaAn object can inherit the project ID from its parent object (if the
4723ff01b23SMartin Matuskaparent has the flag of inherit project ID that can be set and changed via
4733ff01b23SMartin Matuska.Nm chattr Fl /+P
4743ff01b23SMartin Matuskaor
4753ff01b23SMartin Matuska.Nm zfs project Fl s )
4763ff01b23SMartin Matuskawhen being created.
4773ff01b23SMartin MatuskaThe privileged user can set and change object's project
4783ff01b23SMartin MatuskaID via
4793ff01b23SMartin Matuska.Nm chattr Fl p
4803ff01b23SMartin Matuskaor
4813ff01b23SMartin Matuska.Nm zfs project Fl s
4823ff01b23SMartin Matuskaanytime.
4833ff01b23SMartin MatuskaSpace is charged to the project of each file, as displayed by
4843ff01b23SMartin Matuska.Nm lsattr Fl p
4853ff01b23SMartin Matuskaor
4863ff01b23SMartin Matuska.Nm zfs project .
4873ff01b23SMartin MatuskaSee the
4883ff01b23SMartin Matuska.Sy userused Ns @ Ns Ar user
4893ff01b23SMartin Matuskaproperty for more information.
4903ff01b23SMartin Matuska.Pp
4913ff01b23SMartin MatuskaThe root user, or a user who has been granted the
4923ff01b23SMartin Matuska.Sy projectused
4933ff01b23SMartin Matuskaprivilege with
4943ff01b23SMartin Matuska.Nm zfs allow ,
4953ff01b23SMartin Matuskacan access all projects' usage.
4963ff01b23SMartin Matuska.It Sy projectobjused Ns @ Ns Ar project
4973ff01b23SMartin MatuskaThe
4983ff01b23SMartin Matuska.Sy projectobjused
4993ff01b23SMartin Matuskais similar to
5003ff01b23SMartin Matuska.Sy projectused
5013ff01b23SMartin Matuskabut instead it counts the number of objects consumed by project.
5023ff01b23SMartin MatuskaWhen the property
5033ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy on
5043ff01b23SMartin Matuskais set on a fileset, ZFS will create additional objects per-file to store
5053ff01b23SMartin Matuskaextended attributes.
5063ff01b23SMartin MatuskaThese additional objects are reflected in the
5073ff01b23SMartin Matuska.Sy projectobjused
5083ff01b23SMartin Matuskavalue and are counted against the project's
5093ff01b23SMartin Matuska.Sy projectobjquota .
5103ff01b23SMartin MatuskaWhen a filesystem is configured to use
5113ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa
5123ff01b23SMartin Matuskano additional internal objects are required.
5133ff01b23SMartin MatuskaSee the
5143ff01b23SMartin Matuska.Sy userobjused Ns @ Ns Ar user
5153ff01b23SMartin Matuskaproperty for more information.
5163ff01b23SMartin Matuska.Pp
5173ff01b23SMartin MatuskaThe root user, or a user who has been granted the
5183ff01b23SMartin Matuska.Sy projectobjused
5193ff01b23SMartin Matuskaprivilege with
5203ff01b23SMartin Matuska.Nm zfs allow ,
5213ff01b23SMartin Matuskacan access all projects' objects usage.
5223ff01b23SMartin Matuska.It Sy volblocksize
5233ff01b23SMartin MatuskaFor volumes, specifies the block size of the volume.
5243ff01b23SMartin MatuskaThe
5253ff01b23SMartin Matuska.Sy blocksize
5263ff01b23SMartin Matuskacannot be changed once the volume has been written, so it should be set at
5273ff01b23SMartin Matuskavolume creation time.
5283ff01b23SMartin MatuskaThe default
5293ff01b23SMartin Matuska.Sy blocksize
5302faf504dSMartin Matuskafor volumes is 16 Kbytes.
5313ff01b23SMartin MatuskaAny power of 2 from 512 bytes to 128 Kbytes is valid.
5323ff01b23SMartin Matuska.Pp
5333ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
5343ff01b23SMartin Matuska.Sy volblock .
5353ff01b23SMartin Matuska.It Sy written
5363ff01b23SMartin MatuskaThe amount of space
5373ff01b23SMartin Matuska.Sy referenced
5383ff01b23SMartin Matuskaby this dataset, that was written since the previous snapshot
5393ff01b23SMartin Matuska.Pq i.e. that is not referenced by the previous snapshot .
5403ff01b23SMartin Matuska.It Sy written Ns @ Ns Ar snapshot
5413ff01b23SMartin MatuskaThe amount of
5423ff01b23SMartin Matuska.Sy referenced
5433ff01b23SMartin Matuskaspace written to this dataset since the specified snapshot.
5443ff01b23SMartin MatuskaThis is the space that is referenced by this dataset but was not referenced by
5453ff01b23SMartin Matuskathe specified snapshot.
5463ff01b23SMartin Matuska.Pp
5473ff01b23SMartin MatuskaThe
5483ff01b23SMartin Matuska.Ar snapshot
5493ff01b23SMartin Matuskamay be specified as a short snapshot name
5503ff01b23SMartin Matuska.Pq just the part after the Sy @ ,
5513ff01b23SMartin Matuskain which case it will be interpreted as a snapshot in the same filesystem as
5523ff01b23SMartin Matuskathis dataset.
5533ff01b23SMartin MatuskaThe
5543ff01b23SMartin Matuska.Ar snapshot
5553ff01b23SMartin Matuskamay be a full snapshot name
5563ff01b23SMartin Matuska.Pq Ar filesystem Ns @ Ns Ar snapshot ,
5573ff01b23SMartin Matuskawhich for clones may be a snapshot in the origin's filesystem
5583ff01b23SMartin Matuska.Pq or the origin of the origin's filesystem, etc.
5593ff01b23SMartin Matuska.El
5603ff01b23SMartin Matuska.Pp
5613ff01b23SMartin MatuskaThe following native properties can be used to change the behavior of a ZFS
5623ff01b23SMartin Matuskadataset.
5633ff01b23SMartin Matuska.Bl -tag -width ""
5643ff01b23SMartin Matuska.It Xo
5653ff01b23SMartin Matuska.Sy aclinherit Ns = Ns Sy discard Ns | Ns Sy noallow Ns | Ns
5663ff01b23SMartin Matuska.Sy restricted Ns | Ns Sy passthrough Ns | Ns Sy passthrough-x
5673ff01b23SMartin Matuska.Xc
5683ff01b23SMartin MatuskaControls how ACEs are inherited when files and directories are created.
5693ff01b23SMartin Matuska.Bl -tag -compact -offset 4n -width "passthrough-x"
5703ff01b23SMartin Matuska.It Sy discard
5713ff01b23SMartin Matuskadoes not inherit any ACEs.
5723ff01b23SMartin Matuska.It Sy noallow
5733ff01b23SMartin Matuskaonly inherits inheritable ACEs that specify
5743ff01b23SMartin Matuska.Qq deny
5753ff01b23SMartin Matuskapermissions.
5763ff01b23SMartin Matuska.It Sy restricted
5773ff01b23SMartin Matuskadefault, removes the
5783ff01b23SMartin Matuska.Sy write_acl
5793ff01b23SMartin Matuskaand
5803ff01b23SMartin Matuska.Sy write_owner
5813ff01b23SMartin Matuskapermissions when the ACE is inherited.
5823ff01b23SMartin Matuska.It Sy passthrough
5833ff01b23SMartin Matuskainherits all inheritable ACEs without any modifications.
5843ff01b23SMartin Matuska.It Sy passthrough-x
5853ff01b23SMartin Matuskasame meaning as
5863ff01b23SMartin Matuska.Sy passthrough ,
5873ff01b23SMartin Matuskaexcept that the
5883ff01b23SMartin Matuska.Sy owner@ , group@ , No and Sy everyone@
5893ff01b23SMartin MatuskaACEs inherit the execute permission only if the file creation mode also requests
5903ff01b23SMartin Matuskathe execute bit.
5913ff01b23SMartin Matuska.El
5923ff01b23SMartin Matuska.Pp
5933ff01b23SMartin MatuskaWhen the property value is set to
5943ff01b23SMartin Matuska.Sy passthrough ,
5953ff01b23SMartin Matuskafiles are created with a mode determined by the inheritable ACEs.
5963ff01b23SMartin MatuskaIf no inheritable ACEs exist that affect the mode, then the mode is set in
5973ff01b23SMartin Matuskaaccordance to the requested mode from the application.
5983ff01b23SMartin Matuska.Pp
5993ff01b23SMartin MatuskaThe
6003ff01b23SMartin Matuska.Sy aclinherit
6013ff01b23SMartin Matuskaproperty does not apply to POSIX ACLs.
6023ff01b23SMartin Matuska.It Xo
6033ff01b23SMartin Matuska.Sy aclmode Ns = Ns Sy discard Ns | Ns Sy groupmask Ns | Ns
6043ff01b23SMartin Matuska.Sy passthrough Ns | Ns Sy restricted Ns
6053ff01b23SMartin Matuska.Xc
6063ff01b23SMartin MatuskaControls how an ACL is modified during chmod(2) and how inherited ACEs
6073ff01b23SMartin Matuskaare modified by the file creation mode:
6083ff01b23SMartin Matuska.Bl -tag -compact -offset 4n -width "passthrough"
6093ff01b23SMartin Matuska.It Sy discard
6103ff01b23SMartin Matuskadefault, deletes all
6113ff01b23SMartin Matuska.Sy ACEs
6123ff01b23SMartin Matuskaexcept for those representing
6133ff01b23SMartin Matuskathe mode of the file or directory requested by
6143ff01b23SMartin Matuska.Xr chmod 2 .
6153ff01b23SMartin Matuska.It Sy groupmask
6163ff01b23SMartin Matuskareduces permissions granted in all
6173ff01b23SMartin Matuska.Sy ALLOW
6183ff01b23SMartin Matuskaentries found in the
6193ff01b23SMartin Matuska.Sy ACL
6203ff01b23SMartin Matuskasuch that they are no greater than the group permissions specified by
6213ff01b23SMartin Matuska.Xr chmod 2 .
6223ff01b23SMartin Matuska.It Sy passthrough
6233ff01b23SMartin Matuskaindicates that no changes are made to the ACL other than creating or updating
6243ff01b23SMartin Matuskathe necessary ACL entries to represent the new mode of the file or directory.
6253ff01b23SMartin Matuska.It Sy restricted
6263ff01b23SMartin Matuskawill cause the
6273ff01b23SMartin Matuska.Xr chmod 2
6283ff01b23SMartin Matuskaoperation to return an error when used on any file or directory which has
6293ff01b23SMartin Matuskaa non-trivial ACL whose entries can not be represented by a mode.
6303ff01b23SMartin Matuska.Xr chmod 2
6313ff01b23SMartin Matuskais required to change the set user ID, set group ID, or sticky bits on a file
6323ff01b23SMartin Matuskaor directory, as they do not have equivalent ACL entries.
6333ff01b23SMartin MatuskaIn order to use
6343ff01b23SMartin Matuska.Xr chmod 2
6353ff01b23SMartin Matuskaon a file or directory with a non-trivial ACL when
6363ff01b23SMartin Matuska.Sy aclmode
6373ff01b23SMartin Matuskais set to
6383ff01b23SMartin Matuska.Sy restricted ,
6393ff01b23SMartin Matuskayou must first remove all ACL entries which do not represent the current mode.
6403ff01b23SMartin Matuska.El
6413ff01b23SMartin Matuska.It Sy acltype Ns = Ns Sy off Ns | Ns Sy nfsv4 Ns | Ns Sy posix
6423ff01b23SMartin MatuskaControls whether ACLs are enabled and if so what type of ACL to use.
6433ff01b23SMartin MatuskaWhen this property is set to a type of ACL not supported by the current
6443ff01b23SMartin Matuskaplatform, the behavior is the same as if it were set to
6453ff01b23SMartin Matuska.Sy off .
6463ff01b23SMartin Matuska.Bl -tag -compact -offset 4n -width "posixacl"
6473ff01b23SMartin Matuska.It Sy off
6483ff01b23SMartin Matuskadefault on Linux, when a file system has the
6493ff01b23SMartin Matuska.Sy acltype
6503ff01b23SMartin Matuskaproperty set to off then ACLs are disabled.
6513ff01b23SMartin Matuska.It Sy noacl
6523ff01b23SMartin Matuskaan alias for
6533ff01b23SMartin Matuska.Sy off
6543ff01b23SMartin Matuska.It Sy nfsv4
6553ff01b23SMartin Matuskadefault on
6563ff01b23SMartin Matuska.Fx ,
6573ff01b23SMartin Matuskaindicates that NFSv4-style ZFS ACLs should be used.
6583ff01b23SMartin MatuskaThese ACLs can be managed with the
6593ff01b23SMartin Matuska.Xr getfacl 1
6603ff01b23SMartin Matuskaand
6613ff01b23SMartin Matuska.Xr setfacl 1 .
6623ff01b23SMartin MatuskaThe
6633ff01b23SMartin Matuska.Sy nfsv4
6643ff01b23SMartin MatuskaZFS ACL type is not yet supported on Linux.
6653ff01b23SMartin Matuska.It Sy posix
6663ff01b23SMartin Matuskaindicates POSIX ACLs should be used.
6673ff01b23SMartin MatuskaPOSIX ACLs are specific to Linux and are not functional on other platforms.
6683ff01b23SMartin MatuskaPOSIX ACLs are stored as an extended
6693ff01b23SMartin Matuskaattribute and therefore will not overwrite any existing NFSv4 ACLs which
6703ff01b23SMartin Matuskamay be set.
6713ff01b23SMartin Matuska.It Sy posixacl
6723ff01b23SMartin Matuskaan alias for
6733ff01b23SMartin Matuska.Sy posix
6743ff01b23SMartin Matuska.El
6753ff01b23SMartin Matuska.Pp
6763ff01b23SMartin MatuskaTo obtain the best performance when setting
6773ff01b23SMartin Matuska.Sy posix
6783ff01b23SMartin Matuskausers are strongly encouraged to set the
6793ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa
6803ff01b23SMartin Matuskaproperty.
6813ff01b23SMartin MatuskaThis will result in the POSIX ACL being stored more efficiently on disk.
6823ff01b23SMartin MatuskaBut as a consequence, all new extended attributes will only be
6833ff01b23SMartin Matuskaaccessible from OpenZFS implementations which support the
6843ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa
6853ff01b23SMartin Matuskaproperty.
6863ff01b23SMartin MatuskaSee the
6873ff01b23SMartin Matuska.Sy xattr
6883ff01b23SMartin Matuskaproperty for more details.
6893ff01b23SMartin Matuska.It Sy atime Ns = Ns Sy on Ns | Ns Sy off
6903ff01b23SMartin MatuskaControls whether the access time for files is updated when they are read.
6913ff01b23SMartin MatuskaTurning this property off avoids producing write traffic when reading files and
6923ff01b23SMartin Matuskacan result in significant performance gains, though it might confuse mailers
6933ff01b23SMartin Matuskaand other similar utilities.
6943ff01b23SMartin MatuskaThe values
6953ff01b23SMartin Matuska.Sy on
6963ff01b23SMartin Matuskaand
6973ff01b23SMartin Matuska.Sy off
6983ff01b23SMartin Matuskaare equivalent to the
6993ff01b23SMartin Matuska.Sy atime
7003ff01b23SMartin Matuskaand
7013ff01b23SMartin Matuska.Sy noatime
7023ff01b23SMartin Matuskamount options.
7033ff01b23SMartin MatuskaThe default value is
7043ff01b23SMartin Matuska.Sy on .
7053ff01b23SMartin MatuskaSee also
7063ff01b23SMartin Matuska.Sy relatime
7073ff01b23SMartin Matuskabelow.
7083ff01b23SMartin Matuska.It Sy canmount Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy noauto
7093ff01b23SMartin MatuskaIf this property is set to
7103ff01b23SMartin Matuska.Sy off ,
7113ff01b23SMartin Matuskathe file system cannot be mounted, and is ignored by
7123ff01b23SMartin Matuska.Nm zfs Cm mount Fl a .
7133ff01b23SMartin MatuskaSetting this property to
7143ff01b23SMartin Matuska.Sy off
7153ff01b23SMartin Matuskais similar to setting the
7163ff01b23SMartin Matuska.Sy mountpoint
7173ff01b23SMartin Matuskaproperty to
7183ff01b23SMartin Matuska.Sy none ,
7193ff01b23SMartin Matuskaexcept that the dataset still has a normal
7203ff01b23SMartin Matuska.Sy mountpoint
7213ff01b23SMartin Matuskaproperty, which can be inherited.
7223ff01b23SMartin MatuskaSetting this property to
7233ff01b23SMartin Matuska.Sy off
7243ff01b23SMartin Matuskaallows datasets to be used solely as a mechanism to inherit properties.
7253ff01b23SMartin MatuskaOne example of setting
7263ff01b23SMartin Matuska.Sy canmount Ns = Ns Sy off
7273ff01b23SMartin Matuskais to have two datasets with the same
7283ff01b23SMartin Matuska.Sy mountpoint ,
7293ff01b23SMartin Matuskaso that the children of both datasets appear in the same directory, but might
7303ff01b23SMartin Matuskahave different inherited characteristics.
7313ff01b23SMartin Matuska.Pp
7323ff01b23SMartin MatuskaWhen set to
7333ff01b23SMartin Matuska.Sy noauto ,
7343ff01b23SMartin Matuskaa dataset can only be mounted and unmounted explicitly.
7353ff01b23SMartin MatuskaThe dataset is not mounted automatically when the dataset is created or
7363ff01b23SMartin Matuskaimported, nor is it mounted by the
7373ff01b23SMartin Matuska.Nm zfs Cm mount Fl a
7383ff01b23SMartin Matuskacommand or unmounted by the
7393ff01b23SMartin Matuska.Nm zfs Cm unmount Fl a
7403ff01b23SMartin Matuskacommand.
7413ff01b23SMartin Matuska.Pp
7423ff01b23SMartin MatuskaThis property is not inherited.
7433ff01b23SMartin Matuska.It Xo
7443ff01b23SMartin Matuska.Sy checksum Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy fletcher2 Ns | Ns
7453ff01b23SMartin Matuska.Sy fletcher4 Ns | Ns Sy sha256 Ns | Ns Sy noparity Ns | Ns
7463ff01b23SMartin Matuska.Sy sha512 Ns | Ns Sy skein Ns | Ns Sy edonr
7473ff01b23SMartin Matuska.Xc
7483ff01b23SMartin MatuskaControls the checksum used to verify data integrity.
7493ff01b23SMartin MatuskaThe default value is
7503ff01b23SMartin Matuska.Sy on ,
7513ff01b23SMartin Matuskawhich automatically selects an appropriate algorithm
7523ff01b23SMartin Matuska.Po currently,
7533ff01b23SMartin Matuska.Sy fletcher4 ,
7543ff01b23SMartin Matuskabut this may change in future releases
7553ff01b23SMartin Matuska.Pc .
7563ff01b23SMartin MatuskaThe value
7573ff01b23SMartin Matuska.Sy off
7583ff01b23SMartin Matuskadisables integrity checking on user data.
7593ff01b23SMartin MatuskaThe value
7603ff01b23SMartin Matuska.Sy noparity
7613ff01b23SMartin Matuskanot only disables integrity but also disables maintaining parity for user data.
7623ff01b23SMartin MatuskaThis setting is used internally by a dump device residing on a RAID-Z pool and
7633ff01b23SMartin Matuskashould not be used by any other dataset.
7643ff01b23SMartin MatuskaDisabling checksums is
7653ff01b23SMartin Matuska.Em NOT
7663ff01b23SMartin Matuskaa recommended practice.
7673ff01b23SMartin Matuska.Pp
7683ff01b23SMartin MatuskaThe
7693ff01b23SMartin Matuska.Sy sha512 ,
7703ff01b23SMartin Matuska.Sy skein ,
7713ff01b23SMartin Matuskaand
7723ff01b23SMartin Matuska.Sy edonr
7733ff01b23SMartin Matuskachecksum algorithms require enabling the appropriate features on the pool.
7743ff01b23SMartin Matuska.Pp
7753ff01b23SMartin MatuskaPlease see
7763ff01b23SMartin Matuska.Xr zpool-features 7
7773ff01b23SMartin Matuskafor more information on these algorithms.
7783ff01b23SMartin Matuska.Pp
7793ff01b23SMartin MatuskaChanging this property affects only newly-written data.
7803ff01b23SMartin Matuska.It Xo
7813ff01b23SMartin Matuska.Sy compression Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy gzip Ns | Ns
7823ff01b23SMartin Matuska.Sy gzip- Ns Ar N Ns | Ns Sy lz4 Ns | Ns Sy lzjb Ns | Ns Sy zle Ns | Ns Sy zstd Ns | Ns
7833ff01b23SMartin Matuska.Sy zstd- Ns Ar N Ns | Ns Sy zstd-fast Ns | Ns Sy zstd-fast- Ns Ar N
7843ff01b23SMartin Matuska.Xc
7853ff01b23SMartin MatuskaControls the compression algorithm used for this dataset.
7863ff01b23SMartin Matuska.Pp
787*c03c5b1cSMartin MatuskaWhen set to
7883ff01b23SMartin Matuska.Sy on
789*c03c5b1cSMartin Matuska(the default), indicates that the current default compression algorithm should be used.
7903ff01b23SMartin MatuskaThe default balances compression and decompression speed, with compression ratio
7913ff01b23SMartin Matuskaand is expected to work well on a wide variety of workloads.
7923ff01b23SMartin MatuskaUnlike all other settings for this property,
7933ff01b23SMartin Matuska.Sy on
7943ff01b23SMartin Matuskadoes not select a fixed compression type.
7953ff01b23SMartin MatuskaAs new compression algorithms are added to ZFS and enabled on a pool, the
7963ff01b23SMartin Matuskadefault compression algorithm may change.
7973ff01b23SMartin MatuskaThe current default compression algorithm is either
7983ff01b23SMartin Matuska.Sy lzjb
7993ff01b23SMartin Matuskaor, if the
8003ff01b23SMartin Matuska.Sy lz4_compress
8013ff01b23SMartin Matuskafeature is enabled,
8023ff01b23SMartin Matuska.Sy lz4 .
8033ff01b23SMartin Matuska.Pp
8043ff01b23SMartin MatuskaThe
8053ff01b23SMartin Matuska.Sy lz4
8063ff01b23SMartin Matuskacompression algorithm is a high-performance replacement for the
8073ff01b23SMartin Matuska.Sy lzjb
8083ff01b23SMartin Matuskaalgorithm.
8093ff01b23SMartin MatuskaIt features significantly faster compression and decompression, as well as a
8103ff01b23SMartin Matuskamoderately higher compression ratio than
8113ff01b23SMartin Matuska.Sy lzjb ,
8123ff01b23SMartin Matuskabut can only be used on pools with the
8133ff01b23SMartin Matuska.Sy lz4_compress
8143ff01b23SMartin Matuskafeature set to
8153ff01b23SMartin Matuska.Sy enabled .
8163ff01b23SMartin MatuskaSee
8173ff01b23SMartin Matuska.Xr zpool-features 7
8183ff01b23SMartin Matuskafor details on ZFS feature flags and the
8193ff01b23SMartin Matuska.Sy lz4_compress
8203ff01b23SMartin Matuskafeature.
8213ff01b23SMartin Matuska.Pp
8223ff01b23SMartin MatuskaThe
8233ff01b23SMartin Matuska.Sy lzjb
8243ff01b23SMartin Matuskacompression algorithm is optimized for performance while providing decent data
8253ff01b23SMartin Matuskacompression.
8263ff01b23SMartin Matuska.Pp
8273ff01b23SMartin MatuskaThe
8283ff01b23SMartin Matuska.Sy gzip
8293ff01b23SMartin Matuskacompression algorithm uses the same compression as the
8303ff01b23SMartin Matuska.Xr gzip 1
8313ff01b23SMartin Matuskacommand.
8323ff01b23SMartin MatuskaYou can specify the
8333ff01b23SMartin Matuska.Sy gzip
8343ff01b23SMartin Matuskalevel by using the value
8353ff01b23SMartin Matuska.Sy gzip- Ns Ar N ,
8363ff01b23SMartin Matuskawhere
8373ff01b23SMartin Matuska.Ar N
8383ff01b23SMartin Matuskais an integer from 1
8393ff01b23SMartin Matuska.Pq fastest
8403ff01b23SMartin Matuskato 9
8413ff01b23SMartin Matuska.Pq best compression ratio .
8423ff01b23SMartin MatuskaCurrently,
8433ff01b23SMartin Matuska.Sy gzip
8443ff01b23SMartin Matuskais equivalent to
8453ff01b23SMartin Matuska.Sy gzip-6
8463ff01b23SMartin Matuska.Po which is also the default for
8473ff01b23SMartin Matuska.Xr gzip 1
8483ff01b23SMartin Matuska.Pc .
8493ff01b23SMartin Matuska.Pp
8503ff01b23SMartin MatuskaThe
8513ff01b23SMartin Matuska.Sy zstd
8523ff01b23SMartin Matuskacompression algorithm provides both high compression ratios and good performance.
8533ff01b23SMartin MatuskaYou can specify the
8543ff01b23SMartin Matuska.Sy zstd
8553ff01b23SMartin Matuskalevel by using the value
8563ff01b23SMartin Matuska.Sy zstd- Ns Ar N ,
8573ff01b23SMartin Matuskawhere
8583ff01b23SMartin Matuska.Ar N
8593ff01b23SMartin Matuskais an integer from 1
8603ff01b23SMartin Matuska.Pq fastest
8613ff01b23SMartin Matuskato 19
8623ff01b23SMartin Matuska.Pq best compression ratio .
8633ff01b23SMartin Matuska.Sy zstd
8643ff01b23SMartin Matuskais equivalent to
8653ff01b23SMartin Matuska.Sy zstd-3 .
8663ff01b23SMartin Matuska.Pp
8673ff01b23SMartin MatuskaFaster speeds at the cost of the compression ratio can be requested by
8683ff01b23SMartin Matuskasetting a negative
8693ff01b23SMartin Matuska.Sy zstd
8703ff01b23SMartin Matuskalevel.
8713ff01b23SMartin MatuskaThis is done using
8723ff01b23SMartin Matuska.Sy zstd-fast- Ns Ar N ,
8733ff01b23SMartin Matuskawhere
8743ff01b23SMartin Matuska.Ar N
8753ff01b23SMartin Matuskais an integer in [1-9,10,20,30,...,100,500,1000] which maps to a negative
8763ff01b23SMartin Matuska.Sy zstd
8773ff01b23SMartin Matuskalevel.
8783ff01b23SMartin MatuskaThe lower the level the faster the compression -
8793ff01b23SMartin Matuska.Ar 1000 No provides the fastest compression and lowest compression ratio.
8803ff01b23SMartin Matuska.Sy zstd-fast
8813ff01b23SMartin Matuskais equivalent to
8823ff01b23SMartin Matuska.Sy zstd-fast-1 .
8833ff01b23SMartin Matuska.Pp
8843ff01b23SMartin MatuskaThe
8853ff01b23SMartin Matuska.Sy zle
8863ff01b23SMartin Matuskacompression algorithm compresses runs of zeros.
8873ff01b23SMartin Matuska.Pp
8883ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name
8893ff01b23SMartin Matuska.Sy compress .
8903ff01b23SMartin MatuskaChanging this property affects only newly-written data.
8913ff01b23SMartin Matuska.Pp
8923ff01b23SMartin MatuskaWhen any setting except
8933ff01b23SMartin Matuska.Sy off
8943ff01b23SMartin Matuskais selected, compression will explicitly check for blocks consisting of only
8953ff01b23SMartin Matuskazeroes (the NUL byte).
8963ff01b23SMartin MatuskaWhen a zero-filled block is detected, it is stored as
8973ff01b23SMartin Matuskaa hole and not compressed using the indicated compression algorithm.
8983ff01b23SMartin Matuska.Pp
8993ff01b23SMartin MatuskaAny block being compressed must be no larger than 7/8 of its original size
9003ff01b23SMartin Matuskaafter compression, otherwise the compression will not be considered worthwhile
9013ff01b23SMartin Matuskaand the block saved uncompressed.
9023ff01b23SMartin MatuskaNote that when the logical block is less than
9033ff01b23SMartin Matuska8 times the disk sector size this effectively reduces the necessary compression
9043ff01b23SMartin Matuskaratio; for example, 8kB blocks on disks with 4kB disk sectors must compress to 1/2
9053ff01b23SMartin Matuskaor less of their original size.
9063ff01b23SMartin Matuska.It Xo
9073ff01b23SMartin Matuska.Sy context Ns = Ns Sy none Ns | Ns
908e92ffd9bSMartin Matuska.Ar SELinux-User : Ns Ar SELinux-Role : Ns Ar SELinux-Type : Ns Ar Sensitivity-Level
9093ff01b23SMartin Matuska.Xc
9103ff01b23SMartin MatuskaThis flag sets the SELinux context for all files in the file system under
9113ff01b23SMartin Matuskaa mount point for that file system.
9123ff01b23SMartin MatuskaSee
9133ff01b23SMartin Matuska.Xr selinux 8
9143ff01b23SMartin Matuskafor more information.
9153ff01b23SMartin Matuska.It Xo
9163ff01b23SMartin Matuska.Sy fscontext Ns = Ns Sy none Ns | Ns
917e92ffd9bSMartin Matuska.Ar SELinux-User : Ns Ar SELinux-Role : Ns Ar SELinux-Type : Ns Ar Sensitivity-Level
9183ff01b23SMartin Matuska.Xc
9193ff01b23SMartin MatuskaThis flag sets the SELinux context for the file system file system being
9203ff01b23SMartin Matuskamounted.
9213ff01b23SMartin MatuskaSee
9223ff01b23SMartin Matuska.Xr selinux 8
9233ff01b23SMartin Matuskafor more information.
9243ff01b23SMartin Matuska.It Xo
9253ff01b23SMartin Matuska.Sy defcontext Ns = Ns Sy none Ns | Ns
926e92ffd9bSMartin Matuska.Ar SELinux-User : Ns Ar SELinux-Role : Ns Ar SELinux-Type : Ns Ar Sensitivity-Level
9273ff01b23SMartin Matuska.Xc
9283ff01b23SMartin MatuskaThis flag sets the SELinux default context for unlabeled files.
9293ff01b23SMartin MatuskaSee
9303ff01b23SMartin Matuska.Xr selinux 8
9313ff01b23SMartin Matuskafor more information.
9323ff01b23SMartin Matuska.It Xo
9333ff01b23SMartin Matuska.Sy rootcontext Ns = Ns Sy none Ns | Ns
934e92ffd9bSMartin Matuska.Ar SELinux-User : Ns Ar SELinux-Role : Ns Ar SELinux-Type : Ns Ar Sensitivity-Level
9353ff01b23SMartin Matuska.Xc
9363ff01b23SMartin MatuskaThis flag sets the SELinux context for the root inode of the file system.
9373ff01b23SMartin MatuskaSee
9383ff01b23SMartin Matuska.Xr selinux 8
9393ff01b23SMartin Matuskafor more information.
9403ff01b23SMartin Matuska.It Sy copies Ns = Ns Sy 1 Ns | Ns Sy 2 Ns | Ns Sy 3
9413ff01b23SMartin MatuskaControls the number of copies of data stored for this dataset.
9423ff01b23SMartin MatuskaThese copies are in addition to any redundancy provided by the pool, for
9433ff01b23SMartin Matuskaexample, mirroring or RAID-Z.
9443ff01b23SMartin MatuskaThe copies are stored on different disks, if possible.
9453ff01b23SMartin MatuskaThe space used by multiple copies is charged to the associated file and dataset,
9463ff01b23SMartin Matuskachanging the
9473ff01b23SMartin Matuska.Sy used
9483ff01b23SMartin Matuskaproperty and counting against quotas and reservations.
9493ff01b23SMartin Matuska.Pp
9503ff01b23SMartin MatuskaChanging this property only affects newly-written data.
9513ff01b23SMartin MatuskaTherefore, set this property at file system creation time by using the
9523ff01b23SMartin Matuska.Fl o Sy copies Ns = Ns Ar N
9533ff01b23SMartin Matuskaoption.
9543ff01b23SMartin Matuska.Pp
9553ff01b23SMartin MatuskaRemember that ZFS will not import a pool with a missing top-level vdev.
9563ff01b23SMartin MatuskaDo
9573ff01b23SMartin Matuska.Em NOT
9583ff01b23SMartin Matuskacreate, for example a two-disk striped pool and set
9593ff01b23SMartin Matuska.Sy copies Ns = Ns Ar 2
9603ff01b23SMartin Matuskaon some datasets thinking you have setup redundancy for them.
9613ff01b23SMartin MatuskaWhen a disk fails you will not be able to import the pool
9623ff01b23SMartin Matuskaand will have lost all of your data.
9633ff01b23SMartin Matuska.Pp
9643ff01b23SMartin MatuskaEncrypted datasets may not have
9653ff01b23SMartin Matuska.Sy copies Ns = Ns Ar 3
9663ff01b23SMartin Matuskasince the implementation stores some encryption metadata where the third copy
9673ff01b23SMartin Matuskawould normally be.
9683ff01b23SMartin Matuska.It Sy devices Ns = Ns Sy on Ns | Ns Sy off
9693ff01b23SMartin MatuskaControls whether device nodes can be opened on this file system.
9703ff01b23SMartin MatuskaThe default value is
9713ff01b23SMartin Matuska.Sy on .
9723ff01b23SMartin MatuskaThe values
9733ff01b23SMartin Matuska.Sy on
9743ff01b23SMartin Matuskaand
9753ff01b23SMartin Matuska.Sy off
9763ff01b23SMartin Matuskaare equivalent to the
9773ff01b23SMartin Matuska.Sy dev
9783ff01b23SMartin Matuskaand
9793ff01b23SMartin Matuska.Sy nodev
9803ff01b23SMartin Matuskamount options.
9813ff01b23SMartin Matuska.It Xo
9823ff01b23SMartin Matuska.Sy dedup Ns = Ns Sy off Ns | Ns Sy on Ns | Ns Sy verify Ns | Ns
9833ff01b23SMartin Matuska.Sy sha256 Ns Oo , Ns Sy verify Oc Ns | Ns Sy sha512 Ns Oo , Ns Sy verify Oc Ns | Ns Sy skein Ns Oo , Ns Sy verify Oc Ns | Ns
9843ff01b23SMartin Matuska.Sy edonr , Ns Sy verify
9853ff01b23SMartin Matuska.Xc
9863ff01b23SMartin MatuskaConfigures deduplication for a dataset.
9873ff01b23SMartin MatuskaThe default value is
9883ff01b23SMartin Matuska.Sy off .
9893ff01b23SMartin MatuskaThe default deduplication checksum is
9903ff01b23SMartin Matuska.Sy sha256
9913ff01b23SMartin Matuska(this may change in the future).
9923ff01b23SMartin MatuskaWhen
9933ff01b23SMartin Matuska.Sy dedup
9943ff01b23SMartin Matuskais enabled, the checksum defined here overrides the
9953ff01b23SMartin Matuska.Sy checksum
9963ff01b23SMartin Matuskaproperty.
9973ff01b23SMartin MatuskaSetting the value to
9983ff01b23SMartin Matuska.Sy verify
9993ff01b23SMartin Matuskahas the same effect as the setting
10003ff01b23SMartin Matuska.Sy sha256 , Ns Sy verify .
10013ff01b23SMartin Matuska.Pp
10023ff01b23SMartin MatuskaIf set to
10033ff01b23SMartin Matuska.Sy verify ,
10043ff01b23SMartin MatuskaZFS will do a byte-to-byte comparison in case of two blocks having the same
10053ff01b23SMartin Matuskasignature to make sure the block contents are identical.
10063ff01b23SMartin MatuskaSpecifying
10073ff01b23SMartin Matuska.Sy verify
10083ff01b23SMartin Matuskais mandatory for the
10093ff01b23SMartin Matuska.Sy edonr
10103ff01b23SMartin Matuskaalgorithm.
10113ff01b23SMartin Matuska.Pp
10123ff01b23SMartin MatuskaUnless necessary, deduplication should
10133ff01b23SMartin Matuska.Em not
10143ff01b23SMartin Matuskabe enabled on a system.
10153ff01b23SMartin MatuskaSee the
10163ff01b23SMartin Matuska.Sx Deduplication
10173ff01b23SMartin Matuskasection of
10183ff01b23SMartin Matuska.Xr zfsconcepts 7 .
10193ff01b23SMartin Matuska.It Xo
10203ff01b23SMartin Matuska.Sy dnodesize Ns = Ns Sy legacy Ns | Ns Sy auto Ns | Ns Sy 1k Ns | Ns
10213ff01b23SMartin Matuska.Sy 2k Ns | Ns Sy 4k Ns | Ns Sy 8k Ns | Ns Sy 16k
10223ff01b23SMartin Matuska.Xc
10233ff01b23SMartin MatuskaSpecifies a compatibility mode or literal value for the size of dnodes in the
10243ff01b23SMartin Matuskafile system.
10253ff01b23SMartin MatuskaThe default value is
10263ff01b23SMartin Matuska.Sy legacy .
10273ff01b23SMartin MatuskaSetting this property to a value other than
10283ff01b23SMartin Matuska.Sy legacy No requires the Sy large_dnode No pool feature to be enabled.
10293ff01b23SMartin Matuska.Pp
10303ff01b23SMartin MatuskaConsider setting
10313ff01b23SMartin Matuska.Sy dnodesize
10323ff01b23SMartin Matuskato
10333ff01b23SMartin Matuska.Sy auto
10343ff01b23SMartin Matuskaif the dataset uses the
10353ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa
10363ff01b23SMartin Matuskaproperty setting and the workload makes heavy use of extended attributes.
10373ff01b23SMartin MatuskaThis
10383ff01b23SMartin Matuskamay be applicable to SELinux-enabled systems, Lustre servers, and Samba
10393ff01b23SMartin Matuskaservers, for example.
10403ff01b23SMartin MatuskaLiteral values are supported for cases where the optimal
10413ff01b23SMartin Matuskasize is known in advance and for performance testing.
10423ff01b23SMartin Matuska.Pp
10433ff01b23SMartin MatuskaLeave
10443ff01b23SMartin Matuska.Sy dnodesize
10453ff01b23SMartin Matuskaset to
10463ff01b23SMartin Matuska.Sy legacy
10473ff01b23SMartin Matuskaif you need to receive a send stream of this dataset on a pool that doesn't
10483ff01b23SMartin Matuskaenable the
10493ff01b23SMartin Matuska.Sy large_dnode
10503ff01b23SMartin Matuskafeature, or if you need to import this pool on a system that doesn't support the
10513ff01b23SMartin Matuska.Sy large_dnode No feature.
10523ff01b23SMartin Matuska.Pp
10533ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
10543ff01b23SMartin Matuska.Sy dnsize .
10553ff01b23SMartin Matuska.It Xo
10563ff01b23SMartin Matuska.Sy encryption Ns = Ns Sy off Ns | Ns Sy on Ns | Ns Sy aes-128-ccm Ns | Ns
10573ff01b23SMartin Matuska.Sy aes-192-ccm Ns | Ns Sy aes-256-ccm Ns | Ns Sy aes-128-gcm Ns | Ns
10583ff01b23SMartin Matuska.Sy aes-192-gcm Ns | Ns Sy aes-256-gcm
10593ff01b23SMartin Matuska.Xc
10603ff01b23SMartin MatuskaControls the encryption cipher suite (block cipher, key length, and mode) used
10613ff01b23SMartin Matuskafor this dataset.
10623ff01b23SMartin MatuskaRequires the
10633ff01b23SMartin Matuska.Sy encryption
10643ff01b23SMartin Matuskafeature to be enabled on the pool.
10653ff01b23SMartin MatuskaRequires a
10663ff01b23SMartin Matuska.Sy keyformat
10673ff01b23SMartin Matuskato be set at dataset creation time.
10683ff01b23SMartin Matuska.Pp
10693ff01b23SMartin MatuskaSelecting
10703ff01b23SMartin Matuska.Sy encryption Ns = Ns Sy on
10713ff01b23SMartin Matuskawhen creating a dataset indicates that the default encryption suite will be
10723ff01b23SMartin Matuskaselected, which is currently
10733ff01b23SMartin Matuska.Sy aes-256-gcm .
10743ff01b23SMartin MatuskaIn order to provide consistent data protection, encryption must be specified at
10753ff01b23SMartin Matuskadataset creation time and it cannot be changed afterwards.
10763ff01b23SMartin Matuska.Pp
10773ff01b23SMartin MatuskaFor more details and caveats about encryption see the
10783ff01b23SMartin Matuska.Sx Encryption
10793ff01b23SMartin Matuskasection of
10803ff01b23SMartin Matuska.Xr zfs-load-key 8 .
10813ff01b23SMartin Matuska.It Sy keyformat Ns = Ns Sy raw Ns | Ns Sy hex Ns | Ns Sy passphrase
10823ff01b23SMartin MatuskaControls what format the user's encryption key will be provided as.
10833ff01b23SMartin MatuskaThis property is only set when the dataset is encrypted.
10843ff01b23SMartin Matuska.Pp
10853ff01b23SMartin MatuskaRaw keys and hex keys must be 32 bytes long (regardless of the chosen
10863ff01b23SMartin Matuskaencryption suite) and must be randomly generated.
10873ff01b23SMartin MatuskaA raw key can be generated with the following command:
10883ff01b23SMartin Matuska.Dl # Nm dd Sy if=/dev/urandom bs=32 count=1 Sy of= Ns Pa /path/to/output/key
10893ff01b23SMartin Matuska.Pp
10903ff01b23SMartin MatuskaPassphrases must be between 8 and 512 bytes long and will be processed through
10913ff01b23SMartin MatuskaPBKDF2 before being used (see the
10923ff01b23SMartin Matuska.Sy pbkdf2iters
10933ff01b23SMartin Matuskaproperty).
10943ff01b23SMartin MatuskaEven though the encryption suite cannot be changed after dataset creation,
10953ff01b23SMartin Matuskathe keyformat can be with
10963ff01b23SMartin Matuska.Nm zfs Cm change-key .
10973ff01b23SMartin Matuska.It Xo
10983ff01b23SMartin Matuska.Sy keylocation Ns = Ns Sy prompt Ns | Ns Sy file:// Ns Ar /absolute/file/path Ns | Ns Sy https:// Ns Ar address Ns | Ns Sy http:// Ns Ar address
10993ff01b23SMartin Matuska.Xc
11003ff01b23SMartin MatuskaControls where the user's encryption key will be loaded from by default for
11013ff01b23SMartin Matuskacommands such as
11023ff01b23SMartin Matuska.Nm zfs Cm load-key
11033ff01b23SMartin Matuskaand
11043ff01b23SMartin Matuska.Nm zfs Cm mount Fl l .
11053ff01b23SMartin MatuskaThis property is only set for encrypted datasets which are encryption roots.
11063ff01b23SMartin MatuskaIf unspecified, the default is
11073ff01b23SMartin Matuska.Sy prompt .
11083ff01b23SMartin Matuska.Pp
11093ff01b23SMartin MatuskaEven though the encryption suite cannot be changed after dataset creation, the
11103ff01b23SMartin Matuskakeylocation can be with either
11113ff01b23SMartin Matuska.Nm zfs Cm set
11123ff01b23SMartin Matuskaor
11133ff01b23SMartin Matuska.Nm zfs Cm change-key .
11143ff01b23SMartin MatuskaIf
11153ff01b23SMartin Matuska.Sy prompt
11163ff01b23SMartin Matuskais selected ZFS will ask for the key at the command prompt when it is required
11173ff01b23SMartin Matuskato access the encrypted data (see
11183ff01b23SMartin Matuska.Nm zfs Cm load-key
11193ff01b23SMartin Matuskafor details).
11203ff01b23SMartin MatuskaThis setting will also allow the key to be passed in via the standard input stream,
11213ff01b23SMartin Matuskabut users should be careful not to place keys which should be kept secret on
11223ff01b23SMartin Matuskathe command line.
11233ff01b23SMartin MatuskaIf a file URI is selected, the key will be loaded from the
11243ff01b23SMartin Matuskaspecified absolute file path.
11253ff01b23SMartin MatuskaIf an HTTPS or HTTP URL is selected, it will be GETted using
11263ff01b23SMartin Matuska.Xr fetch 3 ,
11273ff01b23SMartin Matuskalibcurl, or nothing, depending on compile-time configuration and run-time availability.
11283ff01b23SMartin MatuskaThe
11293ff01b23SMartin Matuska.Sy SSL_CA_CERT_FILE
11303ff01b23SMartin Matuskaenvironment variable can be set to set the location
11313ff01b23SMartin Matuskaof the concatenated certificate store.
11323ff01b23SMartin MatuskaThe
11333ff01b23SMartin Matuska.Sy SSL_CA_CERT_PATH
11343ff01b23SMartin Matuskaenvironment variable can be set to override the location
11353ff01b23SMartin Matuskaof the directory containing the certificate authority bundle.
11363ff01b23SMartin MatuskaThe
11373ff01b23SMartin Matuska.Sy SSL_CLIENT_CERT_FILE
11383ff01b23SMartin Matuskaand
11393ff01b23SMartin Matuska.Sy SSL_CLIENT_KEY_FILE
11403ff01b23SMartin Matuskaenvironment variables can be set to configure the path
11413ff01b23SMartin Matuskato the client certificate and its key.
11423ff01b23SMartin Matuska.It Sy pbkdf2iters Ns = Ns Ar iterations
11433ff01b23SMartin MatuskaControls the number of PBKDF2 iterations that a
11443ff01b23SMartin Matuska.Sy passphrase
11453ff01b23SMartin Matuskaencryption key should be run through when processing it into an encryption key.
11463ff01b23SMartin MatuskaThis property is only defined when encryption is enabled and a keyformat of
11473ff01b23SMartin Matuska.Sy passphrase
11483ff01b23SMartin Matuskais selected.
11493ff01b23SMartin MatuskaThe goal of PBKDF2 is to significantly increase the
11503ff01b23SMartin Matuskacomputational difficulty needed to brute force a user's passphrase.
11513ff01b23SMartin MatuskaThis is accomplished by forcing the attacker to run each passphrase through a
11523ff01b23SMartin Matuskacomputationally expensive hashing function many times before they arrive at the
11533ff01b23SMartin Matuskaresulting key.
11543ff01b23SMartin MatuskaA user who actually knows the passphrase will only have to pay this cost once.
11553ff01b23SMartin MatuskaAs CPUs become better at processing, this number should be
11563ff01b23SMartin Matuskaraised to ensure that a brute force attack is still not possible.
11573ff01b23SMartin MatuskaThe current default is
11583ff01b23SMartin Matuska.Sy 350000
11593ff01b23SMartin Matuskaand the minimum is
11603ff01b23SMartin Matuska.Sy 100000 .
11613ff01b23SMartin MatuskaThis property may be changed with
11623ff01b23SMartin Matuska.Nm zfs Cm change-key .
11633ff01b23SMartin Matuska.It Sy exec Ns = Ns Sy on Ns | Ns Sy off
11643ff01b23SMartin MatuskaControls whether processes can be executed from within this file system.
11653ff01b23SMartin MatuskaThe default value is
11663ff01b23SMartin Matuska.Sy on .
11673ff01b23SMartin MatuskaThe values
11683ff01b23SMartin Matuska.Sy on
11693ff01b23SMartin Matuskaand
11703ff01b23SMartin Matuska.Sy off
11713ff01b23SMartin Matuskaare equivalent to the
11723ff01b23SMartin Matuska.Sy exec
11733ff01b23SMartin Matuskaand
11743ff01b23SMartin Matuska.Sy noexec
11753ff01b23SMartin Matuskamount options.
11763ff01b23SMartin Matuska.It Sy filesystem_limit Ns = Ns Ar count Ns | Ns Sy none
11773ff01b23SMartin MatuskaLimits the number of filesystems and volumes that can exist under this point in
11783ff01b23SMartin Matuskathe dataset tree.
11793ff01b23SMartin MatuskaThe limit is not enforced if the user is allowed to change the limit.
11803ff01b23SMartin MatuskaSetting a
11813ff01b23SMartin Matuska.Sy filesystem_limit
11823ff01b23SMartin Matuskato
11833ff01b23SMartin Matuska.Sy on
11843ff01b23SMartin Matuskaa descendent of a filesystem that already has a
11853ff01b23SMartin Matuska.Sy filesystem_limit
11863ff01b23SMartin Matuskadoes not override the ancestor's
11873ff01b23SMartin Matuska.Sy filesystem_limit ,
11883ff01b23SMartin Matuskabut rather imposes an additional limit.
11893ff01b23SMartin MatuskaThis feature must be enabled to be used
11903ff01b23SMartin Matuska.Po see
11913ff01b23SMartin Matuska.Xr zpool-features 7
11923ff01b23SMartin Matuska.Pc .
11933ff01b23SMartin Matuska.It Sy special_small_blocks Ns = Ns Ar size
11943ff01b23SMartin MatuskaThis value represents the threshold block size for including small file
11953ff01b23SMartin Matuskablocks into the special allocation class.
11963ff01b23SMartin MatuskaBlocks smaller than or equal to this
11973ff01b23SMartin Matuskavalue will be assigned to the special allocation class while greater blocks
11983ff01b23SMartin Matuskawill be assigned to the regular class.
11993ff01b23SMartin MatuskaValid values are zero or a power of two from 512B up to 1M.
12003ff01b23SMartin MatuskaThe default size is 0 which means no small file blocks
12013ff01b23SMartin Matuskawill be allocated in the special class.
12023ff01b23SMartin Matuska.Pp
12033ff01b23SMartin MatuskaBefore setting this property, a special class vdev must be added to the
12043ff01b23SMartin Matuskapool.
12053ff01b23SMartin MatuskaSee
12063ff01b23SMartin Matuska.Xr zpoolconcepts 7
12073ff01b23SMartin Matuskafor more details on the special allocation class.
12083ff01b23SMartin Matuska.It Sy mountpoint Ns = Ns Pa path Ns | Ns Sy none Ns | Ns Sy legacy
12093ff01b23SMartin MatuskaControls the mount point used for this file system.
12103ff01b23SMartin MatuskaSee the
12113ff01b23SMartin Matuska.Sx Mount Points
12123ff01b23SMartin Matuskasection of
12133ff01b23SMartin Matuska.Xr zfsconcepts 7
12143ff01b23SMartin Matuskafor more information on how this property is used.
12153ff01b23SMartin Matuska.Pp
12163ff01b23SMartin MatuskaWhen the
12173ff01b23SMartin Matuska.Sy mountpoint
12183ff01b23SMartin Matuskaproperty is changed for a file system, the file system and any children that
12193ff01b23SMartin Matuskainherit the mount point are unmounted.
12203ff01b23SMartin MatuskaIf the new value is
12213ff01b23SMartin Matuska.Sy legacy ,
12223ff01b23SMartin Matuskathen they remain unmounted.
12233ff01b23SMartin MatuskaOtherwise, they are automatically remounted in the new location if the property
12243ff01b23SMartin Matuskawas previously
12253ff01b23SMartin Matuska.Sy legacy
12263ff01b23SMartin Matuskaor
12273ff01b23SMartin Matuska.Sy none ,
12283ff01b23SMartin Matuskaor if they were mounted before the property was changed.
12293ff01b23SMartin MatuskaIn addition, any shared file systems are unshared and shared in the new
12303ff01b23SMartin Matuskalocation.
12313ff01b23SMartin Matuska.It Sy nbmand Ns = Ns Sy on Ns | Ns Sy off
12323ff01b23SMartin MatuskaControls whether the file system should be mounted with
12333ff01b23SMartin Matuska.Sy nbmand
12343ff01b23SMartin Matuska.Pq Non-blocking mandatory locks .
12353ff01b23SMartin MatuskaThis is used for SMB clients.
12363ff01b23SMartin MatuskaChanges to this property only take effect when the file system is umounted and
12373ff01b23SMartin Matuskaremounted.
12383ff01b23SMartin MatuskaSupport for these locks is scarce and not described by POSIX.
12393ff01b23SMartin Matuska.It Sy overlay Ns = Ns Sy on Ns | Ns Sy off
12403ff01b23SMartin MatuskaAllow mounting on a busy directory or a directory which already contains
12413ff01b23SMartin Matuskafiles or directories.
12423ff01b23SMartin MatuskaThis is the default mount behavior for Linux and
12433ff01b23SMartin Matuska.Fx
12443ff01b23SMartin Matuskafile systems.
12453ff01b23SMartin MatuskaOn these platforms the property is
12463ff01b23SMartin Matuska.Sy on
12473ff01b23SMartin Matuskaby default.
12483ff01b23SMartin MatuskaSet to
12493ff01b23SMartin Matuska.Sy off
12503ff01b23SMartin Matuskato disable overlay mounts for consistency with OpenZFS on other platforms.
12513ff01b23SMartin Matuska.It Sy primarycache Ns = Ns Sy all Ns | Ns Sy none Ns | Ns Sy metadata
12523ff01b23SMartin MatuskaControls what is cached in the primary cache
12533ff01b23SMartin Matuska.Pq ARC .
12543ff01b23SMartin MatuskaIf this property is set to
12553ff01b23SMartin Matuska.Sy all ,
12563ff01b23SMartin Matuskathen both user data and metadata is cached.
12573ff01b23SMartin MatuskaIf this property is set to
12583ff01b23SMartin Matuska.Sy none ,
12593ff01b23SMartin Matuskathen neither user data nor metadata is cached.
12603ff01b23SMartin MatuskaIf this property is set to
12613ff01b23SMartin Matuska.Sy metadata ,
12623ff01b23SMartin Matuskathen only metadata is cached.
12633ff01b23SMartin MatuskaThe default value is
12643ff01b23SMartin Matuska.Sy all .
12653ff01b23SMartin Matuska.It Sy quota Ns = Ns Ar size Ns | Ns Sy none
12663ff01b23SMartin MatuskaLimits the amount of space a dataset and its descendents can consume.
12673ff01b23SMartin MatuskaThis property enforces a hard limit on the amount of space used.
12683ff01b23SMartin MatuskaThis includes all space consumed by descendents, including file systems and
12693ff01b23SMartin Matuskasnapshots.
12703ff01b23SMartin MatuskaSetting a quota on a descendent of a dataset that already has a quota does not
12713ff01b23SMartin Matuskaoverride the ancestor's quota, but rather imposes an additional limit.
12723ff01b23SMartin Matuska.Pp
12733ff01b23SMartin MatuskaQuotas cannot be set on volumes, as the
12743ff01b23SMartin Matuska.Sy volsize
12753ff01b23SMartin Matuskaproperty acts as an implicit quota.
12763ff01b23SMartin Matuska.It Sy snapshot_limit Ns = Ns Ar count Ns | Ns Sy none
12773ff01b23SMartin MatuskaLimits the number of snapshots that can be created on a dataset and its
12783ff01b23SMartin Matuskadescendents.
12793ff01b23SMartin MatuskaSetting a
12803ff01b23SMartin Matuska.Sy snapshot_limit
12813ff01b23SMartin Matuskaon a descendent of a dataset that already has a
12823ff01b23SMartin Matuska.Sy snapshot_limit
12833ff01b23SMartin Matuskadoes not override the ancestor's
12843ff01b23SMartin Matuska.Sy snapshot_limit ,
12853ff01b23SMartin Matuskabut rather imposes an additional limit.
12863ff01b23SMartin MatuskaThe limit is not enforced if the user is allowed to change the limit.
12873ff01b23SMartin MatuskaFor example, this means that recursive snapshots taken from the global zone are
12883ff01b23SMartin Matuskacounted against each delegated dataset within a zone.
12893ff01b23SMartin MatuskaThis feature must be enabled to be used
12903ff01b23SMartin Matuska.Po see
12913ff01b23SMartin Matuska.Xr zpool-features 7
12923ff01b23SMartin Matuska.Pc .
12933ff01b23SMartin Matuska.It Sy userquota@ Ns Ar user Ns = Ns Ar size Ns | Ns Sy none
12943ff01b23SMartin MatuskaLimits the amount of space consumed by the specified user.
12953ff01b23SMartin MatuskaUser space consumption is identified by the
12963ff01b23SMartin Matuska.Sy userspace@ Ns Ar user
12973ff01b23SMartin Matuskaproperty.
12983ff01b23SMartin Matuska.Pp
12993ff01b23SMartin MatuskaEnforcement of user quotas may be delayed by several seconds.
13003ff01b23SMartin MatuskaThis delay means that a user might exceed their quota before the system notices
13013ff01b23SMartin Matuskathat they are over quota and begins to refuse additional writes with the
13023ff01b23SMartin Matuska.Er EDQUOT
13033ff01b23SMartin Matuskaerror message.
13043ff01b23SMartin MatuskaSee the
13053ff01b23SMartin Matuska.Nm zfs Cm userspace
13063ff01b23SMartin Matuskacommand for more information.
13073ff01b23SMartin Matuska.Pp
13083ff01b23SMartin MatuskaUnprivileged users can only access their own groups' space usage.
13093ff01b23SMartin MatuskaThe root user, or a user who has been granted the
13103ff01b23SMartin Matuska.Sy userquota
13113ff01b23SMartin Matuskaprivilege with
13123ff01b23SMartin Matuska.Nm zfs Cm allow ,
13133ff01b23SMartin Matuskacan get and set everyone's quota.
13143ff01b23SMartin Matuska.Pp
13153ff01b23SMartin MatuskaThis property is not available on volumes, on file systems before version 4, or
13163ff01b23SMartin Matuskaon pools before version 15.
13173ff01b23SMartin MatuskaThe
13183ff01b23SMartin Matuska.Sy userquota@ Ns Ar ...
13193ff01b23SMartin Matuskaproperties are not displayed by
13203ff01b23SMartin Matuska.Nm zfs Cm get Sy all .
13213ff01b23SMartin MatuskaThe user's name must be appended after the
13223ff01b23SMartin Matuska.Sy @
13233ff01b23SMartin Matuskasymbol, using one of the following forms:
13243ff01b23SMartin Matuska.Bl -bullet -compact -offset 4n
13253ff01b23SMartin Matuska.It
13263ff01b23SMartin MatuskaPOSIX name
13273ff01b23SMartin Matuska.Pq Qq joe
13283ff01b23SMartin Matuska.It
13293ff01b23SMartin MatuskaPOSIX numeric ID
13303ff01b23SMartin Matuska.Pq Qq 789
13313ff01b23SMartin Matuska.It
13323ff01b23SMartin MatuskaSID name
13333ff01b23SMartin Matuska.Pq Qq joe.smith@mydomain
13343ff01b23SMartin Matuska.It
13353ff01b23SMartin MatuskaSID numeric ID
13363ff01b23SMartin Matuska.Pq Qq S-1-123-456-789
13373ff01b23SMartin Matuska.El
13383ff01b23SMartin Matuska.Pp
13393ff01b23SMartin MatuskaFiles created on Linux always have POSIX owners.
13403ff01b23SMartin Matuska.It Sy userobjquota@ Ns Ar user Ns = Ns Ar size Ns | Ns Sy none
13413ff01b23SMartin MatuskaThe
13423ff01b23SMartin Matuska.Sy userobjquota
13433ff01b23SMartin Matuskais similar to
13443ff01b23SMartin Matuska.Sy userquota
13453ff01b23SMartin Matuskabut it limits the number of objects a user can create.
13463ff01b23SMartin MatuskaPlease refer to
13473ff01b23SMartin Matuska.Sy userobjused
13483ff01b23SMartin Matuskafor more information about how objects are counted.
13493ff01b23SMartin Matuska.It Sy groupquota@ Ns Ar group Ns = Ns Ar size Ns | Ns Sy none
13503ff01b23SMartin MatuskaLimits the amount of space consumed by the specified group.
13513ff01b23SMartin MatuskaGroup space consumption is identified by the
13523ff01b23SMartin Matuska.Sy groupused@ Ns Ar group
13533ff01b23SMartin Matuskaproperty.
13543ff01b23SMartin Matuska.Pp
13553ff01b23SMartin MatuskaUnprivileged users can access only their own groups' space usage.
13563ff01b23SMartin MatuskaThe root user, or a user who has been granted the
13573ff01b23SMartin Matuska.Sy groupquota
13583ff01b23SMartin Matuskaprivilege with
13593ff01b23SMartin Matuska.Nm zfs Cm allow ,
13603ff01b23SMartin Matuskacan get and set all groups' quotas.
13613ff01b23SMartin Matuska.It Sy groupobjquota@ Ns Ar group Ns = Ns Ar size Ns | Ns Sy none
13623ff01b23SMartin MatuskaThe
13633ff01b23SMartin Matuska.Sy groupobjquota
13643ff01b23SMartin Matuskais similar to
13653ff01b23SMartin Matuska.Sy groupquota
13663ff01b23SMartin Matuskabut it limits number of objects a group can consume.
13673ff01b23SMartin MatuskaPlease refer to
13683ff01b23SMartin Matuska.Sy userobjused
13693ff01b23SMartin Matuskafor more information about how objects are counted.
13703ff01b23SMartin Matuska.It Sy projectquota@ Ns Ar project Ns = Ns Ar size Ns | Ns Sy none
13713ff01b23SMartin MatuskaLimits the amount of space consumed by the specified project.
13723ff01b23SMartin MatuskaProject space consumption is identified by the
13733ff01b23SMartin Matuska.Sy projectused@ Ns Ar project
13743ff01b23SMartin Matuskaproperty.
13753ff01b23SMartin MatuskaPlease refer to
13763ff01b23SMartin Matuska.Sy projectused
13773ff01b23SMartin Matuskafor more information about how project is identified and set/changed.
13783ff01b23SMartin Matuska.Pp
13793ff01b23SMartin MatuskaThe root user, or a user who has been granted the
13803ff01b23SMartin Matuska.Sy projectquota
13813ff01b23SMartin Matuskaprivilege with
13823ff01b23SMartin Matuska.Nm zfs allow ,
13833ff01b23SMartin Matuskacan access all projects' quota.
13843ff01b23SMartin Matuska.It Sy projectobjquota@ Ns Ar project Ns = Ns Ar size Ns | Ns Sy none
13853ff01b23SMartin MatuskaThe
13863ff01b23SMartin Matuska.Sy projectobjquota
13873ff01b23SMartin Matuskais similar to
13883ff01b23SMartin Matuska.Sy projectquota
13893ff01b23SMartin Matuskabut it limits number of objects a project can consume.
13903ff01b23SMartin MatuskaPlease refer to
13913ff01b23SMartin Matuska.Sy userobjused
13923ff01b23SMartin Matuskafor more information about how objects are counted.
13933ff01b23SMartin Matuska.It Sy readonly Ns = Ns Sy on Ns | Ns Sy off
13943ff01b23SMartin MatuskaControls whether this dataset can be modified.
13953ff01b23SMartin MatuskaThe default value is
13963ff01b23SMartin Matuska.Sy off .
13973ff01b23SMartin MatuskaThe values
13983ff01b23SMartin Matuska.Sy on
13993ff01b23SMartin Matuskaand
14003ff01b23SMartin Matuska.Sy off
14013ff01b23SMartin Matuskaare equivalent to the
14023ff01b23SMartin Matuska.Sy ro
14033ff01b23SMartin Matuskaand
14043ff01b23SMartin Matuska.Sy rw
14053ff01b23SMartin Matuskamount options.
14063ff01b23SMartin Matuska.Pp
14073ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
14083ff01b23SMartin Matuska.Sy rdonly .
14093ff01b23SMartin Matuska.It Sy recordsize Ns = Ns Ar size
14103ff01b23SMartin MatuskaSpecifies a suggested block size for files in the file system.
14113ff01b23SMartin MatuskaThis property is designed solely for use with database workloads that access
14123ff01b23SMartin Matuskafiles in fixed-size records.
14133ff01b23SMartin MatuskaZFS automatically tunes block sizes according to internal algorithms optimized
14143ff01b23SMartin Matuskafor typical access patterns.
14153ff01b23SMartin Matuska.Pp
14163ff01b23SMartin MatuskaFor databases that create very large files but access them in small random
14173ff01b23SMartin Matuskachunks, these algorithms may be suboptimal.
14183ff01b23SMartin MatuskaSpecifying a
14193ff01b23SMartin Matuska.Sy recordsize
14203ff01b23SMartin Matuskagreater than or equal to the record size of the database can result in
14213ff01b23SMartin Matuskasignificant performance gains.
14223ff01b23SMartin MatuskaUse of this property for general purpose file systems is strongly discouraged,
14233ff01b23SMartin Matuskaand may adversely affect performance.
14243ff01b23SMartin Matuska.Pp
14253ff01b23SMartin MatuskaThe size specified must be a power of two greater than or equal to
14263ff01b23SMartin Matuska.Ar 512B
14273ff01b23SMartin Matuskaand less than or equal to
14283ff01b23SMartin Matuska.Ar 128kB .
14293ff01b23SMartin MatuskaIf the
14303ff01b23SMartin Matuska.Sy large_blocks
14313ff01b23SMartin Matuskafeature is enabled on the pool, the size may be up to
14323ff01b23SMartin Matuska.Ar 1MB .
14333ff01b23SMartin MatuskaSee
14343ff01b23SMartin Matuska.Xr zpool-features 7
14353ff01b23SMartin Matuskafor details on ZFS feature flags.
14363ff01b23SMartin Matuska.Pp
14373ff01b23SMartin MatuskaChanging the file system's
14383ff01b23SMartin Matuska.Sy recordsize
14393ff01b23SMartin Matuskaaffects only files created afterward; existing files are unaffected.
14403ff01b23SMartin Matuska.Pp
14413ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
14423ff01b23SMartin Matuska.Sy recsize .
14433ff01b23SMartin Matuska.It Sy redundant_metadata Ns = Ns Sy all Ns | Ns Sy most
14443ff01b23SMartin MatuskaControls what types of metadata are stored redundantly.
14453ff01b23SMartin MatuskaZFS stores an extra copy of metadata, so that if a single block is corrupted,
14463ff01b23SMartin Matuskathe amount of user data lost is limited.
14473ff01b23SMartin MatuskaThis extra copy is in addition to any redundancy provided at the pool level
14483ff01b23SMartin Matuska.Pq e.g. by mirroring or RAID-Z ,
14493ff01b23SMartin Matuskaand is in addition to an extra copy specified by the
14503ff01b23SMartin Matuska.Sy copies
14513ff01b23SMartin Matuskaproperty
14523ff01b23SMartin Matuska.Pq up to a total of 3 copies .
14533ff01b23SMartin MatuskaFor example if the pool is mirrored,
14543ff01b23SMartin Matuska.Sy copies Ns = Ns 2 ,
14553ff01b23SMartin Matuskaand
14563ff01b23SMartin Matuska.Sy redundant_metadata Ns = Ns Sy most ,
14573ff01b23SMartin Matuskathen ZFS stores 6 copies of most metadata, and 4 copies of data and some
14583ff01b23SMartin Matuskametadata.
14593ff01b23SMartin Matuska.Pp
14603ff01b23SMartin MatuskaWhen set to
14613ff01b23SMartin Matuska.Sy all ,
14623ff01b23SMartin MatuskaZFS stores an extra copy of all metadata.
14633ff01b23SMartin MatuskaIf a single on-disk block is corrupt, at worst a single block of user data
14643ff01b23SMartin Matuska.Po which is
14653ff01b23SMartin Matuska.Sy recordsize
14663ff01b23SMartin Matuskabytes long
14673ff01b23SMartin Matuska.Pc
14683ff01b23SMartin Matuskacan be lost.
14693ff01b23SMartin Matuska.Pp
14703ff01b23SMartin MatuskaWhen set to
14713ff01b23SMartin Matuska.Sy most ,
14723ff01b23SMartin MatuskaZFS stores an extra copy of most types of metadata.
14733ff01b23SMartin MatuskaThis can improve performance of random writes, because less metadata must be
14743ff01b23SMartin Matuskawritten.
14753ff01b23SMartin MatuskaIn practice, at worst about 100 blocks
14763ff01b23SMartin Matuska.Po of
14773ff01b23SMartin Matuska.Sy recordsize
14783ff01b23SMartin Matuskabytes each
14793ff01b23SMartin Matuska.Pc
14803ff01b23SMartin Matuskaof user data can be lost if a single on-disk block is corrupt.
14813ff01b23SMartin MatuskaThe exact behavior of which metadata blocks are stored redundantly may change in
14823ff01b23SMartin Matuskafuture releases.
14833ff01b23SMartin Matuska.Pp
14843ff01b23SMartin MatuskaThe default value is
14853ff01b23SMartin Matuska.Sy all .
14863ff01b23SMartin Matuska.It Sy refquota Ns = Ns Ar size Ns | Ns Sy none
14873ff01b23SMartin MatuskaLimits the amount of space a dataset can consume.
14883ff01b23SMartin MatuskaThis property enforces a hard limit on the amount of space used.
14893ff01b23SMartin MatuskaThis hard limit does not include space used by descendents, including file
14903ff01b23SMartin Matuskasystems and snapshots.
14913ff01b23SMartin Matuska.It Sy refreservation Ns = Ns Ar size Ns | Ns Sy none Ns | Ns Sy auto
14923ff01b23SMartin MatuskaThe minimum amount of space guaranteed to a dataset, not including its
14933ff01b23SMartin Matuskadescendents.
14943ff01b23SMartin MatuskaWhen the amount of space used is below this value, the dataset is treated as if
14953ff01b23SMartin Matuskait were taking up the amount of space specified by
14963ff01b23SMartin Matuska.Sy refreservation .
14973ff01b23SMartin MatuskaThe
14983ff01b23SMartin Matuska.Sy refreservation
14993ff01b23SMartin Matuskareservation is accounted for in the parent datasets' space used, and counts
15003ff01b23SMartin Matuskaagainst the parent datasets' quotas and reservations.
15013ff01b23SMartin Matuska.Pp
15023ff01b23SMartin MatuskaIf
15033ff01b23SMartin Matuska.Sy refreservation
15043ff01b23SMartin Matuskais set, a snapshot is only allowed if there is enough free pool space outside of
15053ff01b23SMartin Matuskathis reservation to accommodate the current number of
15063ff01b23SMartin Matuska.Qq referenced
15073ff01b23SMartin Matuskabytes in the dataset.
15083ff01b23SMartin Matuska.Pp
15093ff01b23SMartin MatuskaIf
15103ff01b23SMartin Matuska.Sy refreservation
15113ff01b23SMartin Matuskais set to
15123ff01b23SMartin Matuska.Sy auto ,
15133ff01b23SMartin Matuskaa volume is thick provisioned
15143ff01b23SMartin Matuska.Po or
15153ff01b23SMartin Matuska.Qq not sparse
15163ff01b23SMartin Matuska.Pc .
15173ff01b23SMartin Matuska.Sy refreservation Ns = Ns Sy auto
15183ff01b23SMartin Matuskais only supported on volumes.
15193ff01b23SMartin MatuskaSee
15203ff01b23SMartin Matuska.Sy volsize
15213ff01b23SMartin Matuskain the
15223ff01b23SMartin Matuska.Sx Native Properties
15233ff01b23SMartin Matuskasection for more information about sparse volumes.
15243ff01b23SMartin Matuska.Pp
15253ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
15263ff01b23SMartin Matuska.Sy refreserv .
15273ff01b23SMartin Matuska.It Sy relatime Ns = Ns Sy on Ns | Ns Sy off
15283ff01b23SMartin MatuskaControls the manner in which the access time is updated when
15293ff01b23SMartin Matuska.Sy atime Ns = Ns Sy on
15303ff01b23SMartin Matuskais set.
15313ff01b23SMartin MatuskaTurning this property on causes the access time to be updated relative
15323ff01b23SMartin Matuskato the modify or change time.
15333ff01b23SMartin MatuskaAccess time is only updated if the previous
15343ff01b23SMartin Matuskaaccess time was earlier than the current modify or change time or if the
15353ff01b23SMartin Matuskaexisting access time hasn't been updated within the past 24 hours.
15363ff01b23SMartin MatuskaThe default value is
15373ff01b23SMartin Matuska.Sy off .
15383ff01b23SMartin MatuskaThe values
15393ff01b23SMartin Matuska.Sy on
15403ff01b23SMartin Matuskaand
15413ff01b23SMartin Matuska.Sy off
15423ff01b23SMartin Matuskaare equivalent to the
15433ff01b23SMartin Matuska.Sy relatime
15443ff01b23SMartin Matuskaand
15453ff01b23SMartin Matuska.Sy norelatime
15463ff01b23SMartin Matuskamount options.
15473ff01b23SMartin Matuska.It Sy reservation Ns = Ns Ar size Ns | Ns Sy none
15483ff01b23SMartin MatuskaThe minimum amount of space guaranteed to a dataset and its descendants.
15493ff01b23SMartin MatuskaWhen the amount of space used is below this value, the dataset is treated as if
15503ff01b23SMartin Matuskait were taking up the amount of space specified by its reservation.
15513ff01b23SMartin MatuskaReservations are accounted for in the parent datasets' space used, and count
15523ff01b23SMartin Matuskaagainst the parent datasets' quotas and reservations.
15533ff01b23SMartin Matuska.Pp
15543ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name,
15553ff01b23SMartin Matuska.Sy reserv .
15563ff01b23SMartin Matuska.It Sy secondarycache Ns = Ns Sy all Ns | Ns Sy none Ns | Ns Sy metadata
15573ff01b23SMartin MatuskaControls what is cached in the secondary cache
15583ff01b23SMartin Matuska.Pq L2ARC .
15593ff01b23SMartin MatuskaIf this property is set to
15603ff01b23SMartin Matuska.Sy all ,
15613ff01b23SMartin Matuskathen both user data and metadata is cached.
15623ff01b23SMartin MatuskaIf this property is set to
15633ff01b23SMartin Matuska.Sy none ,
15643ff01b23SMartin Matuskathen neither user data nor metadata is cached.
15653ff01b23SMartin MatuskaIf this property is set to
15663ff01b23SMartin Matuska.Sy metadata ,
15673ff01b23SMartin Matuskathen only metadata is cached.
15683ff01b23SMartin MatuskaThe default value is
15693ff01b23SMartin Matuska.Sy all .
15703ff01b23SMartin Matuska.It Sy setuid Ns = Ns Sy on Ns | Ns Sy off
15713ff01b23SMartin MatuskaControls whether the setuid bit is respected for the file system.
15723ff01b23SMartin MatuskaThe default value is
15733ff01b23SMartin Matuska.Sy on .
15743ff01b23SMartin MatuskaThe values
15753ff01b23SMartin Matuska.Sy on
15763ff01b23SMartin Matuskaand
15773ff01b23SMartin Matuska.Sy off
15783ff01b23SMartin Matuskaare equivalent to the
15793ff01b23SMartin Matuska.Sy suid
15803ff01b23SMartin Matuskaand
15813ff01b23SMartin Matuska.Sy nosuid
15823ff01b23SMartin Matuskamount options.
15833ff01b23SMartin Matuska.It Sy sharesmb Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Ar opts
15843ff01b23SMartin MatuskaControls whether the file system is shared by using
15853ff01b23SMartin Matuska.Sy Samba USERSHARES
15863ff01b23SMartin Matuskaand what options are to be used.
15873ff01b23SMartin MatuskaOtherwise, the file system is automatically shared and unshared with the
15883ff01b23SMartin Matuska.Nm zfs Cm share
15893ff01b23SMartin Matuskaand
15903ff01b23SMartin Matuska.Nm zfs Cm unshare
15913ff01b23SMartin Matuskacommands.
15923ff01b23SMartin MatuskaIf the property is set to on, the
15933ff01b23SMartin Matuska.Xr net 8
15943ff01b23SMartin Matuskacommand is invoked to create a
15953ff01b23SMartin Matuska.Sy USERSHARE .
15963ff01b23SMartin Matuska.Pp
15973ff01b23SMartin MatuskaBecause SMB shares requires a resource name, a unique resource name is
15983ff01b23SMartin Matuskaconstructed from the dataset name.
15993ff01b23SMartin MatuskaThe constructed name is a copy of the
16003ff01b23SMartin Matuskadataset name except that the characters in the dataset name, which would be
16013ff01b23SMartin Matuskainvalid in the resource name, are replaced with underscore (_) characters.
16023ff01b23SMartin MatuskaLinux does not currently support additional options which might be available
16033ff01b23SMartin Matuskaon Solaris.
16043ff01b23SMartin Matuska.Pp
16053ff01b23SMartin MatuskaIf the
16063ff01b23SMartin Matuska.Sy sharesmb
16073ff01b23SMartin Matuskaproperty is set to
16083ff01b23SMartin Matuska.Sy off ,
16093ff01b23SMartin Matuskathe file systems are unshared.
16103ff01b23SMartin Matuska.Pp
16113ff01b23SMartin MatuskaThe share is created with the ACL (Access Control List) "Everyone:F" ("F"
16123ff01b23SMartin Matuskastands for "full permissions", i.e. read and write permissions) and no guest
1613*c03c5b1cSMartin Matuskaaccess (which means Samba must be able to authenticate a real user \(em
1614*c03c5b1cSMartin Matuska.Xr passwd 5 Ns / Ns Xr shadow 5 Ns - ,
1615*c03c5b1cSMartin MatuskaLDAP- or
1616*c03c5b1cSMartin Matuska.Xr smbpasswd 5 Ns -based )
1617*c03c5b1cSMartin Matuskaby default.
16183ff01b23SMartin MatuskaThis means that any additional access control
16193ff01b23SMartin Matuska(disallow specific user specific access etc) must be done on the underlying file system.
16203ff01b23SMartin Matuska.It Sy sharenfs Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Ar opts
16213ff01b23SMartin MatuskaControls whether the file system is shared via NFS, and what options are to be
16223ff01b23SMartin Matuskaused.
16233ff01b23SMartin MatuskaA file system with a
16243ff01b23SMartin Matuska.Sy sharenfs
16253ff01b23SMartin Matuskaproperty of
16263ff01b23SMartin Matuska.Sy off
16273ff01b23SMartin Matuskais managed with the
16283ff01b23SMartin Matuska.Xr exportfs 8
16293ff01b23SMartin Matuskacommand and entries in the
16303ff01b23SMartin Matuska.Pa /etc/exports
16313ff01b23SMartin Matuskafile.
16323ff01b23SMartin MatuskaOtherwise, the file system is automatically shared and unshared with the
16333ff01b23SMartin Matuska.Nm zfs Cm share
16343ff01b23SMartin Matuskaand
16353ff01b23SMartin Matuska.Nm zfs Cm unshare
16363ff01b23SMartin Matuskacommands.
16373ff01b23SMartin MatuskaIf the property is set to
16383ff01b23SMartin Matuska.Sy on ,
16393ff01b23SMartin Matuskathe dataset is shared using the default options:
16403ff01b23SMartin Matuska.Dl sec=sys,rw,crossmnt,no_subtree_check
16413ff01b23SMartin Matuska.Pp
164281b22a98SMartin MatuskaPlease note that the options are comma-separated, unlike those found in
164381b22a98SMartin Matuska.Xr exports 5 .
164481b22a98SMartin MatuskaThis is done to negate the need for quoting, as well as to make parsing
164581b22a98SMartin Matuskawith scripts easier.
164681b22a98SMartin Matuska.Pp
16473ff01b23SMartin MatuskaSee
16483ff01b23SMartin Matuska.Xr exports 5
16493ff01b23SMartin Matuskafor the meaning of the default options.
16503ff01b23SMartin MatuskaOtherwise, the
16513ff01b23SMartin Matuska.Xr exportfs 8
16523ff01b23SMartin Matuskacommand is invoked with options equivalent to the contents of this property.
16533ff01b23SMartin Matuska.Pp
16543ff01b23SMartin MatuskaWhen the
16553ff01b23SMartin Matuska.Sy sharenfs
16563ff01b23SMartin Matuskaproperty is changed for a dataset, the dataset and any children inheriting the
16573ff01b23SMartin Matuskaproperty are re-shared with the new options, only if the property was previously
16583ff01b23SMartin Matuska.Sy off ,
16593ff01b23SMartin Matuskaor if they were shared before the property was changed.
16603ff01b23SMartin MatuskaIf the new property is
16613ff01b23SMartin Matuska.Sy off ,
16623ff01b23SMartin Matuskathe file systems are unshared.
16633ff01b23SMartin Matuska.It Sy logbias Ns = Ns Sy latency Ns | Ns Sy throughput
16643ff01b23SMartin MatuskaProvide a hint to ZFS about handling of synchronous requests in this dataset.
16653ff01b23SMartin MatuskaIf
16663ff01b23SMartin Matuska.Sy logbias
16673ff01b23SMartin Matuskais set to
16683ff01b23SMartin Matuska.Sy latency
16693ff01b23SMartin Matuska.Pq the default ,
16703ff01b23SMartin MatuskaZFS will use pool log devices
16713ff01b23SMartin Matuska.Pq if configured
16723ff01b23SMartin Matuskato handle the requests at low latency.
16733ff01b23SMartin MatuskaIf
16743ff01b23SMartin Matuska.Sy logbias
16753ff01b23SMartin Matuskais set to
16763ff01b23SMartin Matuska.Sy throughput ,
16773ff01b23SMartin MatuskaZFS will not use configured pool log devices.
16783ff01b23SMartin MatuskaZFS will instead optimize synchronous operations for global pool throughput and
16793ff01b23SMartin Matuskaefficient use of resources.
16803ff01b23SMartin Matuska.It Sy snapdev Ns = Ns Sy hidden Ns | Ns Sy visible
16813ff01b23SMartin MatuskaControls whether the volume snapshot devices under
16823ff01b23SMartin Matuska.Pa /dev/zvol/ Ns Aq Ar pool
16833ff01b23SMartin Matuskaare hidden or visible.
16843ff01b23SMartin MatuskaThe default value is
16853ff01b23SMartin Matuska.Sy hidden .
16863ff01b23SMartin Matuska.It Sy snapdir Ns = Ns Sy hidden Ns | Ns Sy visible
16873ff01b23SMartin MatuskaControls whether the
16883ff01b23SMartin Matuska.Pa .zfs
16893ff01b23SMartin Matuskadirectory is hidden or visible in the root of the file system as discussed in
16903ff01b23SMartin Matuskathe
16913ff01b23SMartin Matuska.Sx Snapshots
16923ff01b23SMartin Matuskasection of
16933ff01b23SMartin Matuska.Xr zfsconcepts 7 .
16943ff01b23SMartin MatuskaThe default value is
16953ff01b23SMartin Matuska.Sy hidden .
16963ff01b23SMartin Matuska.It Sy sync Ns = Ns Sy standard Ns | Ns Sy always Ns | Ns Sy disabled
16973ff01b23SMartin MatuskaControls the behavior of synchronous requests
16983ff01b23SMartin Matuska.Pq e.g. fsync, O_DSYNC .
16993ff01b23SMartin Matuska.Sy standard
17003ff01b23SMartin Matuskais the POSIX-specified behavior of ensuring all synchronous requests
17013ff01b23SMartin Matuskaare written to stable storage and all devices are flushed to ensure
17023ff01b23SMartin Matuskadata is not cached by device controllers
17033ff01b23SMartin Matuska.Pq this is the default .
17043ff01b23SMartin Matuska.Sy always
17053ff01b23SMartin Matuskacauses every file system transaction to be written and flushed before its
17063ff01b23SMartin Matuskasystem call returns.
17073ff01b23SMartin MatuskaThis has a large performance penalty.
17083ff01b23SMartin Matuska.Sy disabled
17093ff01b23SMartin Matuskadisables synchronous requests.
17103ff01b23SMartin MatuskaFile system transactions are only committed to stable storage periodically.
17113ff01b23SMartin MatuskaThis option will give the highest performance.
17123ff01b23SMartin MatuskaHowever, it is very dangerous as ZFS would be ignoring the synchronous
17133ff01b23SMartin Matuskatransaction demands of applications such as databases or NFS.
17143ff01b23SMartin MatuskaAdministrators should only use this option when the risks are understood.
17153ff01b23SMartin Matuska.It Sy version Ns = Ns Ar N Ns | Ns Sy current
17163ff01b23SMartin MatuskaThe on-disk version of this file system, which is independent of the pool
17173ff01b23SMartin Matuskaversion.
17183ff01b23SMartin MatuskaThis property can only be set to later supported versions.
17193ff01b23SMartin MatuskaSee the
17203ff01b23SMartin Matuska.Nm zfs Cm upgrade
17213ff01b23SMartin Matuskacommand.
17223ff01b23SMartin Matuska.It Sy volsize Ns = Ns Ar size
17233ff01b23SMartin MatuskaFor volumes, specifies the logical size of the volume.
17243ff01b23SMartin MatuskaBy default, creating a volume establishes a reservation of equal size.
17253ff01b23SMartin MatuskaFor storage pools with a version number of 9 or higher, a
17263ff01b23SMartin Matuska.Sy refreservation
17273ff01b23SMartin Matuskais set instead.
17283ff01b23SMartin MatuskaAny changes to
17293ff01b23SMartin Matuska.Sy volsize
17303ff01b23SMartin Matuskaare reflected in an equivalent change to the reservation
17313ff01b23SMartin Matuska.Pq or Sy refreservation .
17323ff01b23SMartin MatuskaThe
17333ff01b23SMartin Matuska.Sy volsize
17343ff01b23SMartin Matuskacan only be set to a multiple of
17353ff01b23SMartin Matuska.Sy volblocksize ,
17363ff01b23SMartin Matuskaand cannot be zero.
17373ff01b23SMartin Matuska.Pp
17383ff01b23SMartin MatuskaThe reservation is kept equal to the volume's logical size to prevent unexpected
17393ff01b23SMartin Matuskabehavior for consumers.
17403ff01b23SMartin MatuskaWithout the reservation, the volume could run out of space, resulting in
17413ff01b23SMartin Matuskaundefined behavior or data corruption, depending on how the volume is used.
17423ff01b23SMartin MatuskaThese effects can also occur when the volume size is changed while it is in use
17433ff01b23SMartin Matuska.Pq particularly when shrinking the size .
17443ff01b23SMartin MatuskaExtreme care should be used when adjusting the volume size.
17453ff01b23SMartin Matuska.Pp
17463ff01b23SMartin MatuskaThough not recommended, a
17473ff01b23SMartin Matuska.Qq sparse volume
17483ff01b23SMartin Matuska.Po also known as
17493ff01b23SMartin Matuska.Qq thin provisioned
17503ff01b23SMartin Matuska.Pc
17513ff01b23SMartin Matuskacan be created by specifying the
17523ff01b23SMartin Matuska.Fl s
17533ff01b23SMartin Matuskaoption to the
17543ff01b23SMartin Matuska.Nm zfs Cm create Fl V
17553ff01b23SMartin Matuskacommand, or by changing the value of the
17563ff01b23SMartin Matuska.Sy refreservation
17573ff01b23SMartin Matuskaproperty
17583ff01b23SMartin Matuska.Po or
17593ff01b23SMartin Matuska.Sy reservation
17603ff01b23SMartin Matuskaproperty on pool version 8 or earlier
17613ff01b23SMartin Matuska.Pc
17623ff01b23SMartin Matuskaafter the volume has been created.
17633ff01b23SMartin MatuskaA
17643ff01b23SMartin Matuska.Qq sparse volume
17653ff01b23SMartin Matuskais a volume where the value of
17663ff01b23SMartin Matuska.Sy refreservation
17673ff01b23SMartin Matuskais less than the size of the volume plus the space required to store its
17683ff01b23SMartin Matuskametadata.
17693ff01b23SMartin MatuskaConsequently, writes to a sparse volume can fail with
17703ff01b23SMartin Matuska.Er ENOSPC
17713ff01b23SMartin Matuskawhen the pool is low on space.
17723ff01b23SMartin MatuskaFor a sparse volume, changes to
17733ff01b23SMartin Matuska.Sy volsize
17743ff01b23SMartin Matuskaare not reflected in the
17753ff01b23SMartin Matuska.Sy refreservation .
17763ff01b23SMartin MatuskaA volume that is not sparse is said to be
17773ff01b23SMartin Matuska.Qq thick provisioned .
17783ff01b23SMartin MatuskaA sparse volume can become thick provisioned by setting
17793ff01b23SMartin Matuska.Sy refreservation
17803ff01b23SMartin Matuskato
17813ff01b23SMartin Matuska.Sy auto .
17823ff01b23SMartin Matuska.It Sy volmode Ns = Ns Sy default Ns | Ns Sy full Ns | Ns Sy geom Ns | Ns Sy dev Ns | Ns Sy none
17833ff01b23SMartin MatuskaThis property specifies how volumes should be exposed to the OS.
17843ff01b23SMartin MatuskaSetting it to
17853ff01b23SMartin Matuska.Sy full
17863ff01b23SMartin Matuskaexposes volumes as fully fledged block devices, providing maximal
17873ff01b23SMartin Matuskafunctionality.
17883ff01b23SMartin MatuskaThe value
17893ff01b23SMartin Matuska.Sy geom
17903ff01b23SMartin Matuskais just an alias for
17913ff01b23SMartin Matuska.Sy full
17923ff01b23SMartin Matuskaand is kept for compatibility.
17933ff01b23SMartin MatuskaSetting it to
17943ff01b23SMartin Matuska.Sy dev
17953ff01b23SMartin Matuskahides its partitions.
17963ff01b23SMartin MatuskaVolumes with property set to
17973ff01b23SMartin Matuska.Sy none
17983ff01b23SMartin Matuskaare not exposed outside ZFS, but can be snapshotted, cloned, replicated, etc,
17993ff01b23SMartin Matuskathat can be suitable for backup purposes.
18003ff01b23SMartin MatuskaValue
18013ff01b23SMartin Matuska.Sy default
18023ff01b23SMartin Matuskameans that volumes exposition is controlled by system-wide tunable
18033ff01b23SMartin Matuska.Sy zvol_volmode ,
18043ff01b23SMartin Matuskawhere
18053ff01b23SMartin Matuska.Sy full ,
18063ff01b23SMartin Matuska.Sy dev
18073ff01b23SMartin Matuskaand
18083ff01b23SMartin Matuska.Sy none
18093ff01b23SMartin Matuskaare encoded as 1, 2 and 3 respectively.
18103ff01b23SMartin MatuskaThe default value is
18113ff01b23SMartin Matuska.Sy full .
18123ff01b23SMartin Matuska.It Sy vscan Ns = Ns Sy on Ns | Ns Sy off
18133ff01b23SMartin MatuskaControls whether regular files should be scanned for viruses when a file is
18143ff01b23SMartin Matuskaopened and closed.
18153ff01b23SMartin MatuskaIn addition to enabling this property, the virus scan service must also be
18163ff01b23SMartin Matuskaenabled for virus scanning to occur.
18173ff01b23SMartin MatuskaThe default value is
18183ff01b23SMartin Matuska.Sy off .
18193ff01b23SMartin MatuskaThis property is not used by OpenZFS.
18203ff01b23SMartin Matuska.It Sy xattr Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy sa
18213ff01b23SMartin MatuskaControls whether extended attributes are enabled for this file system.
1822*c03c5b1cSMartin MatuskaTwo styles of extended attributes are supported: either directory-based
1823*c03c5b1cSMartin Matuskaor system-attribute-based.
18243ff01b23SMartin Matuska.Pp
18253ff01b23SMartin MatuskaThe default value of
18263ff01b23SMartin Matuska.Sy on
1827*c03c5b1cSMartin Matuskaenables directory-based extended attributes.
18283ff01b23SMartin MatuskaThis style of extended attribute imposes no practical limit
18293ff01b23SMartin Matuskaon either the size or number of attributes which can be set on a file.
18303ff01b23SMartin MatuskaAlthough under Linux the
18313ff01b23SMartin Matuska.Xr getxattr 2
18323ff01b23SMartin Matuskaand
18333ff01b23SMartin Matuska.Xr setxattr 2
1834*c03c5b1cSMartin Matuskasystem calls limit the maximum size to
1835*c03c5b1cSMartin Matuska.Sy 64K .
18363ff01b23SMartin MatuskaThis is the most compatible
18373ff01b23SMartin Matuskastyle of extended attribute and is supported by all ZFS implementations.
18383ff01b23SMartin Matuska.Pp
1839*c03c5b1cSMartin MatuskaSystem-attribute-based xattrs can be enabled by setting the value to
18403ff01b23SMartin Matuska.Sy sa .
18413ff01b23SMartin MatuskaThe key advantage of this type of xattr is improved performance.
18423ff01b23SMartin MatuskaStoring extended attributes as system attributes
1843*c03c5b1cSMartin Matuskasignificantly decreases the amount of disk I/O required.
1844*c03c5b1cSMartin MatuskaUp to
1845*c03c5b1cSMartin Matuska.Sy 64K
1846*c03c5b1cSMartin Matuskaof data may be stored per-file in the space reserved for system attributes.
18473ff01b23SMartin MatuskaIf there is not enough space available for an extended attribute
1848*c03c5b1cSMartin Matuskathen it will be automatically written as a directory-based xattr.
1849*c03c5b1cSMartin MatuskaSystem-attribute-based extended attributes are not accessible
18503ff01b23SMartin Matuskaon platforms which do not support the
18513ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa
18523ff01b23SMartin Matuskafeature.
18533ff01b23SMartin MatuskaOpenZFS supports
18543ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa
18553ff01b23SMartin Matuskaon both
18563ff01b23SMartin Matuska.Fx
18573ff01b23SMartin Matuskaand Linux.
18583ff01b23SMartin Matuska.Pp
1859*c03c5b1cSMartin MatuskaThe use of system-attribute-based xattrs is strongly encouraged for users of
18603ff01b23SMartin MatuskaSELinux or POSIX ACLs.
18613ff01b23SMartin MatuskaBoth of these features heavily rely on extended
18623ff01b23SMartin Matuskaattributes and benefit significantly from the reduced access time.
18633ff01b23SMartin Matuska.Pp
18643ff01b23SMartin MatuskaThe values
18653ff01b23SMartin Matuska.Sy on
18663ff01b23SMartin Matuskaand
18673ff01b23SMartin Matuska.Sy off
18683ff01b23SMartin Matuskaare equivalent to the
18693ff01b23SMartin Matuska.Sy xattr
18703ff01b23SMartin Matuskaand
18713ff01b23SMartin Matuska.Sy noxattr
18723ff01b23SMartin Matuskamount options.
18733ff01b23SMartin Matuska.It Sy jailed Ns = Ns Sy off Ns | Ns Sy on
18743ff01b23SMartin MatuskaControls whether the dataset is managed from a jail.
18753ff01b23SMartin MatuskaSee
18763ff01b23SMartin Matuska.Xr zfs-jail 8
18773ff01b23SMartin Matuskafor more information.
18783ff01b23SMartin MatuskaJails are a
18793ff01b23SMartin Matuska.Fx
18803ff01b23SMartin Matuskafeature and are not relevant on other platforms.
18813ff01b23SMartin MatuskaThe default value is
18823ff01b23SMartin Matuska.Sy off .
18833ff01b23SMartin Matuska.It Sy zoned Ns = Ns Sy on Ns | Ns Sy off
18843ff01b23SMartin MatuskaControls whether the dataset is managed from a non-global zone.
18853ff01b23SMartin MatuskaZones are a Solaris feature and are not relevant on other platforms.
18863ff01b23SMartin MatuskaThe default value is
18873ff01b23SMartin Matuska.Sy off .
18883ff01b23SMartin Matuska.El
18893ff01b23SMartin Matuska.Pp
18903ff01b23SMartin MatuskaThe following three properties cannot be changed after the file system is
18913ff01b23SMartin Matuskacreated, and therefore, should be set when the file system is created.
18923ff01b23SMartin MatuskaIf the properties are not set with the
18933ff01b23SMartin Matuska.Nm zfs Cm create
18943ff01b23SMartin Matuskaor
18953ff01b23SMartin Matuska.Nm zpool Cm create
18963ff01b23SMartin Matuskacommands, these properties are inherited from the parent dataset.
18973ff01b23SMartin MatuskaIf the parent dataset lacks these properties due to having been created prior to
18983ff01b23SMartin Matuskathese features being supported, the new file system will have the default values
18993ff01b23SMartin Matuskafor these properties.
19003ff01b23SMartin Matuska.Bl -tag -width ""
19013ff01b23SMartin Matuska.It Xo
19023ff01b23SMartin Matuska.Sy casesensitivity Ns = Ns Sy sensitive Ns | Ns
19033ff01b23SMartin Matuska.Sy insensitive Ns | Ns Sy mixed
19043ff01b23SMartin Matuska.Xc
19053ff01b23SMartin MatuskaIndicates whether the file name matching algorithm used by the file system
19063ff01b23SMartin Matuskashould be case-sensitive, case-insensitive, or allow a combination of both
19073ff01b23SMartin Matuskastyles of matching.
19083ff01b23SMartin MatuskaThe default value for the
19093ff01b23SMartin Matuska.Sy casesensitivity
19103ff01b23SMartin Matuskaproperty is
19113ff01b23SMartin Matuska.Sy sensitive .
19123ff01b23SMartin MatuskaTraditionally,
19133ff01b23SMartin Matuska.Ux
19143ff01b23SMartin Matuskaand POSIX file systems have case-sensitive file names.
19153ff01b23SMartin Matuska.Pp
19163ff01b23SMartin MatuskaThe
19173ff01b23SMartin Matuska.Sy mixed
19183ff01b23SMartin Matuskavalue for the
19193ff01b23SMartin Matuska.Sy casesensitivity
19203ff01b23SMartin Matuskaproperty indicates that the file system can support requests for both
19213ff01b23SMartin Matuskacase-sensitive and case-insensitive matching behavior.
19223ff01b23SMartin MatuskaCurrently, case-insensitive matching behavior on a file system that supports
19233ff01b23SMartin Matuskamixed behavior is limited to the SMB server product.
19243ff01b23SMartin MatuskaFor more information about the
19253ff01b23SMartin Matuska.Sy mixed
19263ff01b23SMartin Matuskavalue behavior, see the "ZFS Administration Guide".
19273ff01b23SMartin Matuska.It Xo
19283ff01b23SMartin Matuska.Sy normalization Ns = Ns Sy none Ns | Ns Sy formC Ns | Ns
19293ff01b23SMartin Matuska.Sy formD Ns | Ns Sy formKC Ns | Ns Sy formKD
19303ff01b23SMartin Matuska.Xc
19313ff01b23SMartin MatuskaIndicates whether the file system should perform a
19323ff01b23SMartin Matuska.Sy unicode
19333ff01b23SMartin Matuskanormalization of file names whenever two file names are compared, and which
19343ff01b23SMartin Matuskanormalization algorithm should be used.
19353ff01b23SMartin MatuskaFile names are always stored unmodified, names are normalized as part of any
19363ff01b23SMartin Matuskacomparison process.
19373ff01b23SMartin MatuskaIf this property is set to a legal value other than
19383ff01b23SMartin Matuska.Sy none ,
19393ff01b23SMartin Matuskaand the
19403ff01b23SMartin Matuska.Sy utf8only
19413ff01b23SMartin Matuskaproperty was left unspecified, the
19423ff01b23SMartin Matuska.Sy utf8only
19433ff01b23SMartin Matuskaproperty is automatically set to
19443ff01b23SMartin Matuska.Sy on .
19453ff01b23SMartin MatuskaThe default value of the
19463ff01b23SMartin Matuska.Sy normalization
19473ff01b23SMartin Matuskaproperty is
19483ff01b23SMartin Matuska.Sy none .
19493ff01b23SMartin MatuskaThis property cannot be changed after the file system is created.
19503ff01b23SMartin Matuska.It Sy utf8only Ns = Ns Sy on Ns | Ns Sy off
19513ff01b23SMartin MatuskaIndicates whether the file system should reject file names that include
19523ff01b23SMartin Matuskacharacters that are not present in the
19533ff01b23SMartin Matuska.Sy UTF-8
19543ff01b23SMartin Matuskacharacter code set.
19553ff01b23SMartin MatuskaIf this property is explicitly set to
19563ff01b23SMartin Matuska.Sy off ,
19573ff01b23SMartin Matuskathe normalization property must either not be explicitly set or be set to
19583ff01b23SMartin Matuska.Sy none .
19593ff01b23SMartin MatuskaThe default value for the
19603ff01b23SMartin Matuska.Sy utf8only
19613ff01b23SMartin Matuskaproperty is
19623ff01b23SMartin Matuska.Sy off .
19633ff01b23SMartin MatuskaThis property cannot be changed after the file system is created.
19643ff01b23SMartin Matuska.El
19653ff01b23SMartin Matuska.Pp
19663ff01b23SMartin MatuskaThe
19673ff01b23SMartin Matuska.Sy casesensitivity ,
19683ff01b23SMartin Matuska.Sy normalization ,
19693ff01b23SMartin Matuskaand
19703ff01b23SMartin Matuska.Sy utf8only
19713ff01b23SMartin Matuskaproperties are also new permissions that can be assigned to non-privileged users
19723ff01b23SMartin Matuskaby using the ZFS delegated administration feature.
19733ff01b23SMartin Matuska.
19743ff01b23SMartin Matuska.Ss Temporary Mount Point Properties
19753ff01b23SMartin MatuskaWhen a file system is mounted, either through
19763ff01b23SMartin Matuska.Xr mount 8
19773ff01b23SMartin Matuskafor legacy mounts or the
19783ff01b23SMartin Matuska.Nm zfs Cm mount
19793ff01b23SMartin Matuskacommand for normal file systems, its mount options are set according to its
19803ff01b23SMartin Matuskaproperties.
19813ff01b23SMartin MatuskaThe correlation between properties and mount options is as follows:
19823ff01b23SMartin Matuska.Bl -tag -compact -offset Ds -width "rootcontext="
19833ff01b23SMartin Matuska.It Sy atime
19843ff01b23SMartin Matuskaatime/noatime
19853ff01b23SMartin Matuska.It Sy canmount
19863ff01b23SMartin Matuskaauto/noauto
19873ff01b23SMartin Matuska.It Sy devices
19883ff01b23SMartin Matuskadev/nodev
19893ff01b23SMartin Matuska.It Sy exec
19903ff01b23SMartin Matuskaexec/noexec
19913ff01b23SMartin Matuska.It Sy readonly
19923ff01b23SMartin Matuskaro/rw
19933ff01b23SMartin Matuska.It Sy relatime
19943ff01b23SMartin Matuskarelatime/norelatime
19953ff01b23SMartin Matuska.It Sy setuid
19963ff01b23SMartin Matuskasuid/nosuid
19973ff01b23SMartin Matuska.It Sy xattr
19983ff01b23SMartin Matuskaxattr/noxattr
19993ff01b23SMartin Matuska.It Sy nbmand
20003ff01b23SMartin Matuskamand/nomand
20013ff01b23SMartin Matuska.It Sy context Ns =
20023ff01b23SMartin Matuskacontext=
20033ff01b23SMartin Matuska.It Sy fscontext Ns =
20043ff01b23SMartin Matuskafscontext=
20053ff01b23SMartin Matuska.It Sy defcontext Ns =
20063ff01b23SMartin Matuskadefcontext=
20073ff01b23SMartin Matuska.It Sy rootcontext Ns =
20083ff01b23SMartin Matuskarootcontext=
20093ff01b23SMartin Matuska.El
20103ff01b23SMartin Matuska.Pp
20113ff01b23SMartin MatuskaIn addition, these options can be set on a per-mount basis using the
20123ff01b23SMartin Matuska.Fl o
20133ff01b23SMartin Matuskaoption, without affecting the property that is stored on disk.
20143ff01b23SMartin MatuskaThe values specified on the command line override the values stored in the
20153ff01b23SMartin Matuskadataset.
20163ff01b23SMartin MatuskaThe
20173ff01b23SMartin Matuska.Sy nosuid
20183ff01b23SMartin Matuskaoption is an alias for
20193ff01b23SMartin Matuska.Sy nodevices , Ns Sy nosetuid .
20203ff01b23SMartin MatuskaThese properties are reported as
20213ff01b23SMartin Matuska.Qq temporary
20223ff01b23SMartin Matuskaby the
20233ff01b23SMartin Matuska.Nm zfs Cm get
20243ff01b23SMartin Matuskacommand.
20253ff01b23SMartin MatuskaIf the properties are changed while the dataset is mounted, the new setting
20263ff01b23SMartin Matuskaoverrides any temporary settings.
20273ff01b23SMartin Matuska.
20283ff01b23SMartin Matuska.Ss User Properties
20293ff01b23SMartin MatuskaIn addition to the standard native properties, ZFS supports arbitrary user
20303ff01b23SMartin Matuskaproperties.
20313ff01b23SMartin MatuskaUser properties have no effect on ZFS behavior, but applications or
20323ff01b23SMartin Matuskaadministrators can use them to annotate datasets
20333ff01b23SMartin Matuska.Pq file systems, volumes, and snapshots .
20343ff01b23SMartin Matuska.Pp
20353ff01b23SMartin MatuskaUser property names must contain a colon
20363ff01b23SMartin Matuska.Pq Qq Sy \&:
20373ff01b23SMartin Matuskacharacter to distinguish them from native properties.
20383ff01b23SMartin MatuskaThey may contain lowercase letters, numbers, and the following punctuation
20393ff01b23SMartin Matuskacharacters: colon
20403ff01b23SMartin Matuska.Pq Qq Sy \&: ,
20413ff01b23SMartin Matuskadash
20423ff01b23SMartin Matuska.Pq Qq Sy - ,
20433ff01b23SMartin Matuskaperiod
20443ff01b23SMartin Matuska.Pq Qq Sy \&. ,
20453ff01b23SMartin Matuskaand underscore
20463ff01b23SMartin Matuska.Pq Qq Sy _ .
20473ff01b23SMartin MatuskaThe expected convention is that the property name is divided into two portions
20483ff01b23SMartin Matuskasuch as
20493ff01b23SMartin Matuska.Ar module : Ns Ar property ,
20503ff01b23SMartin Matuskabut this namespace is not enforced by ZFS.
20513ff01b23SMartin MatuskaUser property names can be at most 256 characters, and cannot begin with a dash
20523ff01b23SMartin Matuska.Pq Qq Sy - .
20533ff01b23SMartin Matuska.Pp
20543ff01b23SMartin MatuskaWhen making programmatic use of user properties, it is strongly suggested to use
20553ff01b23SMartin Matuskaa reversed DNS domain name for the
20563ff01b23SMartin Matuska.Ar module
20573ff01b23SMartin Matuskacomponent of property names to reduce the chance that two
20583ff01b23SMartin Matuskaindependently-developed packages use the same property name for different
20593ff01b23SMartin Matuskapurposes.
20603ff01b23SMartin Matuska.Pp
20613ff01b23SMartin MatuskaThe values of user properties are arbitrary strings, are always inherited, and
20623ff01b23SMartin Matuskaare never validated.
20633ff01b23SMartin MatuskaAll of the commands that operate on properties
20643ff01b23SMartin Matuska.Po Nm zfs Cm list ,
20653ff01b23SMartin Matuska.Nm zfs Cm get ,
20663ff01b23SMartin Matuska.Nm zfs Cm set ,
20673ff01b23SMartin Matuskaand so forth
20683ff01b23SMartin Matuska.Pc
20693ff01b23SMartin Matuskacan be used to manipulate both native properties and user properties.
20703ff01b23SMartin MatuskaUse the
20713ff01b23SMartin Matuska.Nm zfs Cm inherit
20723ff01b23SMartin Matuskacommand to clear a user property.
20733ff01b23SMartin MatuskaIf the property is not defined in any parent dataset, it is removed entirely.
20743ff01b23SMartin MatuskaProperty values are limited to 8192 bytes.
2075