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 9271171e0SMartin Matuska.\" or https://opensource.org/licenses/CDDL-1.0. 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 39dbd5678dSMartin Matuska.\" Copyright (c) 2022 Hewlett Packard Enterprise Development LP. 403ff01b23SMartin Matuska.\" 41ce4dcb97SMartin Matuska.Dd June 29, 2024 423ff01b23SMartin Matuska.Dt ZFSPROPS 7 433ff01b23SMartin Matuska.Os 443ff01b23SMartin Matuska. 453ff01b23SMartin Matuska.Sh NAME 463ff01b23SMartin Matuska.Nm zfsprops 473ff01b23SMartin Matuska.Nd native and user-defined properties of ZFS datasets 483ff01b23SMartin Matuska. 493ff01b23SMartin Matuska.Sh DESCRIPTION 503ff01b23SMartin MatuskaProperties are divided into two types, native properties and user-defined 513ff01b23SMartin Matuska.Po or 523ff01b23SMartin Matuska.Qq user 533ff01b23SMartin Matuska.Pc 543ff01b23SMartin Matuskaproperties. 553ff01b23SMartin MatuskaNative properties either export internal statistics or control ZFS behavior. 563ff01b23SMartin MatuskaIn addition, native properties are either editable or read-only. 573ff01b23SMartin MatuskaUser properties have no effect on ZFS behavior, but you can use them to annotate 583ff01b23SMartin Matuskadatasets in a way that is meaningful in your environment. 593ff01b23SMartin MatuskaFor more information about user properties, see the 603ff01b23SMartin Matuska.Sx User Properties 613ff01b23SMartin Matuskasection, below. 623ff01b23SMartin Matuska. 633ff01b23SMartin Matuska.Ss Native Properties 643ff01b23SMartin MatuskaEvery dataset has a set of properties that export statistics about the dataset 653ff01b23SMartin Matuskaas well as control various behaviors. 663ff01b23SMartin MatuskaProperties are inherited from the parent unless overridden by the child. 673ff01b23SMartin MatuskaSome properties apply only to certain types of datasets 683ff01b23SMartin Matuska.Pq file systems, volumes, or snapshots . 693ff01b23SMartin Matuska.Pp 703ff01b23SMartin MatuskaThe values of numeric properties can be specified using human-readable suffixes 713ff01b23SMartin Matuska.Po for example, 723ff01b23SMartin Matuska.Sy k , 733ff01b23SMartin Matuska.Sy KB , 743ff01b23SMartin Matuska.Sy M , 753ff01b23SMartin Matuska.Sy Gb , 763ff01b23SMartin Matuskaand so forth, up to 773ff01b23SMartin Matuska.Sy Z 783ff01b23SMartin Matuskafor zettabyte 793ff01b23SMartin Matuska.Pc . 803ff01b23SMartin MatuskaThe following are all valid 813ff01b23SMartin Matuska.Pq and equal 823ff01b23SMartin Matuskaspecifications: 83d411c1d6SMartin Matuska.Li 1536M , 84d411c1d6SMartin Matuska.Li 1.5g , 85d411c1d6SMartin Matuska.Li 1.50GB . 863ff01b23SMartin Matuska.Pp 873ff01b23SMartin MatuskaThe values of non-numeric properties are case sensitive and must be lowercase, 883ff01b23SMartin Matuskaexcept for 893ff01b23SMartin Matuska.Sy mountpoint , 903ff01b23SMartin Matuska.Sy sharenfs , 913ff01b23SMartin Matuskaand 923ff01b23SMartin Matuska.Sy sharesmb . 933ff01b23SMartin Matuska.Pp 943ff01b23SMartin MatuskaThe following native properties consist of read-only statistics about the 953ff01b23SMartin Matuskadataset. 963ff01b23SMartin MatuskaThese properties can be neither set, nor inherited. 973ff01b23SMartin MatuskaNative properties apply to all dataset types unless otherwise noted. 983ff01b23SMartin Matuska.Bl -tag -width "usedbyrefreservation" 993ff01b23SMartin Matuska.It Sy available 1003ff01b23SMartin MatuskaThe amount of space available to the dataset and all its children, assuming that 1013ff01b23SMartin Matuskathere is no other activity in the pool. 1023ff01b23SMartin MatuskaBecause space is shared within a pool, availability can be limited by any number 1033ff01b23SMartin Matuskaof factors, including physical pool size, quotas, reservations, or other 1043ff01b23SMartin Matuskadatasets within the pool. 1053ff01b23SMartin Matuska.Pp 1063ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name, 1073ff01b23SMartin Matuska.Sy avail . 1083ff01b23SMartin Matuska.It Sy compressratio 1093ff01b23SMartin MatuskaFor non-snapshots, the compression ratio achieved for the 1103ff01b23SMartin Matuska.Sy used 1113ff01b23SMartin Matuskaspace of this dataset, expressed as a multiplier. 1123ff01b23SMartin MatuskaThe 1133ff01b23SMartin Matuska.Sy used 1143ff01b23SMartin Matuskaproperty includes descendant datasets, and, for clones, does not include the 1153ff01b23SMartin Matuskaspace shared with the origin snapshot. 1163ff01b23SMartin MatuskaFor snapshots, the 1173ff01b23SMartin Matuska.Sy compressratio 1183ff01b23SMartin Matuskais the same as the 1193ff01b23SMartin Matuska.Sy refcompressratio 1203ff01b23SMartin Matuskaproperty. 1213ff01b23SMartin MatuskaCompression can be turned on by running: 1223ff01b23SMartin Matuska.Nm zfs Cm set Sy compression Ns = Ns Sy on Ar dataset . 1233ff01b23SMartin MatuskaThe default value is 1243ff01b23SMartin Matuska.Sy off . 1253ff01b23SMartin Matuska.It Sy createtxg 1263ff01b23SMartin MatuskaThe transaction group (txg) in which the dataset was created. 1273ff01b23SMartin MatuskaBookmarks have the same 1283ff01b23SMartin Matuska.Sy createtxg 1293ff01b23SMartin Matuskaas the snapshot they are initially tied to. 1303ff01b23SMartin MatuskaThis property is suitable for ordering a list of snapshots, 1313ff01b23SMartin Matuskae.g. for incremental send and receive. 1323ff01b23SMartin Matuska.It Sy creation 1333ff01b23SMartin MatuskaThe time this dataset was created. 1343ff01b23SMartin Matuska.It Sy clones 1353ff01b23SMartin MatuskaFor snapshots, this property is a comma-separated list of filesystems or volumes 1363ff01b23SMartin Matuskawhich are clones of this snapshot. 1373ff01b23SMartin MatuskaThe clones' 1383ff01b23SMartin Matuska.Sy origin 1393ff01b23SMartin Matuskaproperty is this snapshot. 1403ff01b23SMartin MatuskaIf the 1413ff01b23SMartin Matuska.Sy clones 1423ff01b23SMartin Matuskaproperty is not empty, then this snapshot can not be destroyed 1433ff01b23SMartin Matuska.Po even with the 1443ff01b23SMartin Matuska.Fl r 1453ff01b23SMartin Matuskaor 1463ff01b23SMartin Matuska.Fl f 1473ff01b23SMartin Matuskaoptions 1483ff01b23SMartin Matuska.Pc . 1493ff01b23SMartin MatuskaThe roles of origin and clone can be swapped by promoting the clone with the 1503ff01b23SMartin Matuska.Nm zfs Cm promote 1513ff01b23SMartin Matuskacommand. 1523ff01b23SMartin Matuska.It Sy defer_destroy 1533ff01b23SMartin MatuskaThis property is 1543ff01b23SMartin Matuska.Sy on 1553ff01b23SMartin Matuskaif the snapshot has been marked for deferred destroy by using the 1563ff01b23SMartin Matuska.Nm zfs Cm destroy Fl d 1573ff01b23SMartin Matuskacommand. 1583ff01b23SMartin MatuskaOtherwise, the property is 1593ff01b23SMartin Matuska.Sy off . 1603ff01b23SMartin Matuska.It Sy encryptionroot 1613ff01b23SMartin MatuskaFor encrypted datasets, indicates where the dataset is currently inheriting its 1623ff01b23SMartin Matuskaencryption key from. 1633ff01b23SMartin MatuskaLoading or unloading a key for the 1643ff01b23SMartin Matuska.Sy encryptionroot 1653ff01b23SMartin Matuskawill implicitly load / unload the key for any inheriting datasets (see 1663ff01b23SMartin Matuska.Nm zfs Cm load-key 1673ff01b23SMartin Matuskaand 1683ff01b23SMartin Matuska.Nm zfs Cm unload-key 1693ff01b23SMartin Matuskafor details). 1703ff01b23SMartin MatuskaClones will always share an 1713ff01b23SMartin Matuskaencryption key with their origin. 1723ff01b23SMartin MatuskaSee the 1733ff01b23SMartin Matuska.Sx Encryption 1743ff01b23SMartin Matuskasection of 1753ff01b23SMartin Matuska.Xr zfs-load-key 8 1763ff01b23SMartin Matuskafor details. 1773ff01b23SMartin Matuska.It Sy filesystem_count 1783ff01b23SMartin MatuskaThe total number of filesystems and volumes that exist under this location in 1793ff01b23SMartin Matuskathe dataset tree. 1803ff01b23SMartin MatuskaThis value is only available when a 1813ff01b23SMartin Matuska.Sy filesystem_limit 1823ff01b23SMartin Matuskahas been set somewhere in the tree under which the dataset resides. 1833ff01b23SMartin Matuska.It Sy keystatus 1843ff01b23SMartin MatuskaIndicates if an encryption key is currently loaded into ZFS. 1853ff01b23SMartin MatuskaThe possible values are 1863ff01b23SMartin Matuska.Sy none , 1873ff01b23SMartin Matuska.Sy available , 1883ff01b23SMartin Matuskaand 1893ff01b23SMartin Matuska.Sy unavailable . 1903ff01b23SMartin MatuskaSee 1913ff01b23SMartin Matuska.Nm zfs Cm load-key 1923ff01b23SMartin Matuskaand 1933ff01b23SMartin Matuska.Nm zfs Cm unload-key . 1943ff01b23SMartin Matuska.It Sy guid 1953ff01b23SMartin MatuskaThe 64 bit GUID of this dataset or bookmark which does not change over its 1963ff01b23SMartin Matuskaentire lifetime. 197bb2d13b6SMartin MatuskaWhen a snapshot is sent to another pool, the received snapshot has the same 198bb2d13b6SMartin MatuskaGUID. 1993ff01b23SMartin MatuskaThus, the 2003ff01b23SMartin Matuska.Sy guid 2013ff01b23SMartin Matuskais suitable to identify a snapshot across pools. 2023ff01b23SMartin Matuska.It Sy logicalreferenced 2033ff01b23SMartin MatuskaThe amount of space that is 2043ff01b23SMartin Matuska.Qq logically 2053ff01b23SMartin Matuskaaccessible by this dataset. 2063ff01b23SMartin MatuskaSee the 2073ff01b23SMartin Matuska.Sy referenced 2083ff01b23SMartin Matuskaproperty. 2093ff01b23SMartin MatuskaThe logical space ignores the effect of the 2103ff01b23SMartin Matuska.Sy compression 2113ff01b23SMartin Matuskaand 2123ff01b23SMartin Matuska.Sy copies 2133ff01b23SMartin Matuskaproperties, giving a quantity closer to the amount of data that applications 2143ff01b23SMartin Matuskasee. 2153ff01b23SMartin MatuskaHowever, it does include space consumed by metadata. 2163ff01b23SMartin Matuska.Pp 2173ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name, 2183ff01b23SMartin Matuska.Sy lrefer . 2193ff01b23SMartin Matuska.It Sy logicalused 2203ff01b23SMartin MatuskaThe amount of space that is 2213ff01b23SMartin Matuska.Qq logically 2223ff01b23SMartin Matuskaconsumed by this dataset and all its descendents. 2233ff01b23SMartin MatuskaSee the 2243ff01b23SMartin Matuska.Sy used 2253ff01b23SMartin Matuskaproperty. 2263ff01b23SMartin MatuskaThe logical space ignores the effect of the 2273ff01b23SMartin Matuska.Sy compression 2283ff01b23SMartin Matuskaand 2293ff01b23SMartin Matuska.Sy copies 2303ff01b23SMartin Matuskaproperties, giving a quantity closer to the amount of data that applications 2313ff01b23SMartin Matuskasee. 2323ff01b23SMartin MatuskaHowever, it does include space consumed by metadata. 2333ff01b23SMartin Matuska.Pp 2343ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name, 2353ff01b23SMartin Matuska.Sy lused . 2363ff01b23SMartin Matuska.It Sy mounted 2373ff01b23SMartin MatuskaFor file systems, indicates whether the file system is currently mounted. 2383ff01b23SMartin MatuskaThis property can be either 2393ff01b23SMartin Matuska.Sy yes 2403ff01b23SMartin Matuskaor 2413ff01b23SMartin Matuska.Sy no . 2423ff01b23SMartin Matuska.It Sy objsetid 2433ff01b23SMartin MatuskaA unique identifier for this dataset within the pool. 2443ff01b23SMartin MatuskaUnlike the dataset's 2453ff01b23SMartin Matuska.Sy guid , No the Sy objsetid 2463ff01b23SMartin Matuskaof a dataset is not transferred to other pools when the snapshot is copied 2473ff01b23SMartin Matuskawith a send/receive operation. 2483ff01b23SMartin MatuskaThe 2493ff01b23SMartin Matuska.Sy objsetid 2503ff01b23SMartin Matuskacan be reused (for a new dataset) after the dataset is deleted. 2513ff01b23SMartin Matuska.It Sy origin 2523ff01b23SMartin MatuskaFor cloned file systems or volumes, the snapshot from which the clone was 2533ff01b23SMartin Matuskacreated. 2543ff01b23SMartin MatuskaSee also the 2553ff01b23SMartin Matuska.Sy clones 2563ff01b23SMartin Matuskaproperty. 2573ff01b23SMartin Matuska.It Sy receive_resume_token 2583ff01b23SMartin MatuskaFor filesystems or volumes which have saved partially-completed state from 2593ff01b23SMartin Matuska.Nm zfs Cm receive Fl s , 2603ff01b23SMartin Matuskathis opaque token can be provided to 2613ff01b23SMartin Matuska.Nm zfs Cm send Fl t 2623ff01b23SMartin Matuskato resume and complete the 2633ff01b23SMartin Matuska.Nm zfs Cm receive . 2643ff01b23SMartin Matuska.It Sy redact_snaps 265bb2d13b6SMartin MatuskaFor bookmarks, this is the list of snapshot guids the bookmark contains a 266bb2d13b6SMartin Matuskaredaction 2673ff01b23SMartin Matuskalist for. 2683ff01b23SMartin MatuskaFor snapshots, this is the list of snapshot guids the snapshot is redacted with 2693ff01b23SMartin Matuskarespect to. 2703ff01b23SMartin Matuska.It Sy referenced 2713ff01b23SMartin MatuskaThe amount of data that is accessible by this dataset, which may or may not be 2723ff01b23SMartin Matuskashared with other datasets in the pool. 2733ff01b23SMartin MatuskaWhen a snapshot or clone is created, it initially references the same amount of 2743ff01b23SMartin Matuskaspace as the file system or snapshot it was created from, since its contents are 2753ff01b23SMartin Matuskaidentical. 2763ff01b23SMartin Matuska.Pp 2773ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name, 2783ff01b23SMartin Matuska.Sy refer . 2793ff01b23SMartin Matuska.It Sy refcompressratio 2803ff01b23SMartin MatuskaThe compression ratio achieved for the 2813ff01b23SMartin Matuska.Sy referenced 2823ff01b23SMartin Matuskaspace of this dataset, expressed as a multiplier. 2833ff01b23SMartin MatuskaSee also the 2843ff01b23SMartin Matuska.Sy compressratio 2853ff01b23SMartin Matuskaproperty. 2863ff01b23SMartin Matuska.It Sy snapshot_count 2873ff01b23SMartin MatuskaThe total number of snapshots that exist under this location in the dataset 2883ff01b23SMartin Matuskatree. 2893ff01b23SMartin MatuskaThis value is only available when a 2903ff01b23SMartin Matuska.Sy snapshot_limit 2913ff01b23SMartin Matuskahas been set somewhere in the tree under which the dataset resides. 2923ff01b23SMartin Matuska.It Sy type 2933ff01b23SMartin MatuskaThe type of dataset: 2943ff01b23SMartin Matuska.Sy filesystem , 2953ff01b23SMartin Matuska.Sy volume , 2963ff01b23SMartin Matuska.Sy snapshot , 2973ff01b23SMartin Matuskaor 2983ff01b23SMartin Matuska.Sy bookmark . 2993ff01b23SMartin Matuska.It Sy used 3003ff01b23SMartin MatuskaThe amount of space consumed by this dataset and all its descendents. 3013ff01b23SMartin MatuskaThis is the value that is checked against this dataset's quota and reservation. 3023ff01b23SMartin MatuskaThe space used does not include this dataset's reservation, but does take into 3033ff01b23SMartin Matuskaaccount the reservations of any descendent datasets. 3043ff01b23SMartin MatuskaThe amount of space that a dataset consumes from its parent, as well as the 3053ff01b23SMartin Matuskaamount of space that is freed if this dataset is recursively destroyed, is the 3063ff01b23SMartin Matuskagreater of its space used and its reservation. 3073ff01b23SMartin Matuska.Pp 3083ff01b23SMartin MatuskaThe used space of a snapshot 3093ff01b23SMartin Matuska.Po see the 3103ff01b23SMartin Matuska.Sx Snapshots 3113ff01b23SMartin Matuskasection of 3123ff01b23SMartin Matuska.Xr zfsconcepts 7 3133ff01b23SMartin Matuska.Pc 3143ff01b23SMartin Matuskais space that is referenced exclusively by this snapshot. 3153ff01b23SMartin MatuskaIf this snapshot is destroyed, the amount of 3163ff01b23SMartin Matuska.Sy used 3173ff01b23SMartin Matuskaspace will be freed. 3183ff01b23SMartin MatuskaSpace that is shared by multiple snapshots isn't accounted for in this metric. 3193ff01b23SMartin MatuskaWhen a snapshot is destroyed, space that was previously shared with this 3203ff01b23SMartin Matuskasnapshot can become unique to snapshots adjacent to it, thus changing the used 3213ff01b23SMartin Matuskaspace of those snapshots. 3223ff01b23SMartin MatuskaThe used space of the latest snapshot can also be affected by changes in the 3233ff01b23SMartin Matuskafile system. 3243ff01b23SMartin MatuskaNote that the 3253ff01b23SMartin Matuska.Sy used 3263ff01b23SMartin Matuskaspace of a snapshot is a subset of the 3273ff01b23SMartin Matuska.Sy written 3283ff01b23SMartin Matuskaspace of the snapshot. 3293ff01b23SMartin Matuska.Pp 3303ff01b23SMartin MatuskaThe amount of space used, available, or referenced does not take into account 3313ff01b23SMartin Matuskapending changes. 3323ff01b23SMartin MatuskaPending changes are generally accounted for within a few seconds. 3333ff01b23SMartin MatuskaCommitting a change to a disk using 3343ff01b23SMartin Matuska.Xr fsync 2 3353ff01b23SMartin Matuskaor 3363ff01b23SMartin Matuska.Sy O_SYNC 3373ff01b23SMartin Matuskadoes not necessarily guarantee that the space usage information is updated 3383ff01b23SMartin Matuskaimmediately. 3393ff01b23SMartin Matuska.It Sy usedby* 3403ff01b23SMartin MatuskaThe 3413ff01b23SMartin Matuska.Sy usedby* 3423ff01b23SMartin Matuskaproperties decompose the 3433ff01b23SMartin Matuska.Sy used 3443ff01b23SMartin Matuskaproperties into the various reasons that space is used. 3453ff01b23SMartin MatuskaSpecifically, 3463ff01b23SMartin Matuska.Sy used No = 3473ff01b23SMartin Matuska.Sy usedbychildren No + 3483ff01b23SMartin Matuska.Sy usedbydataset No + 3493ff01b23SMartin Matuska.Sy usedbyrefreservation No + 3503ff01b23SMartin Matuska.Sy usedbysnapshots . 3513ff01b23SMartin MatuskaThese properties are only available for datasets created on 3523ff01b23SMartin Matuska.Nm zpool 3533ff01b23SMartin Matuska.Qo version 13 Qc 3543ff01b23SMartin Matuskapools. 3553ff01b23SMartin Matuska.It Sy usedbychildren 3563ff01b23SMartin MatuskaThe amount of space used by children of this dataset, which would be freed if 3573ff01b23SMartin Matuskaall the dataset's children were destroyed. 3583ff01b23SMartin Matuska.It Sy usedbydataset 3593ff01b23SMartin MatuskaThe amount of space used by this dataset itself, which would be freed if the 3603ff01b23SMartin Matuskadataset were destroyed 3613ff01b23SMartin Matuska.Po after first removing any 3623ff01b23SMartin Matuska.Sy refreservation 3633ff01b23SMartin Matuskaand destroying any necessary snapshots or descendents 3643ff01b23SMartin Matuska.Pc . 3653ff01b23SMartin Matuska.It Sy usedbyrefreservation 3663ff01b23SMartin MatuskaThe amount of space used by a 3673ff01b23SMartin Matuska.Sy refreservation 3683ff01b23SMartin Matuskaset on this dataset, which would be freed if the 3693ff01b23SMartin Matuska.Sy refreservation 3703ff01b23SMartin Matuskawas removed. 3713ff01b23SMartin Matuska.It Sy usedbysnapshots 3723ff01b23SMartin MatuskaThe amount of space consumed by snapshots of this dataset. 3733ff01b23SMartin MatuskaIn particular, it is the amount of space that would be freed if all of this 3743ff01b23SMartin Matuskadataset's snapshots were destroyed. 3753ff01b23SMartin MatuskaNote that this is not simply the sum of the snapshots' 3763ff01b23SMartin Matuska.Sy used 3773ff01b23SMartin Matuskaproperties because space can be shared by multiple snapshots. 3783ff01b23SMartin Matuska.It Sy userused Ns @ Ns Ar user 3793ff01b23SMartin MatuskaThe amount of space consumed by the specified user in this dataset. 3803ff01b23SMartin MatuskaSpace is charged to the owner of each file, as displayed by 3813ff01b23SMartin Matuska.Nm ls Fl l . 3823ff01b23SMartin MatuskaThe amount of space charged is displayed by 3833ff01b23SMartin Matuska.Nm du No and Nm ls Fl s . 3843ff01b23SMartin MatuskaSee the 3853ff01b23SMartin Matuska.Nm zfs Cm userspace 3863ff01b23SMartin Matuskacommand for more information. 3873ff01b23SMartin Matuska.Pp 3883ff01b23SMartin MatuskaUnprivileged users can access only their own space usage. 3893ff01b23SMartin MatuskaThe root user, or a user who has been granted the 3903ff01b23SMartin Matuska.Sy userused 3913ff01b23SMartin Matuskaprivilege with 3923ff01b23SMartin Matuska.Nm zfs Cm allow , 3933ff01b23SMartin Matuskacan access everyone's usage. 3943ff01b23SMartin Matuska.Pp 3953ff01b23SMartin MatuskaThe 396716fd348SMartin Matuska.Sy userused Ns @ Ns Ar … 3973ff01b23SMartin Matuskaproperties are not displayed by 3983ff01b23SMartin Matuska.Nm zfs Cm get Sy all . 3993ff01b23SMartin MatuskaThe user's name must be appended after the 4003ff01b23SMartin Matuska.Sy @ 4013ff01b23SMartin Matuskasymbol, using one of the following forms: 4023ff01b23SMartin Matuska.Bl -bullet -compact -offset 4n 4033ff01b23SMartin Matuska.It 4043ff01b23SMartin MatuskaPOSIX name 4053ff01b23SMartin Matuska.Pq Qq joe 4063ff01b23SMartin Matuska.It 4073ff01b23SMartin MatuskaPOSIX numeric ID 4083ff01b23SMartin Matuska.Pq Qq 789 4093ff01b23SMartin Matuska.It 4103ff01b23SMartin MatuskaSID name 4113ff01b23SMartin Matuska.Pq Qq joe.smith@mydomain 4123ff01b23SMartin Matuska.It 4133ff01b23SMartin MatuskaSID numeric ID 4143ff01b23SMartin Matuska.Pq Qq S-1-123-456-789 4153ff01b23SMartin Matuska.El 4163ff01b23SMartin Matuska.Pp 4173ff01b23SMartin MatuskaFiles created on Linux always have POSIX owners. 4183ff01b23SMartin Matuska.It Sy userobjused Ns @ Ns Ar user 4193ff01b23SMartin MatuskaThe 4203ff01b23SMartin Matuska.Sy userobjused 4213ff01b23SMartin Matuskaproperty is similar to 4223ff01b23SMartin Matuska.Sy userused 4233ff01b23SMartin Matuskabut instead it counts the number of objects consumed by a user. 4243ff01b23SMartin MatuskaThis property counts all objects allocated on behalf of the user, 4253ff01b23SMartin Matuskait may differ from the results of system tools such as 4263ff01b23SMartin Matuska.Nm df Fl i . 4273ff01b23SMartin Matuska.Pp 4283ff01b23SMartin MatuskaWhen the property 4293ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy on 4303ff01b23SMartin Matuskais set on a file system additional objects will be created per-file to store 4313ff01b23SMartin Matuskaextended attributes. 4323ff01b23SMartin MatuskaThese additional objects are reflected in the 4333ff01b23SMartin Matuska.Sy userobjused 4343ff01b23SMartin Matuskavalue and are counted against the user's 4353ff01b23SMartin Matuska.Sy userobjquota . 4363ff01b23SMartin MatuskaWhen a file system is configured to use 4373ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa 4383ff01b23SMartin Matuskano additional internal objects are normally required. 4393ff01b23SMartin Matuska.It Sy userrefs 4403ff01b23SMartin MatuskaThis property is set to the number of user holds on this snapshot. 4413ff01b23SMartin MatuskaUser holds are set by using the 4423ff01b23SMartin Matuska.Nm zfs Cm hold 4433ff01b23SMartin Matuskacommand. 4443ff01b23SMartin Matuska.It Sy groupused Ns @ Ns Ar group 4453ff01b23SMartin MatuskaThe amount of space consumed by the specified group in this dataset. 4463ff01b23SMartin MatuskaSpace is charged to the group of each file, as displayed by 4473ff01b23SMartin Matuska.Nm ls Fl l . 4483ff01b23SMartin MatuskaSee the 4493ff01b23SMartin Matuska.Sy userused Ns @ Ns Ar user 4503ff01b23SMartin Matuskaproperty for more information. 4513ff01b23SMartin Matuska.Pp 4523ff01b23SMartin MatuskaUnprivileged users can only access their own groups' space usage. 4533ff01b23SMartin MatuskaThe root user, or a user who has been granted the 4543ff01b23SMartin Matuska.Sy groupused 4553ff01b23SMartin Matuskaprivilege with 4563ff01b23SMartin Matuska.Nm zfs Cm allow , 4573ff01b23SMartin Matuskacan access all groups' usage. 4583ff01b23SMartin Matuska.It Sy groupobjused Ns @ Ns Ar group 4593ff01b23SMartin MatuskaThe number of objects consumed by the specified group in this dataset. 4603ff01b23SMartin MatuskaMultiple objects may be charged to the group for each file when extended 4613ff01b23SMartin Matuskaattributes are in use. 4623ff01b23SMartin MatuskaSee the 4633ff01b23SMartin Matuska.Sy userobjused Ns @ Ns Ar user 4643ff01b23SMartin Matuskaproperty for more information. 4653ff01b23SMartin Matuska.Pp 4663ff01b23SMartin MatuskaUnprivileged users can only access their own groups' space usage. 4673ff01b23SMartin MatuskaThe root user, or a user who has been granted the 4683ff01b23SMartin Matuska.Sy groupobjused 4693ff01b23SMartin Matuskaprivilege with 4703ff01b23SMartin Matuska.Nm zfs Cm allow , 4713ff01b23SMartin Matuskacan access all groups' usage. 4723ff01b23SMartin Matuska.It Sy projectused Ns @ Ns Ar project 4733ff01b23SMartin MatuskaThe amount of space consumed by the specified project in this dataset. 4743ff01b23SMartin MatuskaProject is identified via the project identifier (ID) that is object-based 4753ff01b23SMartin Matuskanumeral attribute. 4763ff01b23SMartin MatuskaAn object can inherit the project ID from its parent object (if the 4773ff01b23SMartin Matuskaparent has the flag of inherit project ID that can be set and changed via 4783ff01b23SMartin Matuska.Nm chattr Fl /+P 4793ff01b23SMartin Matuskaor 4803ff01b23SMartin Matuska.Nm zfs project Fl s ) 4813ff01b23SMartin Matuskawhen being created. 4823ff01b23SMartin MatuskaThe privileged user can set and change object's project 4833ff01b23SMartin MatuskaID via 4843ff01b23SMartin Matuska.Nm chattr Fl p 4853ff01b23SMartin Matuskaor 4863ff01b23SMartin Matuska.Nm zfs project Fl s 4873ff01b23SMartin Matuskaanytime. 4883ff01b23SMartin MatuskaSpace is charged to the project of each file, as displayed by 4893ff01b23SMartin Matuska.Nm lsattr Fl p 4903ff01b23SMartin Matuskaor 4913ff01b23SMartin Matuska.Nm zfs project . 4923ff01b23SMartin MatuskaSee the 4933ff01b23SMartin Matuska.Sy userused Ns @ Ns Ar user 4943ff01b23SMartin Matuskaproperty for more information. 4953ff01b23SMartin Matuska.Pp 4963ff01b23SMartin MatuskaThe root user, or a user who has been granted the 4973ff01b23SMartin Matuska.Sy projectused 4983ff01b23SMartin Matuskaprivilege with 4993ff01b23SMartin Matuska.Nm zfs allow , 5003ff01b23SMartin Matuskacan access all projects' usage. 5013ff01b23SMartin Matuska.It Sy projectobjused Ns @ Ns Ar project 5023ff01b23SMartin MatuskaThe 5033ff01b23SMartin Matuska.Sy projectobjused 5043ff01b23SMartin Matuskais similar to 5053ff01b23SMartin Matuska.Sy projectused 5063ff01b23SMartin Matuskabut instead it counts the number of objects consumed by project. 5073ff01b23SMartin MatuskaWhen the property 5083ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy on 5093ff01b23SMartin Matuskais set on a fileset, ZFS will create additional objects per-file to store 5103ff01b23SMartin Matuskaextended attributes. 5113ff01b23SMartin MatuskaThese additional objects are reflected in the 5123ff01b23SMartin Matuska.Sy projectobjused 5133ff01b23SMartin Matuskavalue and are counted against the project's 5143ff01b23SMartin Matuska.Sy projectobjquota . 5153ff01b23SMartin MatuskaWhen a filesystem is configured to use 5163ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa 5173ff01b23SMartin Matuskano additional internal objects are required. 5183ff01b23SMartin MatuskaSee the 5193ff01b23SMartin Matuska.Sy userobjused Ns @ Ns Ar user 5203ff01b23SMartin Matuskaproperty for more information. 5213ff01b23SMartin Matuska.Pp 5223ff01b23SMartin MatuskaThe root user, or a user who has been granted the 5233ff01b23SMartin Matuska.Sy projectobjused 5243ff01b23SMartin Matuskaprivilege with 5253ff01b23SMartin Matuska.Nm zfs allow , 5263ff01b23SMartin Matuskacan access all projects' objects usage. 527271171e0SMartin Matuska.It Sy snapshots_changed 528271171e0SMartin MatuskaProvides a mechanism to quickly determine whether snapshot list has 529271171e0SMartin Matuskachanged without having to mount a dataset or iterate the snapshot list. 530271171e0SMartin MatuskaSpecifies the time at which a snapshot for a dataset was last 531271171e0SMartin Matuskacreated or deleted. 532271171e0SMartin Matuska.Pp 533271171e0SMartin MatuskaThis allows us to be more efficient how often we query snapshots. 53408aba0aeSMartin MatuskaThe property is persistent across mount and unmount operations only if the 53508aba0aeSMartin Matuska.Sy extensible_dataset 53608aba0aeSMartin Matuskafeature is enabled. 5373ff01b23SMartin Matuska.It Sy volblocksize 5383ff01b23SMartin MatuskaFor volumes, specifies the block size of the volume. 5393ff01b23SMartin MatuskaThe 5403ff01b23SMartin Matuska.Sy blocksize 5413ff01b23SMartin Matuskacannot be changed once the volume has been written, so it should be set at 5423ff01b23SMartin Matuskavolume creation time. 5433ff01b23SMartin MatuskaThe default 5443ff01b23SMartin Matuska.Sy blocksize 5452faf504dSMartin Matuskafor volumes is 16 Kbytes. 5463ff01b23SMartin MatuskaAny power of 2 from 512 bytes to 128 Kbytes is valid. 5473ff01b23SMartin Matuska.Pp 5483ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name, 5493ff01b23SMartin Matuska.Sy volblock . 5503ff01b23SMartin Matuska.It Sy written 5513ff01b23SMartin MatuskaThe amount of space 5523ff01b23SMartin Matuska.Sy referenced 5533ff01b23SMartin Matuskaby this dataset, that was written since the previous snapshot 5543ff01b23SMartin Matuska.Pq i.e. that is not referenced by the previous snapshot . 5553ff01b23SMartin Matuska.It Sy written Ns @ Ns Ar snapshot 5563ff01b23SMartin MatuskaThe amount of 5573ff01b23SMartin Matuska.Sy referenced 5583ff01b23SMartin Matuskaspace written to this dataset since the specified snapshot. 5593ff01b23SMartin MatuskaThis is the space that is referenced by this dataset but was not referenced by 5603ff01b23SMartin Matuskathe specified snapshot. 5613ff01b23SMartin Matuska.Pp 5623ff01b23SMartin MatuskaThe 5633ff01b23SMartin Matuska.Ar snapshot 5643ff01b23SMartin Matuskamay be specified as a short snapshot name 5653ff01b23SMartin Matuska.Pq just the part after the Sy @ , 5663ff01b23SMartin Matuskain which case it will be interpreted as a snapshot in the same filesystem as 5673ff01b23SMartin Matuskathis dataset. 5683ff01b23SMartin MatuskaThe 5693ff01b23SMartin Matuska.Ar snapshot 5703ff01b23SMartin Matuskamay be a full snapshot name 5713ff01b23SMartin Matuska.Pq Ar filesystem Ns @ Ns Ar snapshot , 5723ff01b23SMartin Matuskawhich for clones may be a snapshot in the origin's filesystem 5733ff01b23SMartin Matuska.Pq or the origin of the origin's filesystem, etc. 5743ff01b23SMartin Matuska.El 5753ff01b23SMartin Matuska.Pp 5763ff01b23SMartin MatuskaThe following native properties can be used to change the behavior of a ZFS 5773ff01b23SMartin Matuskadataset. 5783ff01b23SMartin Matuska.Bl -tag -width "" 5793ff01b23SMartin Matuska.It Xo 5803ff01b23SMartin Matuska.Sy aclinherit Ns = Ns Sy discard Ns | Ns Sy noallow Ns | Ns 5813ff01b23SMartin Matuska.Sy restricted Ns | Ns Sy passthrough Ns | Ns Sy passthrough-x 5823ff01b23SMartin Matuska.Xc 5833ff01b23SMartin MatuskaControls how ACEs are inherited when files and directories are created. 5843ff01b23SMartin Matuska.Bl -tag -compact -offset 4n -width "passthrough-x" 5853ff01b23SMartin Matuska.It Sy discard 5863ff01b23SMartin Matuskadoes not inherit any ACEs. 5873ff01b23SMartin Matuska.It Sy noallow 5883ff01b23SMartin Matuskaonly inherits inheritable ACEs that specify 5893ff01b23SMartin Matuska.Qq deny 5903ff01b23SMartin Matuskapermissions. 5913ff01b23SMartin Matuska.It Sy restricted 5923ff01b23SMartin Matuskadefault, removes the 5933ff01b23SMartin Matuska.Sy write_acl 5943ff01b23SMartin Matuskaand 5953ff01b23SMartin Matuska.Sy write_owner 5963ff01b23SMartin Matuskapermissions when the ACE is inherited. 5973ff01b23SMartin Matuska.It Sy passthrough 5983ff01b23SMartin Matuskainherits all inheritable ACEs without any modifications. 5993ff01b23SMartin Matuska.It Sy passthrough-x 6003ff01b23SMartin Matuskasame meaning as 6013ff01b23SMartin Matuska.Sy passthrough , 6023ff01b23SMartin Matuskaexcept that the 6033ff01b23SMartin Matuska.Sy owner@ , group@ , No and Sy everyone@ 6043ff01b23SMartin MatuskaACEs inherit the execute permission only if the file creation mode also requests 6053ff01b23SMartin Matuskathe execute bit. 6063ff01b23SMartin Matuska.El 6073ff01b23SMartin Matuska.Pp 6083ff01b23SMartin MatuskaWhen the property value is set to 6093ff01b23SMartin Matuska.Sy passthrough , 6103ff01b23SMartin Matuskafiles are created with a mode determined by the inheritable ACEs. 6113ff01b23SMartin MatuskaIf no inheritable ACEs exist that affect the mode, then the mode is set in 6123ff01b23SMartin Matuskaaccordance to the requested mode from the application. 6133ff01b23SMartin Matuska.Pp 6143ff01b23SMartin MatuskaThe 6153ff01b23SMartin Matuska.Sy aclinherit 6163ff01b23SMartin Matuskaproperty does not apply to POSIX ACLs. 6173ff01b23SMartin Matuska.It Xo 6183ff01b23SMartin Matuska.Sy aclmode Ns = Ns Sy discard Ns | Ns Sy groupmask Ns | Ns 6193ff01b23SMartin Matuska.Sy passthrough Ns | Ns Sy restricted Ns 6203ff01b23SMartin Matuska.Xc 6213ff01b23SMartin MatuskaControls how an ACL is modified during chmod(2) and how inherited ACEs 6223ff01b23SMartin Matuskaare modified by the file creation mode: 6233ff01b23SMartin Matuska.Bl -tag -compact -offset 4n -width "passthrough" 6243ff01b23SMartin Matuska.It Sy discard 6253ff01b23SMartin Matuskadefault, deletes all 6263ff01b23SMartin Matuska.Sy ACEs 6273ff01b23SMartin Matuskaexcept for those representing 6283ff01b23SMartin Matuskathe mode of the file or directory requested by 6293ff01b23SMartin Matuska.Xr chmod 2 . 6303ff01b23SMartin Matuska.It Sy groupmask 6313ff01b23SMartin Matuskareduces permissions granted in all 6323ff01b23SMartin Matuska.Sy ALLOW 6333ff01b23SMartin Matuskaentries found in the 6343ff01b23SMartin Matuska.Sy ACL 6353ff01b23SMartin Matuskasuch that they are no greater than the group permissions specified by 6363ff01b23SMartin Matuska.Xr chmod 2 . 6373ff01b23SMartin Matuska.It Sy passthrough 6383ff01b23SMartin Matuskaindicates that no changes are made to the ACL other than creating or updating 6393ff01b23SMartin Matuskathe necessary ACL entries to represent the new mode of the file or directory. 6403ff01b23SMartin Matuska.It Sy restricted 6413ff01b23SMartin Matuskawill cause the 6423ff01b23SMartin Matuska.Xr chmod 2 6433ff01b23SMartin Matuskaoperation to return an error when used on any file or directory which has 6443ff01b23SMartin Matuskaa non-trivial ACL whose entries can not be represented by a mode. 6453ff01b23SMartin Matuska.Xr chmod 2 6463ff01b23SMartin Matuskais required to change the set user ID, set group ID, or sticky bits on a file 6473ff01b23SMartin Matuskaor directory, as they do not have equivalent ACL entries. 6483ff01b23SMartin MatuskaIn order to use 6493ff01b23SMartin Matuska.Xr chmod 2 6503ff01b23SMartin Matuskaon a file or directory with a non-trivial ACL when 6513ff01b23SMartin Matuska.Sy aclmode 6523ff01b23SMartin Matuskais set to 6533ff01b23SMartin Matuska.Sy restricted , 6543ff01b23SMartin Matuskayou must first remove all ACL entries which do not represent the current mode. 6553ff01b23SMartin Matuska.El 6563ff01b23SMartin Matuska.It Sy acltype Ns = Ns Sy off Ns | Ns Sy nfsv4 Ns | Ns Sy posix 6573ff01b23SMartin MatuskaControls whether ACLs are enabled and if so what type of ACL to use. 6583ff01b23SMartin MatuskaWhen this property is set to a type of ACL not supported by the current 6593ff01b23SMartin Matuskaplatform, the behavior is the same as if it were set to 6603ff01b23SMartin Matuska.Sy off . 6613ff01b23SMartin Matuska.Bl -tag -compact -offset 4n -width "posixacl" 6623ff01b23SMartin Matuska.It Sy off 6633ff01b23SMartin Matuskadefault on Linux, when a file system has the 6643ff01b23SMartin Matuska.Sy acltype 6653ff01b23SMartin Matuskaproperty set to off then ACLs are disabled. 6663ff01b23SMartin Matuska.It Sy noacl 6673ff01b23SMartin Matuskaan alias for 6683ff01b23SMartin Matuska.Sy off 6693ff01b23SMartin Matuska.It Sy nfsv4 6703ff01b23SMartin Matuskadefault on 6713ff01b23SMartin Matuska.Fx , 6723ff01b23SMartin Matuskaindicates that NFSv4-style ZFS ACLs should be used. 6733ff01b23SMartin MatuskaThese ACLs can be managed with the 6743ff01b23SMartin Matuska.Xr getfacl 1 6753ff01b23SMartin Matuskaand 6763ff01b23SMartin Matuska.Xr setfacl 1 . 6773ff01b23SMartin MatuskaThe 6783ff01b23SMartin Matuska.Sy nfsv4 6793ff01b23SMartin MatuskaZFS ACL type is not yet supported on Linux. 6803ff01b23SMartin Matuska.It Sy posix 6813ff01b23SMartin Matuskaindicates POSIX ACLs should be used. 6823ff01b23SMartin MatuskaPOSIX ACLs are specific to Linux and are not functional on other platforms. 6833ff01b23SMartin MatuskaPOSIX ACLs are stored as an extended 6843ff01b23SMartin Matuskaattribute and therefore will not overwrite any existing NFSv4 ACLs which 6853ff01b23SMartin Matuskamay be set. 6863ff01b23SMartin Matuska.It Sy posixacl 6873ff01b23SMartin Matuskaan alias for 6883ff01b23SMartin Matuska.Sy posix 6893ff01b23SMartin Matuska.El 6903ff01b23SMartin Matuska.Pp 6913ff01b23SMartin MatuskaTo obtain the best performance when setting 6923ff01b23SMartin Matuska.Sy posix 6933ff01b23SMartin Matuskausers are strongly encouraged to set the 6943ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa 6953ff01b23SMartin Matuskaproperty. 6963ff01b23SMartin MatuskaThis will result in the POSIX ACL being stored more efficiently on disk. 6973ff01b23SMartin MatuskaBut as a consequence, all new extended attributes will only be 6983ff01b23SMartin Matuskaaccessible from OpenZFS implementations which support the 6993ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa 7003ff01b23SMartin Matuskaproperty. 7013ff01b23SMartin MatuskaSee the 7023ff01b23SMartin Matuska.Sy xattr 7033ff01b23SMartin Matuskaproperty for more details. 7043ff01b23SMartin Matuska.It Sy atime Ns = Ns Sy on Ns | Ns Sy off 7053ff01b23SMartin MatuskaControls whether the access time for files is updated when they are read. 7063ff01b23SMartin MatuskaTurning this property off avoids producing write traffic when reading files and 7073ff01b23SMartin Matuskacan result in significant performance gains, though it might confuse mailers 7083ff01b23SMartin Matuskaand other similar utilities. 7093ff01b23SMartin MatuskaThe values 7103ff01b23SMartin Matuska.Sy on 7113ff01b23SMartin Matuskaand 7123ff01b23SMartin Matuska.Sy off 7133ff01b23SMartin Matuskaare equivalent to the 7143ff01b23SMartin Matuska.Sy atime 7153ff01b23SMartin Matuskaand 7163ff01b23SMartin Matuska.Sy noatime 7173ff01b23SMartin Matuskamount options. 7183ff01b23SMartin MatuskaThe default value is 7193ff01b23SMartin Matuska.Sy on . 7203ff01b23SMartin MatuskaSee also 7213ff01b23SMartin Matuska.Sy relatime 7223ff01b23SMartin Matuskabelow. 7233ff01b23SMartin Matuska.It Sy canmount Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy noauto 7243ff01b23SMartin MatuskaIf this property is set to 7253ff01b23SMartin Matuska.Sy off , 7263ff01b23SMartin Matuskathe file system cannot be mounted, and is ignored by 7273ff01b23SMartin Matuska.Nm zfs Cm mount Fl a . 7283ff01b23SMartin MatuskaSetting this property to 7293ff01b23SMartin Matuska.Sy off 7303ff01b23SMartin Matuskais similar to setting the 7313ff01b23SMartin Matuska.Sy mountpoint 7323ff01b23SMartin Matuskaproperty to 7333ff01b23SMartin Matuska.Sy none , 7343ff01b23SMartin Matuskaexcept that the dataset still has a normal 7353ff01b23SMartin Matuska.Sy mountpoint 7363ff01b23SMartin Matuskaproperty, which can be inherited. 7373ff01b23SMartin MatuskaSetting this property to 7383ff01b23SMartin Matuska.Sy off 7393ff01b23SMartin Matuskaallows datasets to be used solely as a mechanism to inherit properties. 7403ff01b23SMartin MatuskaOne example of setting 7413ff01b23SMartin Matuska.Sy canmount Ns = Ns Sy off 7423ff01b23SMartin Matuskais to have two datasets with the same 7433ff01b23SMartin Matuska.Sy mountpoint , 7443ff01b23SMartin Matuskaso that the children of both datasets appear in the same directory, but might 7453ff01b23SMartin Matuskahave different inherited characteristics. 7463ff01b23SMartin Matuska.Pp 7473ff01b23SMartin MatuskaWhen set to 7483ff01b23SMartin Matuska.Sy noauto , 7493ff01b23SMartin Matuskaa dataset can only be mounted and unmounted explicitly. 7503ff01b23SMartin MatuskaThe dataset is not mounted automatically when the dataset is created or 7513ff01b23SMartin Matuskaimported, nor is it mounted by the 7523ff01b23SMartin Matuska.Nm zfs Cm mount Fl a 7533ff01b23SMartin Matuskacommand or unmounted by the 7543ff01b23SMartin Matuska.Nm zfs Cm unmount Fl a 7553ff01b23SMartin Matuskacommand. 7563ff01b23SMartin Matuska.Pp 7573ff01b23SMartin MatuskaThis property is not inherited. 7583ff01b23SMartin Matuska.It Xo 7593ff01b23SMartin Matuska.Sy checksum Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy fletcher2 Ns | Ns 7603ff01b23SMartin Matuska.Sy fletcher4 Ns | Ns Sy sha256 Ns | Ns Sy noparity Ns | Ns 7611f1e2261SMartin Matuska.Sy sha512 Ns | Ns Sy skein Ns | Ns Sy edonr Ns | Ns Sy blake3 7623ff01b23SMartin Matuska.Xc 7633ff01b23SMartin MatuskaControls the checksum used to verify data integrity. 7643ff01b23SMartin MatuskaThe default value is 7653ff01b23SMartin Matuska.Sy on , 7663ff01b23SMartin Matuskawhich automatically selects an appropriate algorithm 7673ff01b23SMartin Matuska.Po currently, 7683ff01b23SMartin Matuska.Sy fletcher4 , 7693ff01b23SMartin Matuskabut this may change in future releases 7703ff01b23SMartin Matuska.Pc . 7713ff01b23SMartin MatuskaThe value 7723ff01b23SMartin Matuska.Sy off 7733ff01b23SMartin Matuskadisables integrity checking on user data. 7743ff01b23SMartin MatuskaThe value 7753ff01b23SMartin Matuska.Sy noparity 7763ff01b23SMartin Matuskanot only disables integrity but also disables maintaining parity for user data. 7773ff01b23SMartin MatuskaThis setting is used internally by a dump device residing on a RAID-Z pool and 7783ff01b23SMartin Matuskashould not be used by any other dataset. 7793ff01b23SMartin MatuskaDisabling checksums is 7803ff01b23SMartin Matuska.Em NOT 7813ff01b23SMartin Matuskaa recommended practice. 7823ff01b23SMartin Matuska.Pp 7833ff01b23SMartin MatuskaThe 7843ff01b23SMartin Matuska.Sy sha512 , 7853ff01b23SMartin Matuska.Sy skein , 7861f1e2261SMartin Matuska.Sy edonr , 7873ff01b23SMartin Matuskaand 7881f1e2261SMartin Matuska.Sy blake3 7893ff01b23SMartin Matuskachecksum algorithms require enabling the appropriate features on the pool. 7903ff01b23SMartin Matuska.Pp 7913ff01b23SMartin MatuskaPlease see 7923ff01b23SMartin Matuska.Xr zpool-features 7 7933ff01b23SMartin Matuskafor more information on these algorithms. 7943ff01b23SMartin Matuska.Pp 7953ff01b23SMartin MatuskaChanging this property affects only newly-written data. 7963ff01b23SMartin Matuska.It Xo 7973ff01b23SMartin Matuska.Sy compression Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy gzip Ns | Ns 7983ff01b23SMartin Matuska.Sy gzip- Ns Ar N Ns | Ns Sy lz4 Ns | Ns Sy lzjb Ns | Ns Sy zle Ns | Ns Sy zstd Ns | Ns 7993ff01b23SMartin Matuska.Sy zstd- Ns Ar N Ns | Ns Sy zstd-fast Ns | Ns Sy zstd-fast- Ns Ar N 8003ff01b23SMartin Matuska.Xc 8013ff01b23SMartin MatuskaControls the compression algorithm used for this dataset. 8023ff01b23SMartin Matuska.Pp 803c03c5b1cSMartin MatuskaWhen set to 8043ff01b23SMartin Matuska.Sy on 805bb2d13b6SMartin Matuska(the default), indicates that the current default compression algorithm should 806bb2d13b6SMartin Matuskabe used. 8073ff01b23SMartin MatuskaThe default balances compression and decompression speed, with compression ratio 8083ff01b23SMartin Matuskaand is expected to work well on a wide variety of workloads. 8093ff01b23SMartin MatuskaUnlike all other settings for this property, 8103ff01b23SMartin Matuska.Sy on 8113ff01b23SMartin Matuskadoes not select a fixed compression type. 8123ff01b23SMartin MatuskaAs new compression algorithms are added to ZFS and enabled on a pool, the 8133ff01b23SMartin Matuskadefault compression algorithm may change. 8143ff01b23SMartin MatuskaThe current default compression algorithm is either 8153ff01b23SMartin Matuska.Sy lzjb 8163ff01b23SMartin Matuskaor, if the 8173ff01b23SMartin Matuska.Sy lz4_compress 8183ff01b23SMartin Matuskafeature is enabled, 8193ff01b23SMartin Matuska.Sy lz4 . 8203ff01b23SMartin Matuska.Pp 8213ff01b23SMartin MatuskaThe 8223ff01b23SMartin Matuska.Sy lz4 8233ff01b23SMartin Matuskacompression algorithm is a high-performance replacement for the 8243ff01b23SMartin Matuska.Sy lzjb 8253ff01b23SMartin Matuskaalgorithm. 8263ff01b23SMartin MatuskaIt features significantly faster compression and decompression, as well as a 8273ff01b23SMartin Matuskamoderately higher compression ratio than 8283ff01b23SMartin Matuska.Sy lzjb , 8293ff01b23SMartin Matuskabut can only be used on pools with the 8303ff01b23SMartin Matuska.Sy lz4_compress 8313ff01b23SMartin Matuskafeature set to 8323ff01b23SMartin Matuska.Sy enabled . 8333ff01b23SMartin MatuskaSee 8343ff01b23SMartin Matuska.Xr zpool-features 7 8353ff01b23SMartin Matuskafor details on ZFS feature flags and the 8363ff01b23SMartin Matuska.Sy lz4_compress 8373ff01b23SMartin Matuskafeature. 8383ff01b23SMartin Matuska.Pp 8393ff01b23SMartin MatuskaThe 8403ff01b23SMartin Matuska.Sy lzjb 8413ff01b23SMartin Matuskacompression algorithm is optimized for performance while providing decent data 8423ff01b23SMartin Matuskacompression. 8433ff01b23SMartin Matuska.Pp 8443ff01b23SMartin MatuskaThe 8453ff01b23SMartin Matuska.Sy gzip 8463ff01b23SMartin Matuskacompression algorithm uses the same compression as the 8473ff01b23SMartin Matuska.Xr gzip 1 8483ff01b23SMartin Matuskacommand. 8493ff01b23SMartin MatuskaYou can specify the 8503ff01b23SMartin Matuska.Sy gzip 8513ff01b23SMartin Matuskalevel by using the value 8523ff01b23SMartin Matuska.Sy gzip- Ns Ar N , 8533ff01b23SMartin Matuskawhere 8543ff01b23SMartin Matuska.Ar N 8553ff01b23SMartin Matuskais an integer from 1 8563ff01b23SMartin Matuska.Pq fastest 8573ff01b23SMartin Matuskato 9 8583ff01b23SMartin Matuska.Pq best compression ratio . 8593ff01b23SMartin MatuskaCurrently, 8603ff01b23SMartin Matuska.Sy gzip 8613ff01b23SMartin Matuskais equivalent to 8623ff01b23SMartin Matuska.Sy gzip-6 8633ff01b23SMartin Matuska.Po which is also the default for 8643ff01b23SMartin Matuska.Xr gzip 1 8653ff01b23SMartin Matuska.Pc . 8663ff01b23SMartin Matuska.Pp 8673ff01b23SMartin MatuskaThe 8683ff01b23SMartin Matuska.Sy zstd 869bb2d13b6SMartin Matuskacompression algorithm provides both high compression ratios and good 870bb2d13b6SMartin Matuskaperformance. 8713ff01b23SMartin MatuskaYou can specify the 8723ff01b23SMartin Matuska.Sy zstd 8733ff01b23SMartin Matuskalevel by using the value 8743ff01b23SMartin Matuska.Sy zstd- Ns Ar N , 8753ff01b23SMartin Matuskawhere 8763ff01b23SMartin Matuska.Ar N 8773ff01b23SMartin Matuskais an integer from 1 8783ff01b23SMartin Matuska.Pq fastest 8793ff01b23SMartin Matuskato 19 8803ff01b23SMartin Matuska.Pq best compression ratio . 8813ff01b23SMartin Matuska.Sy zstd 8823ff01b23SMartin Matuskais equivalent to 8833ff01b23SMartin Matuska.Sy zstd-3 . 8843ff01b23SMartin Matuska.Pp 8853ff01b23SMartin MatuskaFaster speeds at the cost of the compression ratio can be requested by 8863ff01b23SMartin Matuskasetting a negative 8873ff01b23SMartin Matuska.Sy zstd 8883ff01b23SMartin Matuskalevel. 8893ff01b23SMartin MatuskaThis is done using 8903ff01b23SMartin Matuska.Sy zstd-fast- Ns Ar N , 8913ff01b23SMartin Matuskawhere 8923ff01b23SMartin Matuska.Ar N 893716fd348SMartin Matuskais an integer in 894716fd348SMartin Matuska.Bq Sy 1 Ns - Ns Sy 10 , 20 , 30 , No … , Sy 100 , 500 , 1000 895716fd348SMartin Matuskawhich maps to a negative 8963ff01b23SMartin Matuska.Sy zstd 8973ff01b23SMartin Matuskalevel. 898716fd348SMartin MatuskaThe lower the level the faster the compression \(em 899716fd348SMartin Matuska.Sy 1000 900716fd348SMartin Matuskaprovides the fastest compression and lowest compression ratio. 9013ff01b23SMartin Matuska.Sy zstd-fast 9023ff01b23SMartin Matuskais equivalent to 903716fd348SMartin Matuska.Sy zstd-fast- Ns Ar 1 . 9043ff01b23SMartin Matuska.Pp 9053ff01b23SMartin MatuskaThe 9063ff01b23SMartin Matuska.Sy zle 9073ff01b23SMartin Matuskacompression algorithm compresses runs of zeros. 9083ff01b23SMartin Matuska.Pp 9093ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name 9103ff01b23SMartin Matuska.Sy compress . 9113ff01b23SMartin MatuskaChanging this property affects only newly-written data. 9123ff01b23SMartin Matuska.Pp 9133ff01b23SMartin MatuskaWhen any setting except 9143ff01b23SMartin Matuska.Sy off 9153ff01b23SMartin Matuskais selected, compression will explicitly check for blocks consisting of only 9163ff01b23SMartin Matuskazeroes (the NUL byte). 9173ff01b23SMartin MatuskaWhen a zero-filled block is detected, it is stored as 9183ff01b23SMartin Matuskaa hole and not compressed using the indicated compression algorithm. 9193ff01b23SMartin Matuska.Pp 920*7a7741afSMartin MatuskaAll blocks are allocated as a whole number of sectors 921*7a7741afSMartin Matuska.Pq chunks of 2^ Ns Sy ashift No bytes , e.g . Sy 512B No or Sy 4KB . 922*7a7741afSMartin MatuskaCompression may result in a non-sector-aligned size, which will be rounded up 923*7a7741afSMartin Matuskato a whole number of sectors. 924*7a7741afSMartin MatuskaIf compression saves less than one whole sector, 925*7a7741afSMartin Matuskathe block will be stored uncompressed. 926*7a7741afSMartin MatuskaTherefore, blocks whose logical size is a small number of sectors will 927*7a7741afSMartin Matuskaexperience less compression 928*7a7741afSMartin Matuska(e.g. for 929*7a7741afSMartin Matuska.Sy recordsize Ns = Ns Sy 16K 930*7a7741afSMartin Matuskawith 931*7a7741afSMartin Matuska.Sy 4K 932*7a7741afSMartin Matuskasectors, which have 4 sectors per block, 933*7a7741afSMartin Matuskacompression needs to save at least 25% to actually save space on disk). 934*7a7741afSMartin Matuska.Pp 935*7a7741afSMartin MatuskaThere is 936*7a7741afSMartin Matuska.Sy 12.5% 937*7a7741afSMartin Matuskadefault compression threshold in addition to sector rounding. 9383ff01b23SMartin Matuska.It Xo 9393ff01b23SMartin Matuska.Sy context Ns = Ns Sy none Ns | Ns 940e92ffd9bSMartin Matuska.Ar SELinux-User : Ns Ar SELinux-Role : Ns Ar SELinux-Type : Ns Ar Sensitivity-Level 9413ff01b23SMartin Matuska.Xc 9423ff01b23SMartin MatuskaThis flag sets the SELinux context for all files in the file system under 9433ff01b23SMartin Matuskaa mount point for that file system. 9443ff01b23SMartin MatuskaSee 9453ff01b23SMartin Matuska.Xr selinux 8 9463ff01b23SMartin Matuskafor more information. 9473ff01b23SMartin Matuska.It Xo 9483ff01b23SMartin Matuska.Sy fscontext Ns = Ns Sy none Ns | Ns 949e92ffd9bSMartin Matuska.Ar SELinux-User : Ns Ar SELinux-Role : Ns Ar SELinux-Type : Ns Ar Sensitivity-Level 9503ff01b23SMartin Matuska.Xc 9513ff01b23SMartin MatuskaThis flag sets the SELinux context for the file system file system being 9523ff01b23SMartin Matuskamounted. 9533ff01b23SMartin MatuskaSee 9543ff01b23SMartin Matuska.Xr selinux 8 9553ff01b23SMartin Matuskafor more information. 9563ff01b23SMartin Matuska.It Xo 9573ff01b23SMartin Matuska.Sy defcontext Ns = Ns Sy none Ns | Ns 958e92ffd9bSMartin Matuska.Ar SELinux-User : Ns Ar SELinux-Role : Ns Ar SELinux-Type : Ns Ar Sensitivity-Level 9593ff01b23SMartin Matuska.Xc 9603ff01b23SMartin MatuskaThis flag sets the SELinux default context for unlabeled files. 9613ff01b23SMartin MatuskaSee 9623ff01b23SMartin Matuska.Xr selinux 8 9633ff01b23SMartin Matuskafor more information. 9643ff01b23SMartin Matuska.It Xo 9653ff01b23SMartin Matuska.Sy rootcontext Ns = Ns Sy none Ns | Ns 966e92ffd9bSMartin Matuska.Ar SELinux-User : Ns Ar SELinux-Role : Ns Ar SELinux-Type : Ns Ar Sensitivity-Level 9673ff01b23SMartin Matuska.Xc 9683ff01b23SMartin MatuskaThis flag sets the SELinux context for the root inode of the file system. 9693ff01b23SMartin MatuskaSee 9703ff01b23SMartin Matuska.Xr selinux 8 9713ff01b23SMartin Matuskafor more information. 9723ff01b23SMartin Matuska.It Sy copies Ns = Ns Sy 1 Ns | Ns Sy 2 Ns | Ns Sy 3 9733ff01b23SMartin MatuskaControls the number of copies of data stored for this dataset. 9743ff01b23SMartin MatuskaThese copies are in addition to any redundancy provided by the pool, for 9753ff01b23SMartin Matuskaexample, mirroring or RAID-Z. 9763ff01b23SMartin MatuskaThe copies are stored on different disks, if possible. 9773ff01b23SMartin MatuskaThe space used by multiple copies is charged to the associated file and dataset, 9783ff01b23SMartin Matuskachanging the 9793ff01b23SMartin Matuska.Sy used 9803ff01b23SMartin Matuskaproperty and counting against quotas and reservations. 9813ff01b23SMartin Matuska.Pp 9823ff01b23SMartin MatuskaChanging this property only affects newly-written data. 9833ff01b23SMartin MatuskaTherefore, set this property at file system creation time by using the 9843ff01b23SMartin Matuska.Fl o Sy copies Ns = Ns Ar N 9853ff01b23SMartin Matuskaoption. 9863ff01b23SMartin Matuska.Pp 9873ff01b23SMartin MatuskaRemember that ZFS will not import a pool with a missing top-level vdev. 9883ff01b23SMartin MatuskaDo 9893ff01b23SMartin Matuska.Em NOT 9903ff01b23SMartin Matuskacreate, for example a two-disk striped pool and set 9913ff01b23SMartin Matuska.Sy copies Ns = Ns Ar 2 9923ff01b23SMartin Matuskaon some datasets thinking you have setup redundancy for them. 9933ff01b23SMartin MatuskaWhen a disk fails you will not be able to import the pool 9943ff01b23SMartin Matuskaand will have lost all of your data. 9953ff01b23SMartin Matuska.Pp 9963ff01b23SMartin MatuskaEncrypted datasets may not have 9973ff01b23SMartin Matuska.Sy copies Ns = Ns Ar 3 9983ff01b23SMartin Matuskasince the implementation stores some encryption metadata where the third copy 9993ff01b23SMartin Matuskawould normally be. 10003ff01b23SMartin Matuska.It Sy devices Ns = Ns Sy on Ns | Ns Sy off 10013ff01b23SMartin MatuskaControls whether device nodes can be opened on this file system. 10023ff01b23SMartin MatuskaThe default value is 10033ff01b23SMartin Matuska.Sy on . 10043ff01b23SMartin MatuskaThe values 10053ff01b23SMartin Matuska.Sy on 10063ff01b23SMartin Matuskaand 10073ff01b23SMartin Matuska.Sy off 10083ff01b23SMartin Matuskaare equivalent to the 10093ff01b23SMartin Matuska.Sy dev 10103ff01b23SMartin Matuskaand 10113ff01b23SMartin Matuska.Sy nodev 10123ff01b23SMartin Matuskamount options. 10133ff01b23SMartin Matuska.It Xo 10143ff01b23SMartin Matuska.Sy dedup Ns = Ns Sy off Ns | Ns Sy on Ns | Ns Sy verify Ns | Ns 10153ff01b23SMartin 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 10161f1e2261SMartin Matuska.Sy edonr , Ns Sy verify Ns | Ns Sy blake3 Ns Oo , Ns Sy verify Oc Ns 10173ff01b23SMartin Matuska.Xc 10183ff01b23SMartin MatuskaConfigures deduplication for a dataset. 10193ff01b23SMartin MatuskaThe default value is 10203ff01b23SMartin Matuska.Sy off . 10213ff01b23SMartin MatuskaThe default deduplication checksum is 10223ff01b23SMartin Matuska.Sy sha256 10233ff01b23SMartin Matuska(this may change in the future). 10243ff01b23SMartin MatuskaWhen 10253ff01b23SMartin Matuska.Sy dedup 10263ff01b23SMartin Matuskais enabled, the checksum defined here overrides the 10273ff01b23SMartin Matuska.Sy checksum 10283ff01b23SMartin Matuskaproperty. 10293ff01b23SMartin MatuskaSetting the value to 10303ff01b23SMartin Matuska.Sy verify 10313ff01b23SMartin Matuskahas the same effect as the setting 10323ff01b23SMartin Matuska.Sy sha256 , Ns Sy verify . 10333ff01b23SMartin Matuska.Pp 10343ff01b23SMartin MatuskaIf set to 10353ff01b23SMartin Matuska.Sy verify , 10363ff01b23SMartin MatuskaZFS will do a byte-to-byte comparison in case of two blocks having the same 10373ff01b23SMartin Matuskasignature to make sure the block contents are identical. 10383ff01b23SMartin MatuskaSpecifying 10393ff01b23SMartin Matuska.Sy verify 10403ff01b23SMartin Matuskais mandatory for the 10413ff01b23SMartin Matuska.Sy edonr 10423ff01b23SMartin Matuskaalgorithm. 10433ff01b23SMartin Matuska.Pp 10443ff01b23SMartin MatuskaUnless necessary, deduplication should 10453ff01b23SMartin Matuska.Em not 10463ff01b23SMartin Matuskabe enabled on a system. 10473ff01b23SMartin MatuskaSee the 10483ff01b23SMartin Matuska.Sx Deduplication 10493ff01b23SMartin Matuskasection of 10503ff01b23SMartin Matuska.Xr zfsconcepts 7 . 10513ff01b23SMartin Matuska.It Xo 1052*7a7741afSMartin Matuska.Sy direct Ns = Ns Sy disabled Ns | Ns Sy standard Ns | Ns Sy always 1053*7a7741afSMartin Matuska.Xc 1054*7a7741afSMartin MatuskaControls the behavior of Direct I/O requests 1055*7a7741afSMartin Matuska.Pq e.g. Dv O_DIRECT . 1056*7a7741afSMartin MatuskaThe 1057*7a7741afSMartin Matuska.Sy standard 1058*7a7741afSMartin Matuskabehavior for Direct I/O requests is to bypass the ARC when possible. 1059*7a7741afSMartin MatuskaThese requests will not be cached and performance will be limited by the 1060*7a7741afSMartin Matuskaraw speed of the underlying disks 1061*7a7741afSMartin Matuska.Pq Dv this is the default . 1062*7a7741afSMartin Matuska.Sy always 1063*7a7741afSMartin Matuskacauses every properly aligned read or write to be treated as a direct request. 1064*7a7741afSMartin Matuska.Sy disabled 1065*7a7741afSMartin Matuskacauses the O_DIRECT flag to be silently ignored and all direct requests will 1066*7a7741afSMartin Matuskabe handled by the ARC. 1067*7a7741afSMartin MatuskaThis is the default behavior for OpenZFS 2.2 and prior releases. 1068*7a7741afSMartin Matuska.Pp 1069*7a7741afSMartin MatuskaBypassing the ARC requires that a direct request be correctly aligned. 1070*7a7741afSMartin MatuskaFor write requests the starting offset and size of the request must be 1071*7a7741afSMartin Matuska.Sy recordsize Ns 1072*7a7741afSMartin Matuska-aligned, if not then the unaligned portion of the request will be silently 1073*7a7741afSMartin Matuskaredirected through the ARC. 1074*7a7741afSMartin MatuskaFor read requests there is no 1075*7a7741afSMartin Matuska.Sy recordsize 1076*7a7741afSMartin Matuskaalignment restriction on either the starting offset or size. 1077*7a7741afSMartin MatuskaAll direct requests must use a page-aligned memory buffer and the request 1078*7a7741afSMartin Matuskasize must be a multiple of the page size or an error is returned. 1079*7a7741afSMartin Matuska.Pp 1080*7a7741afSMartin MatuskaConcurrently mixing buffered and direct requests to overlapping regions of 1081*7a7741afSMartin Matuskaa file can decrease performance. 1082*7a7741afSMartin MatuskaHowever, the resulting file will always be coherent. 1083*7a7741afSMartin MatuskaFor example, a direct read after a buffered write will return the data 1084*7a7741afSMartin Matuskafrom the buffered write. 1085*7a7741afSMartin MatuskaFurthermore, if an application uses 1086*7a7741afSMartin Matuska.Xr mmap 2 1087*7a7741afSMartin Matuskabased file access then in order to maintain coherency all direct requests 1088*7a7741afSMartin Matuskaare converted to buffered requests while the file is mapped. 1089*7a7741afSMartin MatuskaCurrently Direct I/O is not supported with zvols. 1090*7a7741afSMartin MatuskaIf dedup is enabled on a dataset, Direct I/O writes will not check for 1091*7a7741afSMartin Matuskadeduplication. 1092*7a7741afSMartin MatuskaDeduplication and Direct I/O writes are currently incompatible. 1093*7a7741afSMartin Matuska.It Xo 10943ff01b23SMartin Matuska.Sy dnodesize Ns = Ns Sy legacy Ns | Ns Sy auto Ns | Ns Sy 1k Ns | Ns 10953ff01b23SMartin Matuska.Sy 2k Ns | Ns Sy 4k Ns | Ns Sy 8k Ns | Ns Sy 16k 10963ff01b23SMartin Matuska.Xc 10973ff01b23SMartin MatuskaSpecifies a compatibility mode or literal value for the size of dnodes in the 10983ff01b23SMartin Matuskafile system. 10993ff01b23SMartin MatuskaThe default value is 11003ff01b23SMartin Matuska.Sy legacy . 11013ff01b23SMartin MatuskaSetting this property to a value other than 11023ff01b23SMartin Matuska.Sy legacy No requires the Sy large_dnode No pool feature to be enabled . 11033ff01b23SMartin Matuska.Pp 11043ff01b23SMartin MatuskaConsider setting 11053ff01b23SMartin Matuska.Sy dnodesize 11063ff01b23SMartin Matuskato 11073ff01b23SMartin Matuska.Sy auto 11083ff01b23SMartin Matuskaif the dataset uses the 11093ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa 11103ff01b23SMartin Matuskaproperty setting and the workload makes heavy use of extended attributes. 11113ff01b23SMartin MatuskaThis 11123ff01b23SMartin Matuskamay be applicable to SELinux-enabled systems, Lustre servers, and Samba 11133ff01b23SMartin Matuskaservers, for example. 11143ff01b23SMartin MatuskaLiteral values are supported for cases where the optimal 11153ff01b23SMartin Matuskasize is known in advance and for performance testing. 11163ff01b23SMartin Matuska.Pp 11173ff01b23SMartin MatuskaLeave 11183ff01b23SMartin Matuska.Sy dnodesize 11193ff01b23SMartin Matuskaset to 11203ff01b23SMartin Matuska.Sy legacy 11213ff01b23SMartin Matuskaif you need to receive a send stream of this dataset on a pool that doesn't 11223ff01b23SMartin Matuskaenable the 11233ff01b23SMartin Matuska.Sy large_dnode 11243ff01b23SMartin Matuskafeature, or if you need to import this pool on a system that doesn't support the 11253ff01b23SMartin Matuska.Sy large_dnode No feature . 11263ff01b23SMartin Matuska.Pp 11273ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name, 11283ff01b23SMartin Matuska.Sy dnsize . 11293ff01b23SMartin Matuska.It Xo 11303ff01b23SMartin Matuska.Sy encryption Ns = Ns Sy off Ns | Ns Sy on Ns | Ns Sy aes-128-ccm Ns | Ns 11313ff01b23SMartin Matuska.Sy aes-192-ccm Ns | Ns Sy aes-256-ccm Ns | Ns Sy aes-128-gcm Ns | Ns 11323ff01b23SMartin Matuska.Sy aes-192-gcm Ns | Ns Sy aes-256-gcm 11333ff01b23SMartin Matuska.Xc 11343ff01b23SMartin MatuskaControls the encryption cipher suite (block cipher, key length, and mode) used 11353ff01b23SMartin Matuskafor this dataset. 11363ff01b23SMartin MatuskaRequires the 11373ff01b23SMartin Matuska.Sy encryption 11383ff01b23SMartin Matuskafeature to be enabled on the pool. 11393ff01b23SMartin MatuskaRequires a 11403ff01b23SMartin Matuska.Sy keyformat 11413ff01b23SMartin Matuskato be set at dataset creation time. 11423ff01b23SMartin Matuska.Pp 11433ff01b23SMartin MatuskaSelecting 11443ff01b23SMartin Matuska.Sy encryption Ns = Ns Sy on 11453ff01b23SMartin Matuskawhen creating a dataset indicates that the default encryption suite will be 11463ff01b23SMartin Matuskaselected, which is currently 11473ff01b23SMartin Matuska.Sy aes-256-gcm . 11483ff01b23SMartin MatuskaIn order to provide consistent data protection, encryption must be specified at 11493ff01b23SMartin Matuskadataset creation time and it cannot be changed afterwards. 11503ff01b23SMartin Matuska.Pp 11513ff01b23SMartin MatuskaFor more details and caveats about encryption see the 11523ff01b23SMartin Matuska.Sx Encryption 11533ff01b23SMartin Matuskasection of 11543ff01b23SMartin Matuska.Xr zfs-load-key 8 . 11553ff01b23SMartin Matuska.It Sy keyformat Ns = Ns Sy raw Ns | Ns Sy hex Ns | Ns Sy passphrase 11563ff01b23SMartin MatuskaControls what format the user's encryption key will be provided as. 11573ff01b23SMartin MatuskaThis property is only set when the dataset is encrypted. 11583ff01b23SMartin Matuska.Pp 11593ff01b23SMartin MatuskaRaw keys and hex keys must be 32 bytes long (regardless of the chosen 11603ff01b23SMartin Matuskaencryption suite) and must be randomly generated. 11613ff01b23SMartin MatuskaA raw key can be generated with the following command: 11623ff01b23SMartin Matuska.Dl # Nm dd Sy if=/dev/urandom bs=32 count=1 Sy of= Ns Pa /path/to/output/key 11633ff01b23SMartin Matuska.Pp 11643ff01b23SMartin MatuskaPassphrases must be between 8 and 512 bytes long and will be processed through 11653ff01b23SMartin MatuskaPBKDF2 before being used (see the 11663ff01b23SMartin Matuska.Sy pbkdf2iters 11673ff01b23SMartin Matuskaproperty). 11683ff01b23SMartin MatuskaEven though the encryption suite cannot be changed after dataset creation, 11693ff01b23SMartin Matuskathe keyformat can be with 11703ff01b23SMartin Matuska.Nm zfs Cm change-key . 11713ff01b23SMartin Matuska.It Xo 11723ff01b23SMartin 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 11733ff01b23SMartin Matuska.Xc 11743ff01b23SMartin MatuskaControls where the user's encryption key will be loaded from by default for 11753ff01b23SMartin Matuskacommands such as 11763ff01b23SMartin Matuska.Nm zfs Cm load-key 11773ff01b23SMartin Matuskaand 11783ff01b23SMartin Matuska.Nm zfs Cm mount Fl l . 11793ff01b23SMartin MatuskaThis property is only set for encrypted datasets which are encryption roots. 11803ff01b23SMartin MatuskaIf unspecified, the default is 11813ff01b23SMartin Matuska.Sy prompt . 11823ff01b23SMartin Matuska.Pp 11833ff01b23SMartin MatuskaEven though the encryption suite cannot be changed after dataset creation, the 11843ff01b23SMartin Matuskakeylocation can be with either 11853ff01b23SMartin Matuska.Nm zfs Cm set 11863ff01b23SMartin Matuskaor 11873ff01b23SMartin Matuska.Nm zfs Cm change-key . 11883ff01b23SMartin MatuskaIf 11893ff01b23SMartin Matuska.Sy prompt 11903ff01b23SMartin Matuskais selected ZFS will ask for the key at the command prompt when it is required 11913ff01b23SMartin Matuskato access the encrypted data (see 11923ff01b23SMartin Matuska.Nm zfs Cm load-key 11933ff01b23SMartin Matuskafor details). 1194bb2d13b6SMartin MatuskaThis setting will also allow the key to be passed in via the standard input 1195bb2d13b6SMartin Matuskastream, 11963ff01b23SMartin Matuskabut users should be careful not to place keys which should be kept secret on 11973ff01b23SMartin Matuskathe command line. 11983ff01b23SMartin MatuskaIf a file URI is selected, the key will be loaded from the 11993ff01b23SMartin Matuskaspecified absolute file path. 12003ff01b23SMartin MatuskaIf an HTTPS or HTTP URL is selected, it will be GETted using 12013ff01b23SMartin Matuska.Xr fetch 3 , 1202bb2d13b6SMartin Matuskalibcurl, or nothing, depending on compile-time configuration and run-time 1203bb2d13b6SMartin Matuskaavailability. 12043ff01b23SMartin MatuskaThe 12053ff01b23SMartin Matuska.Sy SSL_CA_CERT_FILE 12063ff01b23SMartin Matuskaenvironment variable can be set to set the location 12073ff01b23SMartin Matuskaof the concatenated certificate store. 12083ff01b23SMartin MatuskaThe 12093ff01b23SMartin Matuska.Sy SSL_CA_CERT_PATH 12103ff01b23SMartin Matuskaenvironment variable can be set to override the location 12113ff01b23SMartin Matuskaof the directory containing the certificate authority bundle. 12123ff01b23SMartin MatuskaThe 12133ff01b23SMartin Matuska.Sy SSL_CLIENT_CERT_FILE 12143ff01b23SMartin Matuskaand 12153ff01b23SMartin Matuska.Sy SSL_CLIENT_KEY_FILE 12163ff01b23SMartin Matuskaenvironment variables can be set to configure the path 12173ff01b23SMartin Matuskato the client certificate and its key. 12183ff01b23SMartin Matuska.It Sy pbkdf2iters Ns = Ns Ar iterations 12193ff01b23SMartin MatuskaControls the number of PBKDF2 iterations that a 12203ff01b23SMartin Matuska.Sy passphrase 12213ff01b23SMartin Matuskaencryption key should be run through when processing it into an encryption key. 12223ff01b23SMartin MatuskaThis property is only defined when encryption is enabled and a keyformat of 12233ff01b23SMartin Matuska.Sy passphrase 12243ff01b23SMartin Matuskais selected. 12253ff01b23SMartin MatuskaThe goal of PBKDF2 is to significantly increase the 12263ff01b23SMartin Matuskacomputational difficulty needed to brute force a user's passphrase. 12273ff01b23SMartin MatuskaThis is accomplished by forcing the attacker to run each passphrase through a 12283ff01b23SMartin Matuskacomputationally expensive hashing function many times before they arrive at the 12293ff01b23SMartin Matuskaresulting key. 12303ff01b23SMartin MatuskaA user who actually knows the passphrase will only have to pay this cost once. 12313ff01b23SMartin MatuskaAs CPUs become better at processing, this number should be 12323ff01b23SMartin Matuskaraised to ensure that a brute force attack is still not possible. 12333ff01b23SMartin MatuskaThe current default is 12343ff01b23SMartin Matuska.Sy 350000 12353ff01b23SMartin Matuskaand the minimum is 12363ff01b23SMartin Matuska.Sy 100000 . 12373ff01b23SMartin MatuskaThis property may be changed with 12383ff01b23SMartin Matuska.Nm zfs Cm change-key . 12393ff01b23SMartin Matuska.It Sy exec Ns = Ns Sy on Ns | Ns Sy off 12403ff01b23SMartin MatuskaControls whether processes can be executed from within this file system. 12413ff01b23SMartin MatuskaThe default value is 12423ff01b23SMartin Matuska.Sy on . 12433ff01b23SMartin MatuskaThe values 12443ff01b23SMartin Matuska.Sy on 12453ff01b23SMartin Matuskaand 12463ff01b23SMartin Matuska.Sy off 12473ff01b23SMartin Matuskaare equivalent to the 12483ff01b23SMartin Matuska.Sy exec 12493ff01b23SMartin Matuskaand 12503ff01b23SMartin Matuska.Sy noexec 12513ff01b23SMartin Matuskamount options. 1252f8b1db88SMartin Matuska.It Sy volthreading Ns = Ns Sy on Ns | Ns Sy off 1253f8b1db88SMartin MatuskaControls internal zvol threading. 1254f8b1db88SMartin MatuskaThe value 1255f8b1db88SMartin Matuska.Sy off 1256f8b1db88SMartin Matuskadisables zvol threading, and zvol relies on application threads. 1257f8b1db88SMartin MatuskaThe default value is 1258f8b1db88SMartin Matuska.Sy on , 1259f8b1db88SMartin Matuskawhich enables threading within a zvol. 1260f8b1db88SMartin MatuskaPlease note that this property will be overridden by 1261f8b1db88SMartin Matuska.Sy zvol_request_sync 1262f8b1db88SMartin Matuskamodule parameter. 1263f8b1db88SMartin MatuskaThis property is only applicable to Linux. 12643ff01b23SMartin Matuska.It Sy filesystem_limit Ns = Ns Ar count Ns | Ns Sy none 12653ff01b23SMartin MatuskaLimits the number of filesystems and volumes that can exist under this point in 12663ff01b23SMartin Matuskathe dataset tree. 12673ff01b23SMartin MatuskaThe limit is not enforced if the user is allowed to change the limit. 12683ff01b23SMartin MatuskaSetting a 12693ff01b23SMartin Matuska.Sy filesystem_limit 12703ff01b23SMartin Matuskato 12713ff01b23SMartin Matuska.Sy on 12723ff01b23SMartin Matuskaa descendent of a filesystem that already has a 12733ff01b23SMartin Matuska.Sy filesystem_limit 12743ff01b23SMartin Matuskadoes not override the ancestor's 12753ff01b23SMartin Matuska.Sy filesystem_limit , 12763ff01b23SMartin Matuskabut rather imposes an additional limit. 12773ff01b23SMartin MatuskaThis feature must be enabled to be used 12783ff01b23SMartin Matuska.Po see 12793ff01b23SMartin Matuska.Xr zpool-features 7 12803ff01b23SMartin Matuska.Pc . 12813ff01b23SMartin Matuska.It Sy special_small_blocks Ns = Ns Ar size 12823ff01b23SMartin MatuskaThis value represents the threshold block size for including small file 12833ff01b23SMartin Matuskablocks into the special allocation class. 12843ff01b23SMartin MatuskaBlocks smaller than or equal to this 12853ff01b23SMartin Matuskavalue will be assigned to the special allocation class while greater blocks 12863ff01b23SMartin Matuskawill be assigned to the regular class. 1287716fd348SMartin MatuskaValid values are zero or a power of two from 512 up to 1048576 (1 MiB). 12883ff01b23SMartin MatuskaThe default size is 0 which means no small file blocks 12893ff01b23SMartin Matuskawill be allocated in the special class. 12903ff01b23SMartin Matuska.Pp 12913ff01b23SMartin MatuskaBefore setting this property, a special class vdev must be added to the 12923ff01b23SMartin Matuskapool. 12933ff01b23SMartin MatuskaSee 12943ff01b23SMartin Matuska.Xr zpoolconcepts 7 12953ff01b23SMartin Matuskafor more details on the special allocation class. 12963ff01b23SMartin Matuska.It Sy mountpoint Ns = Ns Pa path Ns | Ns Sy none Ns | Ns Sy legacy 12973ff01b23SMartin MatuskaControls the mount point used for this file system. 12983ff01b23SMartin MatuskaSee the 12993ff01b23SMartin Matuska.Sx Mount Points 13003ff01b23SMartin Matuskasection of 13013ff01b23SMartin Matuska.Xr zfsconcepts 7 13023ff01b23SMartin Matuskafor more information on how this property is used. 13033ff01b23SMartin Matuska.Pp 13043ff01b23SMartin MatuskaWhen the 13053ff01b23SMartin Matuska.Sy mountpoint 13063ff01b23SMartin Matuskaproperty is changed for a file system, the file system and any children that 13073ff01b23SMartin Matuskainherit the mount point are unmounted. 13083ff01b23SMartin MatuskaIf the new value is 13093ff01b23SMartin Matuska.Sy legacy , 13103ff01b23SMartin Matuskathen they remain unmounted. 13113ff01b23SMartin MatuskaOtherwise, they are automatically remounted in the new location if the property 13123ff01b23SMartin Matuskawas previously 13133ff01b23SMartin Matuska.Sy legacy 13143ff01b23SMartin Matuskaor 1315f7f4bd06SMartin Matuska.Sy none . 13163ff01b23SMartin MatuskaIn addition, any shared file systems are unshared and shared in the new 13173ff01b23SMartin Matuskalocation. 1318f7f4bd06SMartin Matuska.Pp 1319f7f4bd06SMartin MatuskaWhen the 1320f7f4bd06SMartin Matuska.Sy mountpoint 1321f7f4bd06SMartin Matuskaproperty is set with 1322f7f4bd06SMartin Matuska.Nm zfs Cm set Fl u 1323f7f4bd06SMartin Matuska, the 1324f7f4bd06SMartin Matuska.Sy mountpoint 1325f7f4bd06SMartin Matuskaproperty is updated but dataset is not mounted or unmounted and remains 1326f7f4bd06SMartin Matuskaas it was before. 13273ff01b23SMartin Matuska.It Sy nbmand Ns = Ns Sy on Ns | Ns Sy off 13283ff01b23SMartin MatuskaControls whether the file system should be mounted with 13293ff01b23SMartin Matuska.Sy nbmand 13303ff01b23SMartin Matuska.Pq Non-blocking mandatory locks . 13313ff01b23SMartin MatuskaChanges to this property only take effect when the file system is umounted and 13323ff01b23SMartin Matuskaremounted. 1333d411c1d6SMartin MatuskaThis was only supported by Linux prior to 5.15, and was buggy there, 1334d411c1d6SMartin Matuskaand is not supported by 1335d411c1d6SMartin Matuska.Fx . 1336d411c1d6SMartin MatuskaOn Solaris it's used for SMB clients. 13373ff01b23SMartin Matuska.It Sy overlay Ns = Ns Sy on Ns | Ns Sy off 13383ff01b23SMartin MatuskaAllow mounting on a busy directory or a directory which already contains 13393ff01b23SMartin Matuskafiles or directories. 13403ff01b23SMartin MatuskaThis is the default mount behavior for Linux and 13413ff01b23SMartin Matuska.Fx 13423ff01b23SMartin Matuskafile systems. 13433ff01b23SMartin MatuskaOn these platforms the property is 13443ff01b23SMartin Matuska.Sy on 13453ff01b23SMartin Matuskaby default. 13463ff01b23SMartin MatuskaSet to 13473ff01b23SMartin Matuska.Sy off 13483ff01b23SMartin Matuskato disable overlay mounts for consistency with OpenZFS on other platforms. 13493ff01b23SMartin Matuska.It Sy primarycache Ns = Ns Sy all Ns | Ns Sy none Ns | Ns Sy metadata 13503ff01b23SMartin MatuskaControls what is cached in the primary cache 13513ff01b23SMartin Matuska.Pq ARC . 13523ff01b23SMartin MatuskaIf this property is set to 13533ff01b23SMartin Matuska.Sy all , 13543ff01b23SMartin Matuskathen both user data and metadata is cached. 13553ff01b23SMartin MatuskaIf this property is set to 13563ff01b23SMartin Matuska.Sy none , 13573ff01b23SMartin Matuskathen neither user data nor metadata is cached. 13583ff01b23SMartin MatuskaIf this property is set to 13593ff01b23SMartin Matuska.Sy metadata , 13603ff01b23SMartin Matuskathen only metadata is cached. 13613ff01b23SMartin MatuskaThe default value is 13623ff01b23SMartin Matuska.Sy all . 13633ff01b23SMartin Matuska.It Sy quota Ns = Ns Ar size Ns | Ns Sy none 13643ff01b23SMartin MatuskaLimits the amount of space a dataset and its descendents can consume. 13653ff01b23SMartin MatuskaThis property enforces a hard limit on the amount of space used. 13663ff01b23SMartin MatuskaThis includes all space consumed by descendents, including file systems and 13673ff01b23SMartin Matuskasnapshots. 13683ff01b23SMartin MatuskaSetting a quota on a descendent of a dataset that already has a quota does not 13693ff01b23SMartin Matuskaoverride the ancestor's quota, but rather imposes an additional limit. 13703ff01b23SMartin Matuska.Pp 13713ff01b23SMartin MatuskaQuotas cannot be set on volumes, as the 13723ff01b23SMartin Matuska.Sy volsize 13733ff01b23SMartin Matuskaproperty acts as an implicit quota. 13743ff01b23SMartin Matuska.It Sy snapshot_limit Ns = Ns Ar count Ns | Ns Sy none 13753ff01b23SMartin MatuskaLimits the number of snapshots that can be created on a dataset and its 13763ff01b23SMartin Matuskadescendents. 13773ff01b23SMartin MatuskaSetting a 13783ff01b23SMartin Matuska.Sy snapshot_limit 13793ff01b23SMartin Matuskaon a descendent of a dataset that already has a 13803ff01b23SMartin Matuska.Sy snapshot_limit 13813ff01b23SMartin Matuskadoes not override the ancestor's 13823ff01b23SMartin Matuska.Sy snapshot_limit , 13833ff01b23SMartin Matuskabut rather imposes an additional limit. 13843ff01b23SMartin MatuskaThe limit is not enforced if the user is allowed to change the limit. 13853ff01b23SMartin MatuskaFor example, this means that recursive snapshots taken from the global zone are 13863ff01b23SMartin Matuskacounted against each delegated dataset within a zone. 13873ff01b23SMartin MatuskaThis feature must be enabled to be used 13883ff01b23SMartin Matuska.Po see 13893ff01b23SMartin Matuska.Xr zpool-features 7 13903ff01b23SMartin Matuska.Pc . 13913ff01b23SMartin Matuska.It Sy userquota@ Ns Ar user Ns = Ns Ar size Ns | Ns Sy none 13923ff01b23SMartin MatuskaLimits the amount of space consumed by the specified user. 13933ff01b23SMartin MatuskaUser space consumption is identified by the 13943ff01b23SMartin Matuska.Sy userspace@ Ns Ar user 13953ff01b23SMartin Matuskaproperty. 13963ff01b23SMartin Matuska.Pp 13973ff01b23SMartin MatuskaEnforcement of user quotas may be delayed by several seconds. 13983ff01b23SMartin MatuskaThis delay means that a user might exceed their quota before the system notices 13993ff01b23SMartin Matuskathat they are over quota and begins to refuse additional writes with the 14003ff01b23SMartin Matuska.Er EDQUOT 14013ff01b23SMartin Matuskaerror message. 14023ff01b23SMartin MatuskaSee the 14033ff01b23SMartin Matuska.Nm zfs Cm userspace 14043ff01b23SMartin Matuskacommand for more information. 14053ff01b23SMartin Matuska.Pp 14063ff01b23SMartin MatuskaUnprivileged users can only access their own groups' space usage. 14073ff01b23SMartin MatuskaThe root user, or a user who has been granted the 14083ff01b23SMartin Matuska.Sy userquota 14093ff01b23SMartin Matuskaprivilege with 14103ff01b23SMartin Matuska.Nm zfs Cm allow , 14113ff01b23SMartin Matuskacan get and set everyone's quota. 14123ff01b23SMartin Matuska.Pp 14133ff01b23SMartin MatuskaThis property is not available on volumes, on file systems before version 4, or 14143ff01b23SMartin Matuskaon pools before version 15. 14153ff01b23SMartin MatuskaThe 1416716fd348SMartin Matuska.Sy userquota@ Ns Ar … 14173ff01b23SMartin Matuskaproperties are not displayed by 14183ff01b23SMartin Matuska.Nm zfs Cm get Sy all . 14193ff01b23SMartin MatuskaThe user's name must be appended after the 14203ff01b23SMartin Matuska.Sy @ 14213ff01b23SMartin Matuskasymbol, using one of the following forms: 14223ff01b23SMartin Matuska.Bl -bullet -compact -offset 4n 14233ff01b23SMartin Matuska.It 14243ff01b23SMartin MatuskaPOSIX name 14253ff01b23SMartin Matuska.Pq Qq joe 14263ff01b23SMartin Matuska.It 14273ff01b23SMartin MatuskaPOSIX numeric ID 14283ff01b23SMartin Matuska.Pq Qq 789 14293ff01b23SMartin Matuska.It 14303ff01b23SMartin MatuskaSID name 14313ff01b23SMartin Matuska.Pq Qq joe.smith@mydomain 14323ff01b23SMartin Matuska.It 14333ff01b23SMartin MatuskaSID numeric ID 14343ff01b23SMartin Matuska.Pq Qq S-1-123-456-789 14353ff01b23SMartin Matuska.El 14363ff01b23SMartin Matuska.Pp 14373ff01b23SMartin MatuskaFiles created on Linux always have POSIX owners. 14383ff01b23SMartin Matuska.It Sy userobjquota@ Ns Ar user Ns = Ns Ar size Ns | Ns Sy none 14393ff01b23SMartin MatuskaThe 14403ff01b23SMartin Matuska.Sy userobjquota 14413ff01b23SMartin Matuskais similar to 14423ff01b23SMartin Matuska.Sy userquota 14433ff01b23SMartin Matuskabut it limits the number of objects a user can create. 14443ff01b23SMartin MatuskaPlease refer to 14453ff01b23SMartin Matuska.Sy userobjused 14463ff01b23SMartin Matuskafor more information about how objects are counted. 14473ff01b23SMartin Matuska.It Sy groupquota@ Ns Ar group Ns = Ns Ar size Ns | Ns Sy none 14483ff01b23SMartin MatuskaLimits the amount of space consumed by the specified group. 14493ff01b23SMartin MatuskaGroup space consumption is identified by the 14503ff01b23SMartin Matuska.Sy groupused@ Ns Ar group 14513ff01b23SMartin Matuskaproperty. 14523ff01b23SMartin Matuska.Pp 14533ff01b23SMartin MatuskaUnprivileged users can access only their own groups' space usage. 14543ff01b23SMartin MatuskaThe root user, or a user who has been granted the 14553ff01b23SMartin Matuska.Sy groupquota 14563ff01b23SMartin Matuskaprivilege with 14573ff01b23SMartin Matuska.Nm zfs Cm allow , 14583ff01b23SMartin Matuskacan get and set all groups' quotas. 14593ff01b23SMartin Matuska.It Sy groupobjquota@ Ns Ar group Ns = Ns Ar size Ns | Ns Sy none 14603ff01b23SMartin MatuskaThe 14613ff01b23SMartin Matuska.Sy groupobjquota 14623ff01b23SMartin Matuskais similar to 14633ff01b23SMartin Matuska.Sy groupquota 14643ff01b23SMartin Matuskabut it limits number of objects a group can consume. 14653ff01b23SMartin MatuskaPlease refer to 14663ff01b23SMartin Matuska.Sy userobjused 14673ff01b23SMartin Matuskafor more information about how objects are counted. 14683ff01b23SMartin Matuska.It Sy projectquota@ Ns Ar project Ns = Ns Ar size Ns | Ns Sy none 14693ff01b23SMartin MatuskaLimits the amount of space consumed by the specified project. 14703ff01b23SMartin MatuskaProject space consumption is identified by the 14713ff01b23SMartin Matuska.Sy projectused@ Ns Ar project 14723ff01b23SMartin Matuskaproperty. 14733ff01b23SMartin MatuskaPlease refer to 14743ff01b23SMartin Matuska.Sy projectused 14753ff01b23SMartin Matuskafor more information about how project is identified and set/changed. 14763ff01b23SMartin Matuska.Pp 14773ff01b23SMartin MatuskaThe root user, or a user who has been granted the 14783ff01b23SMartin Matuska.Sy projectquota 14793ff01b23SMartin Matuskaprivilege with 14803ff01b23SMartin Matuska.Nm zfs allow , 14813ff01b23SMartin Matuskacan access all projects' quota. 14823ff01b23SMartin Matuska.It Sy projectobjquota@ Ns Ar project Ns = Ns Ar size Ns | Ns Sy none 14833ff01b23SMartin MatuskaThe 14843ff01b23SMartin Matuska.Sy projectobjquota 14853ff01b23SMartin Matuskais similar to 14863ff01b23SMartin Matuska.Sy projectquota 14873ff01b23SMartin Matuskabut it limits number of objects a project can consume. 14883ff01b23SMartin MatuskaPlease refer to 14893ff01b23SMartin Matuska.Sy userobjused 14903ff01b23SMartin Matuskafor more information about how objects are counted. 14913ff01b23SMartin Matuska.It Sy readonly Ns = Ns Sy on Ns | Ns Sy off 14923ff01b23SMartin MatuskaControls whether this dataset can be modified. 14933ff01b23SMartin MatuskaThe default value is 14943ff01b23SMartin Matuska.Sy off . 14953ff01b23SMartin MatuskaThe values 14963ff01b23SMartin Matuska.Sy on 14973ff01b23SMartin Matuskaand 14983ff01b23SMartin Matuska.Sy off 14993ff01b23SMartin Matuskaare equivalent to the 15003ff01b23SMartin Matuska.Sy ro 15013ff01b23SMartin Matuskaand 15023ff01b23SMartin Matuska.Sy rw 15033ff01b23SMartin Matuskamount options. 15043ff01b23SMartin Matuska.Pp 15053ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name, 15063ff01b23SMartin Matuska.Sy rdonly . 15073ff01b23SMartin Matuska.It Sy recordsize Ns = Ns Ar size 15083ff01b23SMartin MatuskaSpecifies a suggested block size for files in the file system. 15093ff01b23SMartin MatuskaThis property is designed solely for use with database workloads that access 15103ff01b23SMartin Matuskafiles in fixed-size records. 15113ff01b23SMartin MatuskaZFS automatically tunes block sizes according to internal algorithms optimized 15123ff01b23SMartin Matuskafor typical access patterns. 15133ff01b23SMartin Matuska.Pp 15143ff01b23SMartin MatuskaFor databases that create very large files but access them in small random 15153ff01b23SMartin Matuskachunks, these algorithms may be suboptimal. 15163ff01b23SMartin MatuskaSpecifying a 15173ff01b23SMartin Matuska.Sy recordsize 15183ff01b23SMartin Matuskagreater than or equal to the record size of the database can result in 15193ff01b23SMartin Matuskasignificant performance gains. 15203ff01b23SMartin MatuskaUse of this property for general purpose file systems is strongly discouraged, 15213ff01b23SMartin Matuskaand may adversely affect performance. 15223ff01b23SMartin Matuska.Pp 15233ff01b23SMartin MatuskaThe size specified must be a power of two greater than or equal to 15243ff01b23SMartin Matuska.Ar 512 B 15253ff01b23SMartin Matuskaand less than or equal to 1526716fd348SMartin Matuska.Ar 128 KiB . 15273ff01b23SMartin MatuskaIf the 15283ff01b23SMartin Matuska.Sy large_blocks 15293ff01b23SMartin Matuskafeature is enabled on the pool, the size may be up to 1530*7a7741afSMartin Matuska.Ar 16 MiB . 15313ff01b23SMartin MatuskaSee 15323ff01b23SMartin Matuska.Xr zpool-features 7 15333ff01b23SMartin Matuskafor details on ZFS feature flags. 15343ff01b23SMartin Matuska.Pp 1535*7a7741afSMartin MatuskaHowever, blocks larger than 1536*7a7741afSMartin Matuska.Ar 1 MiB 1537*7a7741afSMartin Matuskacan have an impact on i/o latency (e.g. tying up a spinning disk for 1538*7a7741afSMartin Matuska~300ms), and also potentially on the memory allocator. 1539*7a7741afSMartin Matuska.Pp 1540*7a7741afSMartin MatuskaNote that maximum size is still limited by default to 1541*7a7741afSMartin Matuska.Ar 1 MiB 1542*7a7741afSMartin Matuskaon x86_32, see 1543*7a7741afSMartin Matuska.Sy zfs_max_recordsize 1544*7a7741afSMartin Matuskamodule parameter. 1545*7a7741afSMartin Matuska.Pp 15463ff01b23SMartin MatuskaChanging the file system's 15473ff01b23SMartin Matuska.Sy recordsize 15483ff01b23SMartin Matuskaaffects only files created afterward; existing files are unaffected. 15493ff01b23SMartin Matuska.Pp 15503ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name, 15513ff01b23SMartin Matuska.Sy recsize . 1552dbd5678dSMartin Matuska.It Sy redundant_metadata Ns = Ns Sy all Ns | Ns Sy most Ns | Ns Sy some Ns | Ns Sy none 15533ff01b23SMartin MatuskaControls what types of metadata are stored redundantly. 15543ff01b23SMartin MatuskaZFS stores an extra copy of metadata, so that if a single block is corrupted, 15553ff01b23SMartin Matuskathe amount of user data lost is limited. 15563ff01b23SMartin MatuskaThis extra copy is in addition to any redundancy provided at the pool level 15573ff01b23SMartin Matuska.Pq e.g. by mirroring or RAID-Z , 15583ff01b23SMartin Matuskaand is in addition to an extra copy specified by the 15593ff01b23SMartin Matuska.Sy copies 15603ff01b23SMartin Matuskaproperty 15613ff01b23SMartin Matuska.Pq up to a total of 3 copies . 15623ff01b23SMartin MatuskaFor example if the pool is mirrored, 15633ff01b23SMartin Matuska.Sy copies Ns = Ns 2 , 15643ff01b23SMartin Matuskaand 15653ff01b23SMartin Matuska.Sy redundant_metadata Ns = Ns Sy most , 15663ff01b23SMartin Matuskathen ZFS stores 6 copies of most metadata, and 4 copies of data and some 15673ff01b23SMartin Matuskametadata. 15683ff01b23SMartin Matuska.Pp 15693ff01b23SMartin MatuskaWhen set to 15703ff01b23SMartin Matuska.Sy all , 15713ff01b23SMartin MatuskaZFS stores an extra copy of all metadata. 15723ff01b23SMartin MatuskaIf a single on-disk block is corrupt, at worst a single block of user data 15733ff01b23SMartin Matuska.Po which is 15743ff01b23SMartin Matuska.Sy recordsize 15753ff01b23SMartin Matuskabytes long 15763ff01b23SMartin Matuska.Pc 15773ff01b23SMartin Matuskacan be lost. 15783ff01b23SMartin Matuska.Pp 15793ff01b23SMartin MatuskaWhen set to 15803ff01b23SMartin Matuska.Sy most , 15813ff01b23SMartin MatuskaZFS stores an extra copy of most types of metadata. 15823ff01b23SMartin MatuskaThis can improve performance of random writes, because less metadata must be 15833ff01b23SMartin Matuskawritten. 1584dbd5678dSMartin MatuskaIn practice, at worst about 1000 blocks 15853ff01b23SMartin Matuska.Po of 15863ff01b23SMartin Matuska.Sy recordsize 15873ff01b23SMartin Matuskabytes each 15883ff01b23SMartin Matuska.Pc 15893ff01b23SMartin Matuskaof user data can be lost if a single on-disk block is corrupt. 15903ff01b23SMartin MatuskaThe exact behavior of which metadata blocks are stored redundantly may change in 15913ff01b23SMartin Matuskafuture releases. 15923ff01b23SMartin Matuska.Pp 1593dbd5678dSMartin MatuskaWhen set to 1594dbd5678dSMartin Matuska.Sy some , 1595dbd5678dSMartin MatuskaZFS stores an extra copy of only critical metadata. 1596bb2d13b6SMartin MatuskaThis can improve file create performance since less metadata 1597bb2d13b6SMartin Matuskaneeds to be written. 1598dbd5678dSMartin MatuskaIf a single on-disk block is corrupt, at worst a single user file can be lost. 1599dbd5678dSMartin Matuska.Pp 1600dbd5678dSMartin MatuskaWhen set to 1601dbd5678dSMartin Matuska.Sy none , 1602dbd5678dSMartin MatuskaZFS does not store any copies of metadata redundantly. 1603dbd5678dSMartin MatuskaIf a single on-disk block is corrupt, an entire dataset can be lost. 1604dbd5678dSMartin Matuska.Pp 16053ff01b23SMartin MatuskaThe default value is 16063ff01b23SMartin Matuska.Sy all . 16073ff01b23SMartin Matuska.It Sy refquota Ns = Ns Ar size Ns | Ns Sy none 16083ff01b23SMartin MatuskaLimits the amount of space a dataset can consume. 16093ff01b23SMartin MatuskaThis property enforces a hard limit on the amount of space used. 16103ff01b23SMartin MatuskaThis hard limit does not include space used by descendents, including file 16113ff01b23SMartin Matuskasystems and snapshots. 16123ff01b23SMartin Matuska.It Sy refreservation Ns = Ns Ar size Ns | Ns Sy none Ns | Ns Sy auto 16133ff01b23SMartin MatuskaThe minimum amount of space guaranteed to a dataset, not including its 16143ff01b23SMartin Matuskadescendents. 16153ff01b23SMartin MatuskaWhen the amount of space used is below this value, the dataset is treated as if 16163ff01b23SMartin Matuskait were taking up the amount of space specified by 16173ff01b23SMartin Matuska.Sy refreservation . 16183ff01b23SMartin MatuskaThe 16193ff01b23SMartin Matuska.Sy refreservation 16203ff01b23SMartin Matuskareservation is accounted for in the parent datasets' space used, and counts 16213ff01b23SMartin Matuskaagainst the parent datasets' quotas and reservations. 16223ff01b23SMartin Matuska.Pp 16233ff01b23SMartin MatuskaIf 16243ff01b23SMartin Matuska.Sy refreservation 16253ff01b23SMartin Matuskais set, a snapshot is only allowed if there is enough free pool space outside of 16263ff01b23SMartin Matuskathis reservation to accommodate the current number of 16273ff01b23SMartin Matuska.Qq referenced 16283ff01b23SMartin Matuskabytes in the dataset. 16293ff01b23SMartin Matuska.Pp 16303ff01b23SMartin MatuskaIf 16313ff01b23SMartin Matuska.Sy refreservation 16323ff01b23SMartin Matuskais set to 16333ff01b23SMartin Matuska.Sy auto , 16343ff01b23SMartin Matuskaa volume is thick provisioned 16353ff01b23SMartin Matuska.Po or 16363ff01b23SMartin Matuska.Qq not sparse 16373ff01b23SMartin Matuska.Pc . 16383ff01b23SMartin Matuska.Sy refreservation Ns = Ns Sy auto 16393ff01b23SMartin Matuskais only supported on volumes. 16403ff01b23SMartin MatuskaSee 16413ff01b23SMartin Matuska.Sy volsize 16423ff01b23SMartin Matuskain the 16433ff01b23SMartin Matuska.Sx Native Properties 16443ff01b23SMartin Matuskasection for more information about sparse volumes. 16453ff01b23SMartin Matuska.Pp 16463ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name, 16473ff01b23SMartin Matuska.Sy refreserv . 16483ff01b23SMartin Matuska.It Sy relatime Ns = Ns Sy on Ns | Ns Sy off 16493ff01b23SMartin MatuskaControls the manner in which the access time is updated when 16503ff01b23SMartin Matuska.Sy atime Ns = Ns Sy on 16513ff01b23SMartin Matuskais set. 16523ff01b23SMartin MatuskaTurning this property on causes the access time to be updated relative 16533ff01b23SMartin Matuskato the modify or change time. 16543ff01b23SMartin MatuskaAccess time is only updated if the previous 16553ff01b23SMartin Matuskaaccess time was earlier than the current modify or change time or if the 16563ff01b23SMartin Matuskaexisting access time hasn't been updated within the past 24 hours. 16573ff01b23SMartin MatuskaThe default value is 165808aba0aeSMartin Matuska.Sy on . 16593ff01b23SMartin MatuskaThe values 16603ff01b23SMartin Matuska.Sy on 16613ff01b23SMartin Matuskaand 16623ff01b23SMartin Matuska.Sy off 16633ff01b23SMartin Matuskaare equivalent to the 16643ff01b23SMartin Matuska.Sy relatime 16653ff01b23SMartin Matuskaand 16663ff01b23SMartin Matuska.Sy norelatime 16673ff01b23SMartin Matuskamount options. 16683ff01b23SMartin Matuska.It Sy reservation Ns = Ns Ar size Ns | Ns Sy none 16693ff01b23SMartin MatuskaThe minimum amount of space guaranteed to a dataset and its descendants. 16703ff01b23SMartin MatuskaWhen the amount of space used is below this value, the dataset is treated as if 16713ff01b23SMartin Matuskait were taking up the amount of space specified by its reservation. 16723ff01b23SMartin MatuskaReservations are accounted for in the parent datasets' space used, and count 16733ff01b23SMartin Matuskaagainst the parent datasets' quotas and reservations. 16743ff01b23SMartin Matuska.Pp 16753ff01b23SMartin MatuskaThis property can also be referred to by its shortened column name, 16763ff01b23SMartin Matuska.Sy reserv . 16773ff01b23SMartin Matuska.It Sy secondarycache Ns = Ns Sy all Ns | Ns Sy none Ns | Ns Sy metadata 16783ff01b23SMartin MatuskaControls what is cached in the secondary cache 16793ff01b23SMartin Matuska.Pq L2ARC . 16803ff01b23SMartin MatuskaIf this property is set to 16813ff01b23SMartin Matuska.Sy all , 16823ff01b23SMartin Matuskathen both user data and metadata is cached. 16833ff01b23SMartin MatuskaIf this property is set to 16843ff01b23SMartin Matuska.Sy none , 16853ff01b23SMartin Matuskathen neither user data nor metadata is cached. 16863ff01b23SMartin MatuskaIf this property is set to 16873ff01b23SMartin Matuska.Sy metadata , 16883ff01b23SMartin Matuskathen only metadata is cached. 16893ff01b23SMartin MatuskaThe default value is 16903ff01b23SMartin Matuska.Sy all . 16916c1e79dfSMartin Matuska.It Sy prefetch Ns = Ns Sy all Ns | Ns Sy none Ns | Ns Sy metadata 16926c1e79dfSMartin MatuskaControls what speculative prefetch does. 16936c1e79dfSMartin MatuskaIf this property is set to 16946c1e79dfSMartin Matuska.Sy all , 16956c1e79dfSMartin Matuskathen both user data and metadata are prefetched. 16966c1e79dfSMartin MatuskaIf this property is set to 16976c1e79dfSMartin Matuska.Sy none , 16986c1e79dfSMartin Matuskathen neither user data nor metadata are prefetched. 16996c1e79dfSMartin MatuskaIf this property is set to 17006c1e79dfSMartin Matuska.Sy metadata , 17016c1e79dfSMartin Matuskathen only metadata are prefetched. 17026c1e79dfSMartin MatuskaThe default value is 17036c1e79dfSMartin Matuska.Sy all . 17046c1e79dfSMartin Matuska.Pp 170575e1fea6SMartin MatuskaPlease note that the module parameter zfs_prefetch_disable=1 can 17066c1e79dfSMartin Matuskabe used to totally disable speculative prefetch, bypassing anything 17076c1e79dfSMartin Matuskathis property does. 17083ff01b23SMartin Matuska.It Sy setuid Ns = Ns Sy on Ns | Ns Sy off 17093ff01b23SMartin MatuskaControls whether the setuid bit is respected for the file system. 17103ff01b23SMartin MatuskaThe default value is 17113ff01b23SMartin Matuska.Sy on . 17123ff01b23SMartin MatuskaThe values 17133ff01b23SMartin Matuska.Sy on 17143ff01b23SMartin Matuskaand 17153ff01b23SMartin Matuska.Sy off 17163ff01b23SMartin Matuskaare equivalent to the 17173ff01b23SMartin Matuska.Sy suid 17183ff01b23SMartin Matuskaand 17193ff01b23SMartin Matuska.Sy nosuid 17203ff01b23SMartin Matuskamount options. 17213ff01b23SMartin Matuska.It Sy sharesmb Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Ar opts 17223ff01b23SMartin MatuskaControls whether the file system is shared by using 17233ff01b23SMartin Matuska.Sy Samba USERSHARES 17243ff01b23SMartin Matuskaand what options are to be used. 17253ff01b23SMartin MatuskaOtherwise, the file system is automatically shared and unshared with the 17263ff01b23SMartin Matuska.Nm zfs Cm share 17273ff01b23SMartin Matuskaand 17283ff01b23SMartin Matuska.Nm zfs Cm unshare 17293ff01b23SMartin Matuskacommands. 17303ff01b23SMartin MatuskaIf the property is set to on, the 17313ff01b23SMartin Matuska.Xr net 8 17323ff01b23SMartin Matuskacommand is invoked to create a 17333ff01b23SMartin Matuska.Sy USERSHARE . 17343ff01b23SMartin Matuska.Pp 17353ff01b23SMartin MatuskaBecause SMB shares requires a resource name, a unique resource name is 17363ff01b23SMartin Matuskaconstructed from the dataset name. 17373ff01b23SMartin MatuskaThe constructed name is a copy of the 17383ff01b23SMartin Matuskadataset name except that the characters in the dataset name, which would be 17393ff01b23SMartin Matuskainvalid in the resource name, are replaced with underscore (_) characters. 17403ff01b23SMartin MatuskaLinux does not currently support additional options which might be available 17413ff01b23SMartin Matuskaon Solaris. 17423ff01b23SMartin Matuska.Pp 17433ff01b23SMartin MatuskaIf the 17443ff01b23SMartin Matuska.Sy sharesmb 17453ff01b23SMartin Matuskaproperty is set to 17463ff01b23SMartin Matuska.Sy off , 17473ff01b23SMartin Matuskathe file systems are unshared. 17483ff01b23SMartin Matuska.Pp 17493ff01b23SMartin MatuskaThe share is created with the ACL (Access Control List) "Everyone:F" ("F" 17503ff01b23SMartin Matuskastands for "full permissions", i.e. read and write permissions) and no guest 1751c03c5b1cSMartin Matuskaaccess (which means Samba must be able to authenticate a real user \(em 1752c03c5b1cSMartin Matuska.Xr passwd 5 Ns / Ns Xr shadow 5 Ns - , 1753c03c5b1cSMartin MatuskaLDAP- or 1754c03c5b1cSMartin Matuska.Xr smbpasswd 5 Ns -based ) 1755c03c5b1cSMartin Matuskaby default. 17563ff01b23SMartin MatuskaThis means that any additional access control 1757bb2d13b6SMartin Matuska(disallow specific user specific access etc) must be done on the underlying file 1758bb2d13b6SMartin Matuskasystem. 1759f7f4bd06SMartin Matuska.Pp 1760f7f4bd06SMartin MatuskaWhen the 1761f7f4bd06SMartin Matuska.Sy sharesmb 1762f7f4bd06SMartin Matuskaproperty is updated with 1763f7f4bd06SMartin Matuska.Nm zfs Cm set Fl u 1764f7f4bd06SMartin Matuska, the property is set to desired value, but the operation to share, reshare 1765f7f4bd06SMartin Matuskaor unshare the the dataset is not performed. 17663ff01b23SMartin Matuska.It Sy sharenfs Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Ar opts 17673ff01b23SMartin MatuskaControls whether the file system is shared via NFS, and what options are to be 17683ff01b23SMartin Matuskaused. 17693ff01b23SMartin MatuskaA file system with a 17703ff01b23SMartin Matuska.Sy sharenfs 17713ff01b23SMartin Matuskaproperty of 17723ff01b23SMartin Matuska.Sy off 17733ff01b23SMartin Matuskais managed with the 17743ff01b23SMartin Matuska.Xr exportfs 8 17753ff01b23SMartin Matuskacommand and entries in the 17763ff01b23SMartin Matuska.Pa /etc/exports 17773ff01b23SMartin Matuskafile. 17783ff01b23SMartin MatuskaOtherwise, the file system is automatically shared and unshared with the 17793ff01b23SMartin Matuska.Nm zfs Cm share 17803ff01b23SMartin Matuskaand 17813ff01b23SMartin Matuska.Nm zfs Cm unshare 17823ff01b23SMartin Matuskacommands. 17833ff01b23SMartin MatuskaIf the property is set to 17843ff01b23SMartin Matuska.Sy on , 17853ff01b23SMartin Matuskathe dataset is shared using the default options: 17863ff01b23SMartin Matuska.Dl sec=sys,rw,crossmnt,no_subtree_check 17873ff01b23SMartin Matuska.Pp 178881b22a98SMartin MatuskaPlease note that the options are comma-separated, unlike those found in 178981b22a98SMartin Matuska.Xr exports 5 . 179081b22a98SMartin MatuskaThis is done to negate the need for quoting, as well as to make parsing 179181b22a98SMartin Matuskawith scripts easier. 179281b22a98SMartin Matuska.Pp 1793ce4dcb97SMartin MatuskaFor 1794ce4dcb97SMartin Matuska.Fx , 1795ce4dcb97SMartin Matuskathere may be multiple sets of options separated by semicolon(s). 1796ce4dcb97SMartin MatuskaEach set of options must apply to different hosts or networks and each 1797ce4dcb97SMartin Matuskaset of options will create a separate line for 1798ce4dcb97SMartin Matuska.Xr exports 5 . 1799ce4dcb97SMartin MatuskaAny semicolon separated option set that consists entirely of whitespace 1800ce4dcb97SMartin Matuskawill be ignored. 1801ce4dcb97SMartin MatuskaThis use of semicolons is only for 1802ce4dcb97SMartin Matuska.Fx 1803ce4dcb97SMartin Matuskaat this time. 1804ce4dcb97SMartin Matuska.Pp 18053ff01b23SMartin MatuskaSee 18063ff01b23SMartin Matuska.Xr exports 5 18073ff01b23SMartin Matuskafor the meaning of the default options. 18083ff01b23SMartin MatuskaOtherwise, the 18093ff01b23SMartin Matuska.Xr exportfs 8 18103ff01b23SMartin Matuskacommand is invoked with options equivalent to the contents of this property. 18113ff01b23SMartin Matuska.Pp 18123ff01b23SMartin MatuskaWhen the 18133ff01b23SMartin Matuska.Sy sharenfs 18143ff01b23SMartin Matuskaproperty is changed for a dataset, the dataset and any children inheriting the 18153ff01b23SMartin Matuskaproperty are re-shared with the new options, only if the property was previously 18163ff01b23SMartin Matuska.Sy off , 18173ff01b23SMartin Matuskaor if they were shared before the property was changed. 18183ff01b23SMartin MatuskaIf the new property is 18193ff01b23SMartin Matuska.Sy off , 18203ff01b23SMartin Matuskathe file systems are unshared. 1821f7f4bd06SMartin Matuska.Pp 1822f7f4bd06SMartin MatuskaWhen the 1823f7f4bd06SMartin Matuska.Sy sharenfs 1824f7f4bd06SMartin Matuskaproperty is updated with 1825f7f4bd06SMartin Matuska.Nm zfs Cm set Fl u 1826f7f4bd06SMartin Matuska, the property is set to desired value, but the operation to share, reshare 1827f7f4bd06SMartin Matuskaor unshare the the dataset is not performed. 18283ff01b23SMartin Matuska.It Sy logbias Ns = Ns Sy latency Ns | Ns Sy throughput 18293ff01b23SMartin MatuskaProvide a hint to ZFS about handling of synchronous requests in this dataset. 18303ff01b23SMartin MatuskaIf 18313ff01b23SMartin Matuska.Sy logbias 18323ff01b23SMartin Matuskais set to 18333ff01b23SMartin Matuska.Sy latency 18343ff01b23SMartin Matuska.Pq the default , 18353ff01b23SMartin MatuskaZFS will use pool log devices 18363ff01b23SMartin Matuska.Pq if configured 18373ff01b23SMartin Matuskato handle the requests at low latency. 18383ff01b23SMartin MatuskaIf 18393ff01b23SMartin Matuska.Sy logbias 18403ff01b23SMartin Matuskais set to 18413ff01b23SMartin Matuska.Sy throughput , 18423ff01b23SMartin MatuskaZFS will not use configured pool log devices. 18433ff01b23SMartin MatuskaZFS will instead optimize synchronous operations for global pool throughput and 18443ff01b23SMartin Matuskaefficient use of resources. 18453ff01b23SMartin Matuska.It Sy snapdev Ns = Ns Sy hidden Ns | Ns Sy visible 18463ff01b23SMartin MatuskaControls whether the volume snapshot devices under 18473ff01b23SMartin Matuska.Pa /dev/zvol/ Ns Aq Ar pool 18483ff01b23SMartin Matuskaare hidden or visible. 18493ff01b23SMartin MatuskaThe default value is 18503ff01b23SMartin Matuska.Sy hidden . 1851*7a7741afSMartin Matuska.It Sy snapdir Ns = Ns Sy disabled Ns | Ns Sy hidden Ns | Ns Sy visible 18523ff01b23SMartin MatuskaControls whether the 18533ff01b23SMartin Matuska.Pa .zfs 1854*7a7741afSMartin Matuskadirectory is disabled, hidden or visible in the root of the file system as 1855*7a7741afSMartin Matuskadiscussed in the 18563ff01b23SMartin Matuska.Sx Snapshots 18573ff01b23SMartin Matuskasection of 18583ff01b23SMartin Matuska.Xr zfsconcepts 7 . 18593ff01b23SMartin MatuskaThe default value is 18603ff01b23SMartin Matuska.Sy hidden . 18613ff01b23SMartin Matuska.It Sy sync Ns = Ns Sy standard Ns | Ns Sy always Ns | Ns Sy disabled 18623ff01b23SMartin MatuskaControls the behavior of synchronous requests 18633ff01b23SMartin Matuska.Pq e.g. fsync, O_DSYNC . 18643ff01b23SMartin Matuska.Sy standard 18653ff01b23SMartin Matuskais the POSIX-specified behavior of ensuring all synchronous requests 18663ff01b23SMartin Matuskaare written to stable storage and all devices are flushed to ensure 18673ff01b23SMartin Matuskadata is not cached by device controllers 18683ff01b23SMartin Matuska.Pq this is the default . 18693ff01b23SMartin Matuska.Sy always 18703ff01b23SMartin Matuskacauses every file system transaction to be written and flushed before its 18713ff01b23SMartin Matuskasystem call returns. 18723ff01b23SMartin MatuskaThis has a large performance penalty. 18733ff01b23SMartin Matuska.Sy disabled 18743ff01b23SMartin Matuskadisables synchronous requests. 18753ff01b23SMartin MatuskaFile system transactions are only committed to stable storage periodically. 18763ff01b23SMartin MatuskaThis option will give the highest performance. 18773ff01b23SMartin MatuskaHowever, it is very dangerous as ZFS would be ignoring the synchronous 18783ff01b23SMartin Matuskatransaction demands of applications such as databases or NFS. 18793ff01b23SMartin MatuskaAdministrators should only use this option when the risks are understood. 18803ff01b23SMartin Matuska.It Sy version Ns = Ns Ar N Ns | Ns Sy current 18813ff01b23SMartin MatuskaThe on-disk version of this file system, which is independent of the pool 18823ff01b23SMartin Matuskaversion. 18833ff01b23SMartin MatuskaThis property can only be set to later supported versions. 18843ff01b23SMartin MatuskaSee the 18853ff01b23SMartin Matuska.Nm zfs Cm upgrade 18863ff01b23SMartin Matuskacommand. 18873ff01b23SMartin Matuska.It Sy volsize Ns = Ns Ar size 18883ff01b23SMartin MatuskaFor volumes, specifies the logical size of the volume. 18893ff01b23SMartin MatuskaBy default, creating a volume establishes a reservation of equal size. 18903ff01b23SMartin MatuskaFor storage pools with a version number of 9 or higher, a 18913ff01b23SMartin Matuska.Sy refreservation 18923ff01b23SMartin Matuskais set instead. 18933ff01b23SMartin MatuskaAny changes to 18943ff01b23SMartin Matuska.Sy volsize 18953ff01b23SMartin Matuskaare reflected in an equivalent change to the reservation 18963ff01b23SMartin Matuska.Pq or Sy refreservation . 18973ff01b23SMartin MatuskaThe 18983ff01b23SMartin Matuska.Sy volsize 18993ff01b23SMartin Matuskacan only be set to a multiple of 19003ff01b23SMartin Matuska.Sy volblocksize , 19013ff01b23SMartin Matuskaand cannot be zero. 19023ff01b23SMartin Matuska.Pp 19033ff01b23SMartin MatuskaThe reservation is kept equal to the volume's logical size to prevent unexpected 19043ff01b23SMartin Matuskabehavior for consumers. 19053ff01b23SMartin MatuskaWithout the reservation, the volume could run out of space, resulting in 19063ff01b23SMartin Matuskaundefined behavior or data corruption, depending on how the volume is used. 19073ff01b23SMartin MatuskaThese effects can also occur when the volume size is changed while it is in use 19083ff01b23SMartin Matuska.Pq particularly when shrinking the size . 19093ff01b23SMartin MatuskaExtreme care should be used when adjusting the volume size. 19103ff01b23SMartin Matuska.Pp 19113ff01b23SMartin MatuskaThough not recommended, a 19123ff01b23SMartin Matuska.Qq sparse volume 19133ff01b23SMartin Matuska.Po also known as 19143ff01b23SMartin Matuska.Qq thin provisioned 19153ff01b23SMartin Matuska.Pc 19163ff01b23SMartin Matuskacan be created by specifying the 19173ff01b23SMartin Matuska.Fl s 19183ff01b23SMartin Matuskaoption to the 19193ff01b23SMartin Matuska.Nm zfs Cm create Fl V 19203ff01b23SMartin Matuskacommand, or by changing the value of the 19213ff01b23SMartin Matuska.Sy refreservation 19223ff01b23SMartin Matuskaproperty 19233ff01b23SMartin Matuska.Po or 19243ff01b23SMartin Matuska.Sy reservation 19253ff01b23SMartin Matuskaproperty on pool version 8 or earlier 19263ff01b23SMartin Matuska.Pc 19273ff01b23SMartin Matuskaafter the volume has been created. 19283ff01b23SMartin MatuskaA 19293ff01b23SMartin Matuska.Qq sparse volume 19303ff01b23SMartin Matuskais a volume where the value of 19313ff01b23SMartin Matuska.Sy refreservation 19323ff01b23SMartin Matuskais less than the size of the volume plus the space required to store its 19333ff01b23SMartin Matuskametadata. 19343ff01b23SMartin MatuskaConsequently, writes to a sparse volume can fail with 19353ff01b23SMartin Matuska.Er ENOSPC 19363ff01b23SMartin Matuskawhen the pool is low on space. 19373ff01b23SMartin MatuskaFor a sparse volume, changes to 19383ff01b23SMartin Matuska.Sy volsize 19393ff01b23SMartin Matuskaare not reflected in the 19403ff01b23SMartin Matuska.Sy refreservation . 19413ff01b23SMartin MatuskaA volume that is not sparse is said to be 19423ff01b23SMartin Matuska.Qq thick provisioned . 19433ff01b23SMartin MatuskaA sparse volume can become thick provisioned by setting 19443ff01b23SMartin Matuska.Sy refreservation 19453ff01b23SMartin Matuskato 19463ff01b23SMartin Matuska.Sy auto . 19473ff01b23SMartin Matuska.It Sy volmode Ns = Ns Sy default Ns | Ns Sy full Ns | Ns Sy geom Ns | Ns Sy dev Ns | Ns Sy none 19483ff01b23SMartin MatuskaThis property specifies how volumes should be exposed to the OS. 19493ff01b23SMartin MatuskaSetting it to 19503ff01b23SMartin Matuska.Sy full 19513ff01b23SMartin Matuskaexposes volumes as fully fledged block devices, providing maximal 19523ff01b23SMartin Matuskafunctionality. 19533ff01b23SMartin MatuskaThe value 19543ff01b23SMartin Matuska.Sy geom 19553ff01b23SMartin Matuskais just an alias for 19563ff01b23SMartin Matuska.Sy full 19573ff01b23SMartin Matuskaand is kept for compatibility. 19583ff01b23SMartin MatuskaSetting it to 19593ff01b23SMartin Matuska.Sy dev 19603ff01b23SMartin Matuskahides its partitions. 19613ff01b23SMartin MatuskaVolumes with property set to 19623ff01b23SMartin Matuska.Sy none 19633ff01b23SMartin Matuskaare not exposed outside ZFS, but can be snapshotted, cloned, replicated, etc, 19643ff01b23SMartin Matuskathat can be suitable for backup purposes. 19653ff01b23SMartin MatuskaValue 19663ff01b23SMartin Matuska.Sy default 19673ff01b23SMartin Matuskameans that volumes exposition is controlled by system-wide tunable 19683ff01b23SMartin Matuska.Sy zvol_volmode , 19693ff01b23SMartin Matuskawhere 19703ff01b23SMartin Matuska.Sy full , 19713ff01b23SMartin Matuska.Sy dev 19723ff01b23SMartin Matuskaand 19733ff01b23SMartin Matuska.Sy none 19743ff01b23SMartin Matuskaare encoded as 1, 2 and 3 respectively. 19753ff01b23SMartin MatuskaThe default value is 19763ff01b23SMartin Matuska.Sy full . 19773ff01b23SMartin Matuska.It Sy vscan Ns = Ns Sy on Ns | Ns Sy off 19783ff01b23SMartin MatuskaControls whether regular files should be scanned for viruses when a file is 19793ff01b23SMartin Matuskaopened and closed. 19803ff01b23SMartin MatuskaIn addition to enabling this property, the virus scan service must also be 19813ff01b23SMartin Matuskaenabled for virus scanning to occur. 19823ff01b23SMartin MatuskaThe default value is 19833ff01b23SMartin Matuska.Sy off . 19843ff01b23SMartin MatuskaThis property is not used by OpenZFS. 1985*7a7741afSMartin Matuska.It Sy xattr Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy dir Ns | Ns Sy sa 19863ff01b23SMartin MatuskaControls whether extended attributes are enabled for this file system. 1987c03c5b1cSMartin MatuskaTwo styles of extended attributes are supported: either directory-based 1988c03c5b1cSMartin Matuskaor system-attribute-based. 19893ff01b23SMartin Matuska.Pp 1990*7a7741afSMartin MatuskaDirectory-based extended attributes can be enabled by setting the value to 1991*7a7741afSMartin Matuska.Sy dir . 19923ff01b23SMartin MatuskaThis style of extended attribute imposes no practical limit 19933ff01b23SMartin Matuskaon either the size or number of attributes which can be set on a file. 19943ff01b23SMartin MatuskaAlthough under Linux the 19953ff01b23SMartin Matuska.Xr getxattr 2 19963ff01b23SMartin Matuskaand 19973ff01b23SMartin Matuska.Xr setxattr 2 1998c03c5b1cSMartin Matuskasystem calls limit the maximum size to 1999c03c5b1cSMartin Matuska.Sy 64K . 20003ff01b23SMartin MatuskaThis is the most compatible 20013ff01b23SMartin Matuskastyle of extended attribute and is supported by all ZFS implementations. 20023ff01b23SMartin Matuska.Pp 2003c03c5b1cSMartin MatuskaSystem-attribute-based xattrs can be enabled by setting the value to 2004*7a7741afSMartin Matuska.Sy sa 2005*7a7741afSMartin Matuska(default and equal to 2006*7a7741afSMartin Matuska.Sy on 2007*7a7741afSMartin Matuska) . 20083ff01b23SMartin MatuskaThe key advantage of this type of xattr is improved performance. 20093ff01b23SMartin MatuskaStoring extended attributes as system attributes 2010c03c5b1cSMartin Matuskasignificantly decreases the amount of disk I/O required. 2011c03c5b1cSMartin MatuskaUp to 2012c03c5b1cSMartin Matuska.Sy 64K 2013c03c5b1cSMartin Matuskaof data may be stored per-file in the space reserved for system attributes. 20143ff01b23SMartin MatuskaIf there is not enough space available for an extended attribute 2015c03c5b1cSMartin Matuskathen it will be automatically written as a directory-based xattr. 2016c03c5b1cSMartin MatuskaSystem-attribute-based extended attributes are not accessible 20173ff01b23SMartin Matuskaon platforms which do not support the 20183ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa 20193ff01b23SMartin Matuskafeature. 20203ff01b23SMartin MatuskaOpenZFS supports 20213ff01b23SMartin Matuska.Sy xattr Ns = Ns Sy sa 20223ff01b23SMartin Matuskaon both 20233ff01b23SMartin Matuska.Fx 20243ff01b23SMartin Matuskaand Linux. 20253ff01b23SMartin Matuska.Pp 2026c03c5b1cSMartin MatuskaThe use of system-attribute-based xattrs is strongly encouraged for users of 20273ff01b23SMartin MatuskaSELinux or POSIX ACLs. 20283ff01b23SMartin MatuskaBoth of these features heavily rely on extended 20293ff01b23SMartin Matuskaattributes and benefit significantly from the reduced access time. 20303ff01b23SMartin Matuska.Pp 20313ff01b23SMartin MatuskaThe values 20323ff01b23SMartin Matuska.Sy on 20333ff01b23SMartin Matuskaand 20343ff01b23SMartin Matuska.Sy off 20353ff01b23SMartin Matuskaare equivalent to the 20363ff01b23SMartin Matuska.Sy xattr 20373ff01b23SMartin Matuskaand 20383ff01b23SMartin Matuska.Sy noxattr 20393ff01b23SMartin Matuskamount options. 20403ff01b23SMartin Matuska.It Sy jailed Ns = Ns Sy off Ns | Ns Sy on 20413ff01b23SMartin MatuskaControls whether the dataset is managed from a jail. 20423ff01b23SMartin MatuskaSee 20433ff01b23SMartin Matuska.Xr zfs-jail 8 20443ff01b23SMartin Matuskafor more information. 20453ff01b23SMartin MatuskaJails are a 20463ff01b23SMartin Matuska.Fx 20472ad756a6SMartin Matuskafeature and this property is not available on other platforms. 20482ad756a6SMartin Matuska.It Sy zoned Ns = Ns Sy off Ns | Ns Sy on 20491f1e2261SMartin MatuskaControls whether the dataset is managed from a non-global zone or namespace. 20502ad756a6SMartin MatuskaSee 20512ad756a6SMartin Matuska.Xr zfs-zone 8 20522ad756a6SMartin Matuskafor more information. 20532ad756a6SMartin MatuskaZoning is a 20542ad756a6SMartin MatuskaLinux 20552ad756a6SMartin Matuskafeature and this property is not available on other platforms. 20563ff01b23SMartin Matuska.El 20573ff01b23SMartin Matuska.Pp 20583ff01b23SMartin MatuskaThe following three properties cannot be changed after the file system is 20593ff01b23SMartin Matuskacreated, and therefore, should be set when the file system is created. 20603ff01b23SMartin MatuskaIf the properties are not set with the 20613ff01b23SMartin Matuska.Nm zfs Cm create 20623ff01b23SMartin Matuskaor 20633ff01b23SMartin Matuska.Nm zpool Cm create 20643ff01b23SMartin Matuskacommands, these properties are inherited from the parent dataset. 20653ff01b23SMartin MatuskaIf the parent dataset lacks these properties due to having been created prior to 20663ff01b23SMartin Matuskathese features being supported, the new file system will have the default values 20673ff01b23SMartin Matuskafor these properties. 20683ff01b23SMartin Matuska.Bl -tag -width "" 20693ff01b23SMartin Matuska.It Xo 20703ff01b23SMartin Matuska.Sy casesensitivity Ns = Ns Sy sensitive Ns | Ns 20713ff01b23SMartin Matuska.Sy insensitive Ns | Ns Sy mixed 20723ff01b23SMartin Matuska.Xc 20733ff01b23SMartin MatuskaIndicates whether the file name matching algorithm used by the file system 20743ff01b23SMartin Matuskashould be case-sensitive, case-insensitive, or allow a combination of both 20753ff01b23SMartin Matuskastyles of matching. 20763ff01b23SMartin MatuskaThe default value for the 20773ff01b23SMartin Matuska.Sy casesensitivity 20783ff01b23SMartin Matuskaproperty is 20793ff01b23SMartin Matuska.Sy sensitive . 20803ff01b23SMartin MatuskaTraditionally, 20813ff01b23SMartin Matuska.Ux 20823ff01b23SMartin Matuskaand POSIX file systems have case-sensitive file names. 20833ff01b23SMartin Matuska.Pp 20843ff01b23SMartin MatuskaThe 20853ff01b23SMartin Matuska.Sy mixed 20863ff01b23SMartin Matuskavalue for the 20873ff01b23SMartin Matuska.Sy casesensitivity 20883ff01b23SMartin Matuskaproperty indicates that the file system can support requests for both 20893ff01b23SMartin Matuskacase-sensitive and case-insensitive matching behavior. 20903ff01b23SMartin MatuskaCurrently, case-insensitive matching behavior on a file system that supports 20913ff01b23SMartin Matuskamixed behavior is limited to the SMB server product. 20923ff01b23SMartin MatuskaFor more information about the 20933ff01b23SMartin Matuska.Sy mixed 20943ff01b23SMartin Matuskavalue behavior, see the "ZFS Administration Guide". 20953ff01b23SMartin Matuska.It Xo 20963ff01b23SMartin Matuska.Sy normalization Ns = Ns Sy none Ns | Ns Sy formC Ns | Ns 20973ff01b23SMartin Matuska.Sy formD Ns | Ns Sy formKC Ns | Ns Sy formKD 20983ff01b23SMartin Matuska.Xc 20993ff01b23SMartin MatuskaIndicates whether the file system should perform a 21003ff01b23SMartin Matuska.Sy unicode 21013ff01b23SMartin Matuskanormalization of file names whenever two file names are compared, and which 21023ff01b23SMartin Matuskanormalization algorithm should be used. 21033ff01b23SMartin MatuskaFile names are always stored unmodified, names are normalized as part of any 21043ff01b23SMartin Matuskacomparison process. 21053ff01b23SMartin MatuskaIf this property is set to a legal value other than 21063ff01b23SMartin Matuska.Sy none , 21073ff01b23SMartin Matuskaand the 21083ff01b23SMartin Matuska.Sy utf8only 21093ff01b23SMartin Matuskaproperty was left unspecified, the 21103ff01b23SMartin Matuska.Sy utf8only 21113ff01b23SMartin Matuskaproperty is automatically set to 21123ff01b23SMartin Matuska.Sy on . 21133ff01b23SMartin MatuskaThe default value of the 21143ff01b23SMartin Matuska.Sy normalization 21153ff01b23SMartin Matuskaproperty is 21163ff01b23SMartin Matuska.Sy none . 21173ff01b23SMartin MatuskaThis property cannot be changed after the file system is created. 21183ff01b23SMartin Matuska.It Sy utf8only Ns = Ns Sy on Ns | Ns Sy off 21193ff01b23SMartin MatuskaIndicates whether the file system should reject file names that include 21203ff01b23SMartin Matuskacharacters that are not present in the 21213ff01b23SMartin Matuska.Sy UTF-8 21223ff01b23SMartin Matuskacharacter code set. 21233ff01b23SMartin MatuskaIf this property is explicitly set to 21243ff01b23SMartin Matuska.Sy off , 21253ff01b23SMartin Matuskathe normalization property must either not be explicitly set or be set to 21263ff01b23SMartin Matuska.Sy none . 21273ff01b23SMartin MatuskaThe default value for the 21283ff01b23SMartin Matuska.Sy utf8only 21293ff01b23SMartin Matuskaproperty is 21303ff01b23SMartin Matuska.Sy off . 21313ff01b23SMartin MatuskaThis property cannot be changed after the file system is created. 21323ff01b23SMartin Matuska.El 21333ff01b23SMartin Matuska.Pp 21343ff01b23SMartin MatuskaThe 21353ff01b23SMartin Matuska.Sy casesensitivity , 21363ff01b23SMartin Matuska.Sy normalization , 21373ff01b23SMartin Matuskaand 21383ff01b23SMartin Matuska.Sy utf8only 21393ff01b23SMartin Matuskaproperties are also new permissions that can be assigned to non-privileged users 21403ff01b23SMartin Matuskaby using the ZFS delegated administration feature. 21413ff01b23SMartin Matuska. 21423ff01b23SMartin Matuska.Ss Temporary Mount Point Properties 21433ff01b23SMartin MatuskaWhen a file system is mounted, either through 21443ff01b23SMartin Matuska.Xr mount 8 21453ff01b23SMartin Matuskafor legacy mounts or the 21463ff01b23SMartin Matuska.Nm zfs Cm mount 21473ff01b23SMartin Matuskacommand for normal file systems, its mount options are set according to its 21483ff01b23SMartin Matuskaproperties. 21493ff01b23SMartin MatuskaThe correlation between properties and mount options is as follows: 21503ff01b23SMartin Matuska.Bl -tag -compact -offset Ds -width "rootcontext=" 21513ff01b23SMartin Matuska.It Sy atime 21523ff01b23SMartin Matuskaatime/noatime 21533ff01b23SMartin Matuska.It Sy canmount 21543ff01b23SMartin Matuskaauto/noauto 21553ff01b23SMartin Matuska.It Sy devices 21563ff01b23SMartin Matuskadev/nodev 21573ff01b23SMartin Matuska.It Sy exec 21583ff01b23SMartin Matuskaexec/noexec 21593ff01b23SMartin Matuska.It Sy readonly 21603ff01b23SMartin Matuskaro/rw 21613ff01b23SMartin Matuska.It Sy relatime 21623ff01b23SMartin Matuskarelatime/norelatime 21633ff01b23SMartin Matuska.It Sy setuid 21643ff01b23SMartin Matuskasuid/nosuid 21653ff01b23SMartin Matuska.It Sy xattr 21663ff01b23SMartin Matuskaxattr/noxattr 21673ff01b23SMartin Matuska.It Sy nbmand 21683ff01b23SMartin Matuskamand/nomand 21693ff01b23SMartin Matuska.It Sy context Ns = 21703ff01b23SMartin Matuskacontext= 21713ff01b23SMartin Matuska.It Sy fscontext Ns = 21723ff01b23SMartin Matuskafscontext= 21733ff01b23SMartin Matuska.It Sy defcontext Ns = 21743ff01b23SMartin Matuskadefcontext= 21753ff01b23SMartin Matuska.It Sy rootcontext Ns = 21763ff01b23SMartin Matuskarootcontext= 21773ff01b23SMartin Matuska.El 21783ff01b23SMartin Matuska.Pp 21793ff01b23SMartin MatuskaIn addition, these options can be set on a per-mount basis using the 21803ff01b23SMartin Matuska.Fl o 21813ff01b23SMartin Matuskaoption, without affecting the property that is stored on disk. 21823ff01b23SMartin MatuskaThe values specified on the command line override the values stored in the 21833ff01b23SMartin Matuskadataset. 21843ff01b23SMartin MatuskaThe 21853ff01b23SMartin Matuska.Sy nosuid 21863ff01b23SMartin Matuskaoption is an alias for 21873ff01b23SMartin Matuska.Sy nodevices , Ns Sy nosetuid . 21883ff01b23SMartin MatuskaThese properties are reported as 21893ff01b23SMartin Matuska.Qq temporary 21903ff01b23SMartin Matuskaby the 21913ff01b23SMartin Matuska.Nm zfs Cm get 21923ff01b23SMartin Matuskacommand. 21933ff01b23SMartin MatuskaIf the properties are changed while the dataset is mounted, the new setting 21943ff01b23SMartin Matuskaoverrides any temporary settings. 21953ff01b23SMartin Matuska. 21963ff01b23SMartin Matuska.Ss User Properties 21973ff01b23SMartin MatuskaIn addition to the standard native properties, ZFS supports arbitrary user 21983ff01b23SMartin Matuskaproperties. 21993ff01b23SMartin MatuskaUser properties have no effect on ZFS behavior, but applications or 22003ff01b23SMartin Matuskaadministrators can use them to annotate datasets 22013ff01b23SMartin Matuska.Pq file systems, volumes, and snapshots . 22023ff01b23SMartin Matuska.Pp 22033ff01b23SMartin MatuskaUser property names must contain a colon 22043ff01b23SMartin Matuska.Pq Qq Sy \&: 22053ff01b23SMartin Matuskacharacter to distinguish them from native properties. 22063ff01b23SMartin MatuskaThey may contain lowercase letters, numbers, and the following punctuation 22073ff01b23SMartin Matuskacharacters: colon 22083ff01b23SMartin Matuska.Pq Qq Sy \&: , 22093ff01b23SMartin Matuskadash 22103ff01b23SMartin Matuska.Pq Qq Sy - , 22113ff01b23SMartin Matuskaperiod 22123ff01b23SMartin Matuska.Pq Qq Sy \&. , 22133ff01b23SMartin Matuskaand underscore 22143ff01b23SMartin Matuska.Pq Qq Sy _ . 22153ff01b23SMartin MatuskaThe expected convention is that the property name is divided into two portions 22163ff01b23SMartin Matuskasuch as 22173ff01b23SMartin Matuska.Ar module : Ns Ar property , 22183ff01b23SMartin Matuskabut this namespace is not enforced by ZFS. 22193ff01b23SMartin MatuskaUser property names can be at most 256 characters, and cannot begin with a dash 22203ff01b23SMartin Matuska.Pq Qq Sy - . 22213ff01b23SMartin Matuska.Pp 22223ff01b23SMartin MatuskaWhen making programmatic use of user properties, it is strongly suggested to use 22233ff01b23SMartin Matuskaa reversed DNS domain name for the 22243ff01b23SMartin Matuska.Ar module 22253ff01b23SMartin Matuskacomponent of property names to reduce the chance that two 22263ff01b23SMartin Matuskaindependently-developed packages use the same property name for different 22273ff01b23SMartin Matuskapurposes. 22283ff01b23SMartin Matuska.Pp 22293ff01b23SMartin MatuskaThe values of user properties are arbitrary strings, are always inherited, and 22303ff01b23SMartin Matuskaare never validated. 22313ff01b23SMartin MatuskaAll of the commands that operate on properties 22323ff01b23SMartin Matuska.Po Nm zfs Cm list , 22333ff01b23SMartin Matuska.Nm zfs Cm get , 22343ff01b23SMartin Matuska.Nm zfs Cm set , 22353ff01b23SMartin Matuskaand so forth 22363ff01b23SMartin Matuska.Pc 22373ff01b23SMartin Matuskacan be used to manipulate both native properties and user properties. 22383ff01b23SMartin MatuskaUse the 22393ff01b23SMartin Matuska.Nm zfs Cm inherit 22403ff01b23SMartin Matuskacommand to clear a user property. 22413ff01b23SMartin MatuskaIf the property is not defined in any parent dataset, it is removed entirely. 22423ff01b23SMartin MatuskaProperty values are limited to 8192 bytes. 2243