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