189f5d17bSYuri Pankov.\" 289f5d17bSYuri Pankov.\" CDDL HEADER START 389f5d17bSYuri Pankov.\" 489f5d17bSYuri Pankov.\" The contents of this file are subject to the terms of the 589f5d17bSYuri Pankov.\" Common Development and Distribution License (the "License"). 689f5d17bSYuri Pankov.\" You may not use this file except in compliance with the License. 789f5d17bSYuri Pankov.\" 889f5d17bSYuri Pankov.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 989f5d17bSYuri Pankov.\" or http://www.opensolaris.org/os/licensing. 1089f5d17bSYuri Pankov.\" See the License for the specific language governing permissions 1189f5d17bSYuri Pankov.\" and limitations under the License. 1289f5d17bSYuri Pankov.\" 1389f5d17bSYuri Pankov.\" When distributing Covered Code, include this CDDL HEADER in each 1489f5d17bSYuri Pankov.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1589f5d17bSYuri Pankov.\" If applicable, add the following below this CDDL HEADER, with the 1689f5d17bSYuri Pankov.\" fields enclosed by brackets "[]" replaced with your own identifying 1789f5d17bSYuri Pankov.\" information: Portions Copyright [yyyy] [name of copyright owner] 1889f5d17bSYuri Pankov.\" 1989f5d17bSYuri Pankov.\" CDDL HEADER END 2089f5d17bSYuri Pankov.\" 2189f5d17bSYuri Pankov.\" 22c10c16deSRichard Lowe.\" Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved. 236658b4ffSJoshua M. Clulow.\" Copyright 2011 Joshua M. Clulow <josh@sysmgr.org> 2430925561SChris Williamson.\" Copyright (c) 2011, 2014 by Delphix. All rights reserved. 25a6f561b4SSašo Kiselkov.\" Copyright (c) 2013 by Saso Kiselkov. All rights reserved. 26a2afb611SJerry Jelinek.\" Copyright (c) 2014, Joyent, Inc. All rights reserved. 27409f1c06SAdam Stevko.\" Copyright (c) 2014 by Adam Stevko. All rights reserved. 28*b3cff10cSYuri Pankov.\" Copyright 2015 Nexenta Systems, Inc. All Rights Reserved. 2989f5d17bSYuri Pankov.\" 30*b3cff10cSYuri Pankov.Dd June 8, 2015 31*b3cff10cSYuri Pankov.Dt ZFS 1M 32*b3cff10cSYuri Pankov.Os 33*b3cff10cSYuri Pankov.Sh NAME 34*b3cff10cSYuri Pankov.Nm zfs 35*b3cff10cSYuri Pankov.Nd configures ZFS file systems 36*b3cff10cSYuri Pankov.Sh SYNOPSIS 37*b3cff10cSYuri Pankov.Nm 38*b3cff10cSYuri Pankov.Op Fl \? 39*b3cff10cSYuri Pankov.Nm 40*b3cff10cSYuri Pankov.Cm create 41*b3cff10cSYuri Pankov.Op Fl p 42*b3cff10cSYuri Pankov.Oo Fl o Ar property Ns = Ns Ar value Oc Ns ... 43*b3cff10cSYuri Pankov.Ar filesystem 44*b3cff10cSYuri Pankov.Nm 45*b3cff10cSYuri Pankov.Cm create 46*b3cff10cSYuri Pankov.Op Fl ps 47*b3cff10cSYuri Pankov.Op Fl b Ar blocksize 48*b3cff10cSYuri Pankov.Oo Fl o Ar property Ns = Ns Ar value Oc Ns ... 49*b3cff10cSYuri Pankov.Fl V Ar size Ar volume 50*b3cff10cSYuri Pankov.Nm 51*b3cff10cSYuri Pankov.Cm destroy 52*b3cff10cSYuri Pankov.Op Fl Rfnprv 53*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 54*b3cff10cSYuri Pankov.Nm 55*b3cff10cSYuri Pankov.Cm destroy 56*b3cff10cSYuri Pankov.Op Fl Rdnprv 57*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns @ Ns Ar snap Ns 58*b3cff10cSYuri Pankov.Oo % Ns Ar snap Ns Oo , Ns Ar snap Ns Oo % Ns Ar snap Oc Oc Oc Ns ... 59*b3cff10cSYuri Pankov.Nm 60*b3cff10cSYuri Pankov.Cm destroy 61*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns # Ns Ar bookmark 62*b3cff10cSYuri Pankov.Nm 63*b3cff10cSYuri Pankov.Cm snapshot 64*b3cff10cSYuri Pankov.Op Fl r 65*b3cff10cSYuri Pankov.Oo Fl o Ar property Ns = Ns value Oc Ns ... 66*b3cff10cSYuri Pankov.Ar filesystem Ns @ Ns Ar snapname Ns | Ns Ar volume Ns @ Ns Ar snapname Ns ... 67*b3cff10cSYuri Pankov.Nm 68*b3cff10cSYuri Pankov.Cm rollback 69*b3cff10cSYuri Pankov.Op Fl Rfr 70*b3cff10cSYuri Pankov.Ar snapshot 71*b3cff10cSYuri Pankov.Nm 72*b3cff10cSYuri Pankov.Cm clone 73*b3cff10cSYuri Pankov.Op Fl p 74*b3cff10cSYuri Pankov.Oo Fl o Ar property Ns = Ns Ar value Oc Ns ... 75*b3cff10cSYuri Pankov.Ar snapshot Ar filesystem Ns | Ns Ar volume 76*b3cff10cSYuri Pankov.Nm 77*b3cff10cSYuri Pankov.Cm promote 78*b3cff10cSYuri Pankov.Ar clone-filesystem 79*b3cff10cSYuri Pankov.Nm 80*b3cff10cSYuri Pankov.Cm rename 81*b3cff10cSYuri Pankov.Op Fl f 82*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot 83*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot 84*b3cff10cSYuri Pankov.Nm 85*b3cff10cSYuri Pankov.Cm rename 86*b3cff10cSYuri Pankov.Op Fl fp 87*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 88*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 89*b3cff10cSYuri Pankov.Nm 90*b3cff10cSYuri Pankov.Cm rename 91*b3cff10cSYuri Pankov.Fl r 92*b3cff10cSYuri Pankov.Ar snapshot Ar snapshot 93*b3cff10cSYuri Pankov.Nm 94*b3cff10cSYuri Pankov.Cm list 95*b3cff10cSYuri Pankov.Op Fl r Ns | Ns Fl d Ar depth 96*b3cff10cSYuri Pankov.Op Fl Hp 97*b3cff10cSYuri Pankov.Oo Fl o Ar property Ns Oo , Ns Ar property Oc Ns ... Oc 98*b3cff10cSYuri Pankov.Oo Fl s Ar property Oc Ns ... 99*b3cff10cSYuri Pankov.Oo Fl S Ar property Oc Ns ... 100*b3cff10cSYuri Pankov.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns ... Oc 101*b3cff10cSYuri Pankov.Oo Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Oc Ns ... 102*b3cff10cSYuri Pankov.Nm 103*b3cff10cSYuri Pankov.Cm set 104*b3cff10cSYuri Pankov.Ar property Ns = Ns Ar value Oo Ar property Ns = Ns Ar value Oc Ns ... 105*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ... 106*b3cff10cSYuri Pankov.Nm 107*b3cff10cSYuri Pankov.Cm get 108*b3cff10cSYuri Pankov.Op Fl r Ns | Ns Fl d Ar depth 109*b3cff10cSYuri Pankov.Op Fl Hp 110*b3cff10cSYuri Pankov.Oo Fl o Ar field Ns Oo , Ns Ar field Oc Ns ... Oc 111*b3cff10cSYuri Pankov.Oo Fl s Ar source Ns Oo , Ns Ar source Oc Ns ... Oc 112*b3cff10cSYuri Pankov.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns ... Oc 113*b3cff10cSYuri Pankov.Cm all | Ar property Ns Oo , Ns Ar property Oc Ns ... 114*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ... 115*b3cff10cSYuri Pankov.Nm 116*b3cff10cSYuri Pankov.Cm inherit 117*b3cff10cSYuri Pankov.Op Fl rS 118*b3cff10cSYuri Pankov.Ar property Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ... 119*b3cff10cSYuri Pankov.Nm 120*b3cff10cSYuri Pankov.Cm upgrade 121*b3cff10cSYuri Pankov.Nm 122*b3cff10cSYuri Pankov.Cm upgrade 123*b3cff10cSYuri Pankov.Fl v 124*b3cff10cSYuri Pankov.Nm 125*b3cff10cSYuri Pankov.Cm upgrade 126*b3cff10cSYuri Pankov.Op Fl r 127*b3cff10cSYuri Pankov.Op Fl V Ar version 128*b3cff10cSYuri Pankov.Fl a | Ar filesystem 129*b3cff10cSYuri Pankov.Nm 130*b3cff10cSYuri Pankov.Cm userspace 131*b3cff10cSYuri Pankov.Op Fl Hinp 132*b3cff10cSYuri Pankov.Oo Fl o Ar field Ns Oo , Ns Ar field Oc Ns ... Oc 133*b3cff10cSYuri Pankov.Oo Fl s Ar field Oc Ns ... 134*b3cff10cSYuri Pankov.Oo Fl S Ar field Oc Ns ... 135*b3cff10cSYuri Pankov.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns ... Oc 136*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar snapshot 137*b3cff10cSYuri Pankov.Nm 138*b3cff10cSYuri Pankov.Cm groupspace 139*b3cff10cSYuri Pankov.Op Fl Hinp 140*b3cff10cSYuri Pankov.Oo Fl o Ar field Ns Oo , Ns Ar field Oc Ns ... Oc 141*b3cff10cSYuri Pankov.Oo Fl s Ar field Oc Ns ... 142*b3cff10cSYuri Pankov.Oo Fl S Ar field Oc Ns ... 143*b3cff10cSYuri Pankov.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns ... Oc 144*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar snapshot 145*b3cff10cSYuri Pankov.Nm 146*b3cff10cSYuri Pankov.Cm mount 147*b3cff10cSYuri Pankov.Nm 148*b3cff10cSYuri Pankov.Cm mount 149*b3cff10cSYuri Pankov.Op Fl Ov 150*b3cff10cSYuri Pankov.Op Fl o Ar options 151*b3cff10cSYuri Pankov.Fl a | Ar filesystem 152*b3cff10cSYuri Pankov.Nm 153*b3cff10cSYuri Pankov.Cm unmount 154*b3cff10cSYuri Pankov.Op Fl f 155*b3cff10cSYuri Pankov.Fl a | Ar filesystem Ns | Ns Ar mountpoint 156*b3cff10cSYuri Pankov.Nm 157*b3cff10cSYuri Pankov.Cm share 158*b3cff10cSYuri Pankov.Fl a | Ar filesystem 159*b3cff10cSYuri Pankov.Nm 160*b3cff10cSYuri Pankov.Cm unshare 161*b3cff10cSYuri Pankov.Fl a | Ar filesystem Ns | Ns Ar mountpoint 162*b3cff10cSYuri Pankov.Nm 163*b3cff10cSYuri Pankov.Cm bookmark 164*b3cff10cSYuri Pankov.Ar snapshot bookmark 165*b3cff10cSYuri Pankov.Nm 166*b3cff10cSYuri Pankov.Cm send 167*b3cff10cSYuri Pankov.Op Fl DLPRenpv 168*b3cff10cSYuri Pankov.Op Oo Fl I Ns | Ns Fl i Oc Ar snapshot 169*b3cff10cSYuri Pankov.Ar snapshot 170*b3cff10cSYuri Pankov.Nm 171*b3cff10cSYuri Pankov.Cm send 172*b3cff10cSYuri Pankov.Op Fl Le 173*b3cff10cSYuri Pankov.Op Fl i Ar snapshot Ns | Ns Ar bookmark 174*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot 175*b3cff10cSYuri Pankov.Nm 176*b3cff10cSYuri Pankov.Cm receive 177*b3cff10cSYuri Pankov.Op Fl Fnuv 178*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot 179*b3cff10cSYuri Pankov.Nm 180*b3cff10cSYuri Pankov.Cm receive 181*b3cff10cSYuri Pankov.Op Fl Fnuv 182*b3cff10cSYuri Pankov.Op Fl d Ns | Ns Fl e 183*b3cff10cSYuri Pankov.Ar filesystem 184*b3cff10cSYuri Pankov.Nm 185*b3cff10cSYuri Pankov.Cm allow 186*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 187*b3cff10cSYuri Pankov.Nm 188*b3cff10cSYuri Pankov.Cm allow 189*b3cff10cSYuri Pankov.Op Fl dglu 190*b3cff10cSYuri Pankov.Ar user Ns | Ns Ar group Ns Oo , Ns Ar user Ns | Ns Ar group Oc Ns ... 191*b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns 192*b3cff10cSYuri Pankov.Ar setname Oc Ns ... 193*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 194*b3cff10cSYuri Pankov.Nm 195*b3cff10cSYuri Pankov.Cm allow 196*b3cff10cSYuri Pankov.Op Fl dl 197*b3cff10cSYuri Pankov.Fl e Ns | Ns Sy everyone 198*b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns 199*b3cff10cSYuri Pankov.Ar setname Oc Ns ... 200*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 201*b3cff10cSYuri Pankov.Nm 202*b3cff10cSYuri Pankov.Cm allow 203*b3cff10cSYuri Pankov.Fl c 204*b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns 205*b3cff10cSYuri Pankov.Ar setname Oc Ns ... 206*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 207*b3cff10cSYuri Pankov.Nm 208*b3cff10cSYuri Pankov.Cm allow 209*b3cff10cSYuri Pankov.Fl s No @ Ns Ar setname 210*b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns 211*b3cff10cSYuri Pankov.Ar setname Oc Ns ... 212*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 213*b3cff10cSYuri Pankov.Nm 214*b3cff10cSYuri Pankov.Cm unallow 215*b3cff10cSYuri Pankov.Op Fl dglru 216*b3cff10cSYuri Pankov.Ar user Ns | Ns Ar group Ns Oo , Ns Ar user Ns | Ns Ar group Oc Ns ... 217*b3cff10cSYuri Pankov.Oo Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns 218*b3cff10cSYuri Pankov.Ar setname Oc Ns ... Oc 219*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 220*b3cff10cSYuri Pankov.Nm 221*b3cff10cSYuri Pankov.Cm unallow 222*b3cff10cSYuri Pankov.Op Fl dlr 223*b3cff10cSYuri Pankov.Fl e Ns | Ns Sy everyone 224*b3cff10cSYuri Pankov.Oo Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns 225*b3cff10cSYuri Pankov.Ar setname Oc Ns ... Oc 226*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 227*b3cff10cSYuri Pankov.Nm 228*b3cff10cSYuri Pankov.Cm unallow 229*b3cff10cSYuri Pankov.Op Fl r 230*b3cff10cSYuri Pankov.Fl c 231*b3cff10cSYuri Pankov.Oo Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns 232*b3cff10cSYuri Pankov.Ar setname Oc Ns ... Oc 233*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 234*b3cff10cSYuri Pankov.Nm 235*b3cff10cSYuri Pankov.Cm unallow 236*b3cff10cSYuri Pankov.Op Fl r 237*b3cff10cSYuri Pankov.Fl s @ Ns Ar setname 238*b3cff10cSYuri Pankov.Oo Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns 239*b3cff10cSYuri Pankov.Ar setname Oc Ns ... Oc 240*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 241*b3cff10cSYuri Pankov.Nm 242*b3cff10cSYuri Pankov.Cm hold 243*b3cff10cSYuri Pankov.Op Fl r 244*b3cff10cSYuri Pankov.Ar tag Ar snapshot Ns ... 245*b3cff10cSYuri Pankov.Nm 246*b3cff10cSYuri Pankov.Cm holds 247*b3cff10cSYuri Pankov.Op Fl r 248*b3cff10cSYuri Pankov.Ar snapshot Ns ... 249*b3cff10cSYuri Pankov.Nm 250*b3cff10cSYuri Pankov.Cm release 251*b3cff10cSYuri Pankov.Op Fl r 252*b3cff10cSYuri Pankov.Ar tag Ar snapshot Ns ... 253*b3cff10cSYuri Pankov.Nm 254*b3cff10cSYuri Pankov.Cm diff 255*b3cff10cSYuri Pankov.Op Fl FHt 256*b3cff10cSYuri Pankov.Ar snapshot Ar snapshot Ns | Ns Ar filesystem 257*b3cff10cSYuri Pankov.Sh DESCRIPTION 258*b3cff10cSYuri PankovThe 259*b3cff10cSYuri Pankov.Nm 260*b3cff10cSYuri Pankovcommand configures ZFS datasets within a ZFS storage pool, as described in 261*b3cff10cSYuri Pankov.Xr zpool 1M . 262*b3cff10cSYuri PankovA dataset is identified by a unique path within the ZFS namespace. For example: 263*b3cff10cSYuri Pankov.Bd -literal 264c10c16deSRichard Lowepool/{filesystem,volume,snapshot} 265*b3cff10cSYuri Pankov.Ed 266*b3cff10cSYuri Pankov.Pp 267*b3cff10cSYuri Pankovwhere the maximum length of a dataset name is 268*b3cff10cSYuri Pankov.Dv MAXNAMELEN 269*b3cff10cSYuri Pankov.Pq 256 bytes . 270*b3cff10cSYuri Pankov.Pp 271c10c16deSRichard LoweA dataset can be one of the following: 272*b3cff10cSYuri Pankov.Bl -tag -width "file system" 273*b3cff10cSYuri Pankov.It Sy file system 274*b3cff10cSYuri PankovA ZFS dataset of type 275*b3cff10cSYuri Pankov.Sy filesystem 276*b3cff10cSYuri Pankovcan be mounted within the standard system namespace and behaves like other file 277*b3cff10cSYuri Pankovsystems. While ZFS file systems are designed to be POSIX compliant, known issues 278*b3cff10cSYuri Pankovexist that prevent compliance in some cases. Applications that depend on 279*b3cff10cSYuri Pankovstandards conformance might fail due to non-standard behavior when checking file 280*b3cff10cSYuri Pankovsystem free space. 281*b3cff10cSYuri Pankov.It Sy volume 282c10c16deSRichard LoweA logical volume exported as a raw or block device. This type of dataset should 283c10c16deSRichard Loweonly be used under special circumstances. File systems are typically used in 284c10c16deSRichard Lowemost environments. 285*b3cff10cSYuri Pankov.It Sy snapshot 286c10c16deSRichard LoweA read-only version of a file system or volume at a given point in time. It is 287*b3cff10cSYuri Pankovspecified as 288*b3cff10cSYuri Pankov.Ar filesystem Ns @ Ns Ar name 289*b3cff10cSYuri Pankovor 290*b3cff10cSYuri Pankov.Ar volume Ns @ Ns Ar name . 291*b3cff10cSYuri Pankov.El 292*b3cff10cSYuri Pankov.Ss ZFS File System Hierarchy 293*b3cff10cSYuri PankovA ZFS storage pool is a logical collection of devices that provide space for 294*b3cff10cSYuri Pankovdatasets. A storage pool is also the root of the ZFS file system hierarchy. 295*b3cff10cSYuri Pankov.Pp 296c10c16deSRichard LoweThe root of the pool can be accessed as a file system, such as mounting and 297c10c16deSRichard Loweunmounting, taking snapshots, and setting properties. The physical storage 298*b3cff10cSYuri Pankovcharacteristics, however, are managed by the 299*b3cff10cSYuri Pankov.Xr zpool 1M 300*b3cff10cSYuri Pankovcommand. 301*b3cff10cSYuri Pankov.Pp 302*b3cff10cSYuri PankovSee 303*b3cff10cSYuri Pankov.Xr zpool 1M 304*b3cff10cSYuri Pankovfor more information on creating and administering pools. 305*b3cff10cSYuri Pankov.Ss Snapshots 306c10c16deSRichard LoweA snapshot is a read-only copy of a file system or volume. Snapshots can be 307c10c16deSRichard Lowecreated extremely quickly, and initially consume no additional space within the 308c10c16deSRichard Lowepool. As data within the active dataset changes, the snapshot consumes more 309c10c16deSRichard Lowedata than would otherwise be shared with the active dataset. 310*b3cff10cSYuri Pankov.Pp 311c10c16deSRichard LoweSnapshots can have arbitrary names. Snapshots of volumes can be cloned or 312c10c16deSRichard Lowerolled back, but cannot be accessed independently. 313*b3cff10cSYuri Pankov.Pp 314*b3cff10cSYuri PankovFile system snapshots can be accessed under the 315*b3cff10cSYuri Pankov.Pa .zfs/snapshot 316*b3cff10cSYuri Pankovdirectory in the root of the file system. Snapshots are automatically mounted on 317*b3cff10cSYuri Pankovdemand and may be unmounted at regular intervals. The visibility of the 318*b3cff10cSYuri Pankov.Pa .zfs 319*b3cff10cSYuri Pankovdirectory can be controlled by the 320*b3cff10cSYuri Pankovsnapdir 321*b3cff10cSYuri Pankovproperty. 322*b3cff10cSYuri Pankov.Ss Clones 323c10c16deSRichard LoweA clone is a writable volume or file system whose initial contents are the same 324*b3cff10cSYuri Pankovas another dataset. As with snapshots, creating a clone is nearly instantaneous, 325*b3cff10cSYuri Pankovand initially consumes no additional space. 326*b3cff10cSYuri Pankov.Pp 327c10c16deSRichard LoweClones can only be created from a snapshot. When a snapshot is cloned, it 328c10c16deSRichard Lowecreates an implicit dependency between the parent and child. Even though the 329c10c16deSRichard Loweclone is created somewhere else in the dataset hierarchy, the original snapshot 330*b3cff10cSYuri Pankovcannot be destroyed as long as a clone exists. The 331*b3cff10cSYuri Pankov.Sy origin 332*b3cff10cSYuri Pankovproperty exposes this dependency, and the 333*b3cff10cSYuri Pankov.Cm destroy 334*b3cff10cSYuri Pankovcommand lists any such dependencies, if they exist. 335*b3cff10cSYuri Pankov.Pp 336c10c16deSRichard LoweThe clone parent-child dependency relationship can be reversed by using the 337*b3cff10cSYuri Pankov.Cm promote 338*b3cff10cSYuri Pankovsubcommand. This causes the 339*b3cff10cSYuri Pankov.Qq origin 340*b3cff10cSYuri Pankovfile system to become a clone of the specified file system, which makes it 341*b3cff10cSYuri Pankovpossible to destroy the file system that the clone was created from. 342*b3cff10cSYuri Pankov.Ss "Mount Points" 343*b3cff10cSYuri PankovCreating a ZFS file system is a simple operation, so the number of file systems 344*b3cff10cSYuri Pankovper system is likely to be numerous. To cope with this, ZFS automatically 345*b3cff10cSYuri Pankovmanages mounting and unmounting file systems without the need to edit the 346*b3cff10cSYuri Pankov.Pa /etc/vfstab 347*b3cff10cSYuri Pankovfile. All automatically managed file systems are mounted by ZFS at boot time. 348*b3cff10cSYuri Pankov.Pp 349*b3cff10cSYuri PankovBy default, file systems are mounted under 350*b3cff10cSYuri Pankov.Pa /path , 351*b3cff10cSYuri Pankovwhere 352*b3cff10cSYuri Pankov.Ar path 353*b3cff10cSYuri Pankovis the name of the file system in the ZFS namespace. Directories are created and 354*b3cff10cSYuri Pankovdestroyed as needed. 355*b3cff10cSYuri Pankov.Pp 356*b3cff10cSYuri PankovA file system can also have a mount point set in the 357*b3cff10cSYuri Pankov.Sy mountpoint 358*b3cff10cSYuri Pankovproperty. This directory is created as needed, and ZFS automatically mounts the 359*b3cff10cSYuri Pankovfile system when the 360*b3cff10cSYuri Pankov.Nm zfs Cm mount Fl a 361*b3cff10cSYuri Pankovcommand is invoked 362*b3cff10cSYuri Pankov.Po without editing 363*b3cff10cSYuri Pankov.Pa /etc/vfstab 364*b3cff10cSYuri Pankov.Pc . 365*b3cff10cSYuri PankovThe 366*b3cff10cSYuri Pankov.Sy mountpoint 367*b3cff10cSYuri Pankovproperty can be inherited, so if 368*b3cff10cSYuri Pankov.Em pool/home 369*b3cff10cSYuri Pankovhas a mount point of 370*b3cff10cSYuri Pankov.Pa /export/stuff , 371*b3cff10cSYuri Pankovthen 372*b3cff10cSYuri Pankov.Em pool/home/user 373*b3cff10cSYuri Pankovautomatically inherits a mount point of 374*b3cff10cSYuri Pankov.Pa /export/stuff/user . 375*b3cff10cSYuri Pankov.Pp 376*b3cff10cSYuri PankovA file system 377*b3cff10cSYuri Pankov.Sy mountpoint 378*b3cff10cSYuri Pankovproperty of 379*b3cff10cSYuri Pankov.Sy none 380*b3cff10cSYuri Pankovprevents the file system from being mounted. 381*b3cff10cSYuri Pankov.Pp 382*b3cff10cSYuri PankovIf needed, ZFS file systems can also be managed with traditional tools 383*b3cff10cSYuri Pankov.Po 384*b3cff10cSYuri Pankov.Nm mount , 385*b3cff10cSYuri Pankov.Nm umount , 386*b3cff10cSYuri Pankov.Pa /etc/vfstab 387*b3cff10cSYuri Pankov.Pc . 388*b3cff10cSYuri PankovIf a file system's mount point is set to 389*b3cff10cSYuri Pankov.Sy legacy , 390*b3cff10cSYuri PankovZFS makes no attempt to manage the file system, and the administrator is 391*b3cff10cSYuri Pankovresponsible for mounting and unmounting the file system. 392*b3cff10cSYuri Pankov.Ss "Zones" 393*b3cff10cSYuri PankovA ZFS file system can be added to a non-global zone by using the 394*b3cff10cSYuri Pankov.Nm zonecfg Cm add Sy fs 395*b3cff10cSYuri Pankovsubcommand. A ZFS file system that is added to a non-global zone must have its 396*b3cff10cSYuri Pankov.Sy mountpoint 397*b3cff10cSYuri Pankovproperty set to 398*b3cff10cSYuri Pankov.Sy legacy . 399*b3cff10cSYuri Pankov.Pp 400c10c16deSRichard LoweThe physical properties of an added file system are controlled by the global 401c10c16deSRichard Loweadministrator. However, the zone administrator can create, modify, or destroy 402*b3cff10cSYuri Pankovfiles within the added file system, depending on how the file system is mounted. 403*b3cff10cSYuri Pankov.Pp 404*b3cff10cSYuri PankovA dataset can also be delegated to a non-global zone by using the 405*b3cff10cSYuri Pankov.Nm zonecfg Cm add Sy dataset 406*b3cff10cSYuri Pankovsubcommand. You cannot delegate a dataset to one zone and the children of the 407*b3cff10cSYuri Pankovsame dataset to another zone. The zone administrator can change properties of 408*b3cff10cSYuri Pankovthe dataset or any of its children. However, the 409*b3cff10cSYuri Pankov.Sy quota , 410*b3cff10cSYuri Pankov.Sy filesystem_limit 411*b3cff10cSYuri Pankovand 412*b3cff10cSYuri Pankov.Sy snapshot_limit 413*b3cff10cSYuri Pankovproperties of the delegated dataset can be modified only by the global 414*b3cff10cSYuri Pankovadministrator. 415*b3cff10cSYuri Pankov.Pp 416*b3cff10cSYuri PankovA ZFS volume can be added as a device to a non-global zone by using the 417*b3cff10cSYuri Pankov.Nm zonecfg Cm add Sy device 418*b3cff10cSYuri Pankovsubcommand. However, its physical properties can be modified only by the global 419*b3cff10cSYuri Pankovadministrator. 420*b3cff10cSYuri Pankov.Pp 421*b3cff10cSYuri PankovFor more information about 422*b3cff10cSYuri Pankov.Nm zonecfg 423*b3cff10cSYuri Pankovsyntax, see 424*b3cff10cSYuri Pankov.Xr zonecfg 1M . 425*b3cff10cSYuri Pankov.Pp 426*b3cff10cSYuri PankovAfter a dataset is delegated to a non-global zone, the 427*b3cff10cSYuri Pankov.Sy zoned 428*b3cff10cSYuri Pankovproperty is automatically set. A zoned file system cannot be mounted in the 429*b3cff10cSYuri Pankovglobal zone, since the zone administrator might have to set the mount point to 430*b3cff10cSYuri Pankovan unacceptable value. 431*b3cff10cSYuri Pankov.Pp 432*b3cff10cSYuri PankovThe global administrator can forcibly clear the 433*b3cff10cSYuri Pankov.Sy zoned 434*b3cff10cSYuri Pankovproperty, though this should be done with extreme care. The global administrator 435*b3cff10cSYuri Pankovshould verify that all the mount points are acceptable before clearing the 436*b3cff10cSYuri Pankovproperty. 437*b3cff10cSYuri Pankov.Ss Native Properties 438*b3cff10cSYuri PankovProperties are divided into two types, native properties and user-defined 439*b3cff10cSYuri Pankov.Po or 440*b3cff10cSYuri Pankov.Qq user 441*b3cff10cSYuri Pankov.Pc 442*b3cff10cSYuri Pankovproperties. Native properties either export internal statistics or control ZFS 443*b3cff10cSYuri Pankovbehavior. In addition, native properties are either editable or read-only. User 444*b3cff10cSYuri Pankovproperties have no effect on ZFS behavior, but you can use them to annotate 445*b3cff10cSYuri Pankovdatasets in a way that is meaningful in your environment. For more information 446*b3cff10cSYuri Pankovabout user properties, see the 447*b3cff10cSYuri Pankov.Sx User Properties 448*b3cff10cSYuri Pankovsection, below. 449*b3cff10cSYuri Pankov.Pp 450c10c16deSRichard LoweEvery dataset has a set of properties that export statistics about the dataset 451c10c16deSRichard Loweas well as control various behaviors. Properties are inherited from the parent 452c10c16deSRichard Loweunless overridden by the child. Some properties apply only to certain types of 453*b3cff10cSYuri Pankovdatasets 454*b3cff10cSYuri Pankov.Pq file systems, volumes, or snapshots . 455*b3cff10cSYuri Pankov.Pp 456c10c16deSRichard LoweThe values of numeric properties can be specified using human-readable suffixes 457*b3cff10cSYuri Pankov.Po for example, 458*b3cff10cSYuri Pankov.Sy k , 459*b3cff10cSYuri Pankov.Sy KB , 460*b3cff10cSYuri Pankov.Sy M , 461*b3cff10cSYuri Pankov.Sy Gb , 462*b3cff10cSYuri Pankovand so forth, up to 463*b3cff10cSYuri Pankov.Sy Z 464*b3cff10cSYuri Pankovfor zettabyte 465*b3cff10cSYuri Pankov.Pc . 466*b3cff10cSYuri PankovThe following are all valid 467*b3cff10cSYuri Pankov.Pq and equal 468*b3cff10cSYuri Pankovspecifications: 469*b3cff10cSYuri Pankov.Li 1536M, 1.5g, 1.50GB . 470*b3cff10cSYuri Pankov.Pp 471c10c16deSRichard LoweThe values of non-numeric properties are case sensitive and must be lowercase, 472*b3cff10cSYuri Pankovexcept for 473*b3cff10cSYuri Pankov.Sy mountpoint , 474*b3cff10cSYuri Pankov.Sy sharenfs , 475*b3cff10cSYuri Pankovand 476*b3cff10cSYuri Pankov.Sy sharesmb . 477*b3cff10cSYuri Pankov.Pp 478c10c16deSRichard LoweThe following native properties consist of read-only statistics about the 479c10c16deSRichard Lowedataset. These properties can be neither set, nor inherited. Native properties 480c10c16deSRichard Loweapply to all dataset types unless otherwise noted. 481*b3cff10cSYuri Pankov.Bl -tag -width "usedbyrefreservation" 482*b3cff10cSYuri Pankov.It Sy available 483*b3cff10cSYuri PankovThe amount of space available to the dataset and all its children, assuming that 484*b3cff10cSYuri Pankovthere is no other activity in the pool. Because space is shared within a pool, 485*b3cff10cSYuri Pankovavailability can be limited by any number of factors, including physical pool 486*b3cff10cSYuri Pankovsize, quotas, reservations, or other datasets within the pool. 487*b3cff10cSYuri Pankov.Pp 488c10c16deSRichard LoweThis property can also be referred to by its shortened column name, 489*b3cff10cSYuri Pankov.Sy avail . 490*b3cff10cSYuri Pankov.It Sy compressratio 491*b3cff10cSYuri PankovFor non-snapshots, the compression ratio achieved for the 492*b3cff10cSYuri Pankov.Sy used 493*b3cff10cSYuri Pankovspace of this dataset, expressed as a multiplier. The 494*b3cff10cSYuri Pankov.Sy used 495*b3cff10cSYuri Pankovproperty includes descendant datasets, and, for clones, does not include the 496*b3cff10cSYuri Pankovspace shared with the origin snapshot. For snapshots, the 497*b3cff10cSYuri Pankov.Sy compressratio 498*b3cff10cSYuri Pankovis the same as the 499*b3cff10cSYuri Pankov.Sy refcompressratio 500*b3cff10cSYuri Pankovproperty. Compression can be turned on by running: 501*b3cff10cSYuri Pankov.Nm zfs Cm set Sy compression Ns = Ns Sy on Ar dataset . 502*b3cff10cSYuri PankovThe default value is 503*b3cff10cSYuri Pankov.Sy off . 504*b3cff10cSYuri Pankov.It Sy creation 505c10c16deSRichard LoweThe time this dataset was created. 506*b3cff10cSYuri Pankov.It Sy clones 507*b3cff10cSYuri PankovFor snapshots, this property is a comma-separated list of filesystems or volumes 508*b3cff10cSYuri Pankovwhich are clones of this snapshot. The clones' 509*b3cff10cSYuri Pankov.Sy origin 510*b3cff10cSYuri Pankovproperty is this snapshot. If the 511*b3cff10cSYuri Pankov.Sy clones 512*b3cff10cSYuri Pankovproperty is not empty, then this snapshot can not be destroyed 513*b3cff10cSYuri Pankov.Po even with the 514*b3cff10cSYuri Pankov.Fl r 515*b3cff10cSYuri Pankovor 516*b3cff10cSYuri Pankov.Fl f 517*b3cff10cSYuri Pankovoptions 518*b3cff10cSYuri Pankov.Pc . 519*b3cff10cSYuri Pankov.It Sy defer_destroy 520*b3cff10cSYuri PankovThis property is 521*b3cff10cSYuri Pankov.Sy on 522*b3cff10cSYuri Pankovif the snapshot has been marked for deferred destroy by using the 523*b3cff10cSYuri Pankov.Nm zfs Cm destroy Fl d 524*b3cff10cSYuri Pankovcommand. Otherwise, the property is 525*b3cff10cSYuri Pankov.Sy off . 526*b3cff10cSYuri Pankov.It Sy filesystem_count 527*b3cff10cSYuri PankovThe total number of filesystems and volumes that exist under this location in 528*b3cff10cSYuri Pankovthe dataset tree. This value is only available when a 529*b3cff10cSYuri Pankov.Sy filesystem_limit 530*b3cff10cSYuri Pankovhas been set somewhere in the tree under which the dataset resides. 531*b3cff10cSYuri Pankov.It Sy logicalreferenced 532*b3cff10cSYuri PankovThe amount of space that is 533*b3cff10cSYuri Pankov.Qq logically 534*b3cff10cSYuri Pankovaccessible by this dataset. See the 535*b3cff10cSYuri Pankov.Sy referenced 536*b3cff10cSYuri Pankovproperty. The logical space ignores the effect of the 537*b3cff10cSYuri Pankov.Sy compression 538*b3cff10cSYuri Pankovand 539*b3cff10cSYuri Pankov.Sy copies 540*b3cff10cSYuri Pankovproperties, giving a quantity closer to the amount of data that applications 541*b3cff10cSYuri Pankovsee. However, it does include space consumed by metadata. 542*b3cff10cSYuri Pankov.Pp 54377372cb0SMatthew AhrensThis property can also be referred to by its shortened column name, 544*b3cff10cSYuri Pankov.Sy lrefer . 545*b3cff10cSYuri Pankov.It Sy logicalused 546*b3cff10cSYuri PankovThe amount of space that is 547*b3cff10cSYuri Pankov.Qq logically 548*b3cff10cSYuri Pankovconsumed by this dataset and all its descendents. See the 549*b3cff10cSYuri Pankov.Sy used 550*b3cff10cSYuri Pankovproperty. The logical space ignores the effect of the 551*b3cff10cSYuri Pankov.Sy compression 552*b3cff10cSYuri Pankovand 553*b3cff10cSYuri Pankov.Sy copies 554*b3cff10cSYuri Pankovproperties, giving a quantity closer to the amount of data that applications 555*b3cff10cSYuri Pankovsee. However, it does include space consumed by metadata. 556*b3cff10cSYuri Pankov.Pp 55777372cb0SMatthew AhrensThis property can also be referred to by its shortened column name, 558*b3cff10cSYuri Pankov.Sy lused . 559*b3cff10cSYuri Pankov.It Sy mounted 560c10c16deSRichard LoweFor file systems, indicates whether the file system is currently mounted. This 561*b3cff10cSYuri Pankovproperty can be either 562*b3cff10cSYuri Pankov.Sy yes 563*b3cff10cSYuri Pankovor 564*b3cff10cSYuri Pankov.Sy no . 565*b3cff10cSYuri Pankov.It Sy origin 566c10c16deSRichard LoweFor cloned file systems or volumes, the snapshot from which the clone was 567*b3cff10cSYuri Pankovcreated. See also the 568*b3cff10cSYuri Pankov.Sy clones 569*b3cff10cSYuri Pankovproperty. 570*b3cff10cSYuri Pankov.It Sy referenced 571c10c16deSRichard LoweThe amount of data that is accessible by this dataset, which may or may not be 572c10c16deSRichard Loweshared with other datasets in the pool. When a snapshot or clone is created, it 573c10c16deSRichard Loweinitially references the same amount of space as the file system or snapshot it 574c10c16deSRichard Lowewas created from, since its contents are identical. 575*b3cff10cSYuri Pankov.Pp 576c10c16deSRichard LoweThis property can also be referred to by its shortened column name, 577*b3cff10cSYuri Pankov.Sy refer . 578*b3cff10cSYuri Pankov.It Sy refcompressratio 579*b3cff10cSYuri PankovThe compression ratio achieved for the 580*b3cff10cSYuri Pankov.Sy referenced 581*b3cff10cSYuri Pankovspace of this dataset, expressed as a multiplier. See also the 582*b3cff10cSYuri Pankov.Sy compressratio 583187d6ac0SMatt Ahrensproperty. 584*b3cff10cSYuri Pankov.It Sy snapshot_count 585*b3cff10cSYuri PankovThe total number of snapshots that exist under this location in the dataset 586*b3cff10cSYuri Pankovtree. This value is only available when a 587*b3cff10cSYuri Pankov.Sy snapshot_limit 588*b3cff10cSYuri Pankovhas been set somewhere in the tree under which the dataset resides. 589*b3cff10cSYuri Pankov.It Sy type 590*b3cff10cSYuri PankovThe type of dataset: 591*b3cff10cSYuri Pankov.Sy filesystem , 592*b3cff10cSYuri Pankov.Sy volume , 593*b3cff10cSYuri Pankovor 594*b3cff10cSYuri Pankov.Sy snapshot . 595*b3cff10cSYuri Pankov.It Sy used 596c10c16deSRichard LoweThe amount of space consumed by this dataset and all its descendents. This is 597c10c16deSRichard Lowethe value that is checked against this dataset's quota and reservation. The 598c10c16deSRichard Lowespace used does not include this dataset's reservation, but does take into 599c10c16deSRichard Loweaccount the reservations of any descendent datasets. The amount of space that a 600c10c16deSRichard Lowedataset consumes from its parent, as well as the amount of space that are freed 601c10c16deSRichard Loweif this dataset is recursively destroyed, is the greater of its space used and 602c10c16deSRichard Loweits reservation. 603*b3cff10cSYuri Pankov.Pp 604*b3cff10cSYuri PankovWhen snapshots 605*b3cff10cSYuri Pankov.Po see the 606*b3cff10cSYuri Pankov.Sx Snapshots 607*b3cff10cSYuri Pankovsection 608*b3cff10cSYuri Pankov.Pc 609*b3cff10cSYuri Pankovare created, their space is initially shared between the snapshot and 610*b3cff10cSYuri Pankovthe file system, and possibly with previous snapshots. As the file system 611*b3cff10cSYuri Pankovchanges, space that was previously shared becomes unique to the snapshot, and 612*b3cff10cSYuri Pankovcounted in the snapshot's space used. Additionally, deleting snapshots can 613*b3cff10cSYuri Pankovincrease the amount of space unique to 614*b3cff10cSYuri Pankov.Pq and used by 615*b3cff10cSYuri Pankovother snapshots. 616*b3cff10cSYuri Pankov.Pp 617c10c16deSRichard LoweThe amount of space used, available, or referenced does not take into account 618c10c16deSRichard Lowepending changes. Pending changes are generally accounted for within a few 619*b3cff10cSYuri Pankovseconds. Committing a change to a disk using 620*b3cff10cSYuri Pankov.Xr fsync 3C 621*b3cff10cSYuri Pankovor 622*b3cff10cSYuri Pankov.Dv O_SYNC 623c10c16deSRichard Lowedoes not necessarily guarantee that the space usage information is updated 624c10c16deSRichard Loweimmediately. 625*b3cff10cSYuri Pankov.It Sy usedby* 626*b3cff10cSYuri PankovThe 627*b3cff10cSYuri Pankov.Sy usedby* 628*b3cff10cSYuri Pankovproperties decompose the 629*b3cff10cSYuri Pankov.Sy used 630*b3cff10cSYuri Pankovproperties into the various reasons that space is used. Specifically, 631*b3cff10cSYuri Pankov.Sy used No = 632*b3cff10cSYuri Pankov.Sy usedbychildren No + 633*b3cff10cSYuri Pankov.Sy usedbydataset No + 634*b3cff10cSYuri Pankov.Sy usedbyrefreservation No + 635*b3cff10cSYuri Pankov.Sy usedbysnapshots . 636*b3cff10cSYuri PankovThese properties are only available for datasets created on 637*b3cff10cSYuri Pankov.Nm zpool 638*b3cff10cSYuri Pankov.Qo version 13 Qc 639*b3cff10cSYuri Pankovpools. 640*b3cff10cSYuri Pankov.It Sy usedbychildren 641c10c16deSRichard LoweThe amount of space used by children of this dataset, which would be freed if 642c10c16deSRichard Loweall the dataset's children were destroyed. 643*b3cff10cSYuri Pankov.It Sy usedbydataset 644c10c16deSRichard LoweThe amount of space used by this dataset itself, which would be freed if the 645*b3cff10cSYuri Pankovdataset were destroyed 646*b3cff10cSYuri Pankov.Po after first removing any 647*b3cff10cSYuri Pankov.Sy refreservation 648*b3cff10cSYuri Pankovand destroying any necessary snapshots or descendents 649*b3cff10cSYuri Pankov.Pc . 650*b3cff10cSYuri Pankov.It Sy usedbyrefreservation 651*b3cff10cSYuri PankovThe amount of space used by a 652*b3cff10cSYuri Pankov.Sy refreservation 653*b3cff10cSYuri Pankovset on this dataset, which would be freed if the 654*b3cff10cSYuri Pankov.Sy refreservation 655*b3cff10cSYuri Pankovwas removed. 656*b3cff10cSYuri Pankov.It Sy usedbysnapshots 657c10c16deSRichard LoweThe amount of space consumed by snapshots of this dataset. In particular, it is 658c10c16deSRichard Lowethe amount of space that would be freed if all of this dataset's snapshots were 659*b3cff10cSYuri Pankovdestroyed. Note that this is not simply the sum of the snapshots' 660*b3cff10cSYuri Pankov.Sy used 661c10c16deSRichard Loweproperties because space can be shared by multiple snapshots. 662*b3cff10cSYuri Pankov.It Sy userused Ns @ Ns Em user 663c10c16deSRichard LoweThe amount of space consumed by the specified user in this dataset. Space is 664*b3cff10cSYuri Pankovcharged to the owner of each file, as displayed by 665*b3cff10cSYuri Pankov.Nm ls Fl l . 666*b3cff10cSYuri PankovThe amount of space charged is displayed by 667*b3cff10cSYuri Pankov.Nm du 668*b3cff10cSYuri Pankovand 669*b3cff10cSYuri Pankov.Nm ls Fl s . 670*b3cff10cSYuri PankovSee the 671*b3cff10cSYuri Pankov.Nm zfs Cm userspace 672*b3cff10cSYuri Pankovsubcommand for more information. 673*b3cff10cSYuri Pankov.Pp 674c10c16deSRichard LoweUnprivileged users can access only their own space usage. The root user, or a 675*b3cff10cSYuri Pankovuser who has been granted the 676*b3cff10cSYuri Pankov.Sy userused 677*b3cff10cSYuri Pankovprivilege with 678*b3cff10cSYuri Pankov.Nm zfs Cm allow , 679c10c16deSRichard Lowecan access everyone's usage. 680*b3cff10cSYuri Pankov.Pp 681*b3cff10cSYuri PankovThe 682*b3cff10cSYuri Pankov.Sy userused Ns @ Ns Em ... 683*b3cff10cSYuri Pankovproperties are not displayed by 684*b3cff10cSYuri Pankov.Nm zfs Cm get Sy all . 685*b3cff10cSYuri PankovThe user's name must be appended after the @ symbol, using one of the following 686*b3cff10cSYuri Pankovforms: 687*b3cff10cSYuri Pankov.Bl -bullet -width "" 688*b3cff10cSYuri Pankov.It 689*b3cff10cSYuri Pankov.Em POSIX name 690*b3cff10cSYuri Pankov.Po for example, 691*b3cff10cSYuri Pankov.Sy joe 692*b3cff10cSYuri Pankov.Pc 693*b3cff10cSYuri Pankov.It 694*b3cff10cSYuri Pankov.Em POSIX numeric ID 695*b3cff10cSYuri Pankov.Po for example, 696*b3cff10cSYuri Pankov.Sy 789 697*b3cff10cSYuri Pankov.Pc 698*b3cff10cSYuri Pankov.It 699*b3cff10cSYuri Pankov.Em SID name 700*b3cff10cSYuri Pankov.Po for example, 701*b3cff10cSYuri Pankov.Sy joe.smith@mydomain 702*b3cff10cSYuri Pankov.Pc 703*b3cff10cSYuri Pankov.It 704*b3cff10cSYuri Pankov.Em SID numeric ID 705*b3cff10cSYuri Pankov.Po for example, 706*b3cff10cSYuri Pankov.Sy S-1-123-456-789 707*b3cff10cSYuri Pankov.Pc 708*b3cff10cSYuri Pankov.El 709*b3cff10cSYuri Pankov.It Sy userrefs 710c10c16deSRichard LoweThis property is set to the number of user holds on this snapshot. User holds 711*b3cff10cSYuri Pankovare set by using the 712*b3cff10cSYuri Pankov.Nm zfs Cm hold 713*b3cff10cSYuri Pankovcommand. 714*b3cff10cSYuri Pankov.It Sy groupused Ns @ Ns Em group 715c10c16deSRichard LoweThe amount of space consumed by the specified group in this dataset. Space is 716*b3cff10cSYuri Pankovcharged to the group of each file, as displayed by 717*b3cff10cSYuri Pankov.Nm ls Fl l . 718*b3cff10cSYuri PankovSee the 719*b3cff10cSYuri Pankov.Sy userused Ns @ Ns Em user 720*b3cff10cSYuri Pankovproperty for more information. 721*b3cff10cSYuri Pankov.Pp 722*b3cff10cSYuri PankovUnprivileged users can only access their own groups' space usage. The root user, 723*b3cff10cSYuri Pankovor a user who has been granted the 724*b3cff10cSYuri Pankov.Sy groupused 725*b3cff10cSYuri Pankovprivilege with 726*b3cff10cSYuri Pankov.Nm zfs Cm allow , 727*b3cff10cSYuri Pankovcan access all groups' usage. 728*b3cff10cSYuri Pankov.It Sy volblocksize Ns = Ns Em blocksize 729*b3cff10cSYuri PankovFor volumes, specifies the block size of the volume. The 730*b3cff10cSYuri Pankov.Sy blocksize 731*b3cff10cSYuri Pankovcannot be changed once the volume has been written, so it should be set at 732*b3cff10cSYuri Pankovvolume creation time. The default 733*b3cff10cSYuri Pankov.Sy blocksize 734*b3cff10cSYuri Pankovfor volumes is 8 Kbytes. Any power of 2 from 512 bytes to 128 Kbytes is valid. 735*b3cff10cSYuri Pankov.Pp 736c10c16deSRichard LoweThis property can also be referred to by its shortened column name, 737*b3cff10cSYuri Pankov.Sy volblock . 738*b3cff10cSYuri Pankov.It Sy written 739*b3cff10cSYuri PankovThe amount of 740*b3cff10cSYuri Pankov.Sy referenced 741*b3cff10cSYuri Pankovspace written to this dataset since the previous snapshot. 742*b3cff10cSYuri Pankov.It Sy written Ns @ Ns Em snapshot 743*b3cff10cSYuri PankovThe amount of 744*b3cff10cSYuri Pankov.Sy referenced 745*b3cff10cSYuri Pankovspace written to this dataset since the specified snapshot. This is the space 746*b3cff10cSYuri Pankovthat is referenced by this dataset but was not referenced by the specified 747*b3cff10cSYuri Pankovsnapshot. 748*b3cff10cSYuri Pankov.Pp 749*b3cff10cSYuri PankovThe 750*b3cff10cSYuri Pankov.Em snapshot 751*b3cff10cSYuri Pankovmay be specified as a short snapshot name 752*b3cff10cSYuri Pankov.Po just the part after the 753*b3cff10cSYuri Pankov.Sy @ 754*b3cff10cSYuri Pankov.Pc , 755*b3cff10cSYuri Pankovin which case it will be interpreted as a snapshot in the same filesystem as 756*b3cff10cSYuri Pankovthis dataset. The 757*b3cff10cSYuri Pankov.Em snapshot 758*b3cff10cSYuri Pankovmay be a full snapshot name 759*b3cff10cSYuri Pankov.No Po Em filesystem Ns @ Ns Em snapshot Pc , 760*b3cff10cSYuri Pankovwhich for clones may be a snapshot in the origin's filesystem 761*b3cff10cSYuri Pankov.Pq or the origin of the origin's filesystem, etc. 762*b3cff10cSYuri Pankov.El 763*b3cff10cSYuri Pankov.Pp 764*b3cff10cSYuri PankovThe following native properties can be used to change the behavior of a ZFS 765*b3cff10cSYuri Pankovdataset. 766*b3cff10cSYuri Pankov.Bl -tag -width "" 767*b3cff10cSYuri Pankov.It Xo 768*b3cff10cSYuri Pankov.Sy aclinherit Ns = Ns Sy discard Ns | Ns Sy noallow Ns | Ns 769*b3cff10cSYuri Pankov.Sy restricted Ns | Ns Sy passthrough Ns | Ns Sy passthrough-x 770*b3cff10cSYuri Pankov.Xc 771*b3cff10cSYuri PankovControls how 772*b3cff10cSYuri Pankov.Sy ACE Ns s 773*b3cff10cSYuri Pankovare inherited when files and directories are created. 774*b3cff10cSYuri Pankov.Bl -tag -width "passthrough-x" 775*b3cff10cSYuri Pankov.It Sy discard 776*b3cff10cSYuri Pankovdoes not inherit any 777*b3cff10cSYuri Pankov.Sy ACE Ns s . 778*b3cff10cSYuri Pankov.It Sy noallow 779*b3cff10cSYuri Pankovonly inherits inheritable 780*b3cff10cSYuri Pankov.Sy ACE Ns s 781*b3cff10cSYuri Pankovthat specify 782*b3cff10cSYuri Pankov.Qq deny 783*b3cff10cSYuri Pankovpermissions. 784*b3cff10cSYuri Pankov.It Sy restricted 785*b3cff10cSYuri Pankovdefault, removes the 786*b3cff10cSYuri Pankov.Sy write_acl 787*b3cff10cSYuri Pankovand 788*b3cff10cSYuri Pankov.Sy write_owner 789*b3cff10cSYuri Pankovpermissions when the 790*b3cff10cSYuri Pankov.Sy ACE 791*b3cff10cSYuri Pankovis inherited. 792*b3cff10cSYuri Pankov.It Sy passthrough 793*b3cff10cSYuri Pankovinherits all inheritable 794*b3cff10cSYuri Pankov.Sy ACE Ns s 795*b3cff10cSYuri Pankovwithout any modifications. 796*b3cff10cSYuri Pankov.It Sy passthrough-x 797*b3cff10cSYuri Pankovsame meaning as 798*b3cff10cSYuri Pankov.Sy passthrough , 799*b3cff10cSYuri Pankovexcept that the 800*b3cff10cSYuri Pankov.Sy owner@ , 801*b3cff10cSYuri Pankov.Sy group@ , 802*b3cff10cSYuri Pankovand 803*b3cff10cSYuri Pankov.Sy everyone@ 804*b3cff10cSYuri Pankov.Sy ACE Ns s 805*b3cff10cSYuri Pankovinherit the execute permission only if the file creation mode also requests the 806*b3cff10cSYuri Pankovexecute bit. 807*b3cff10cSYuri Pankov.El 808*b3cff10cSYuri Pankov.Pp 809*b3cff10cSYuri PankovWhen the property value is set to 810*b3cff10cSYuri Pankov.Sy passthrough , 811*b3cff10cSYuri Pankovfiles are created with a mode determined by the inheritable 812*b3cff10cSYuri Pankov.Sy ACE Ns s . 813*b3cff10cSYuri PankovIf no inheritable 814*b3cff10cSYuri Pankov.Sy ACE Ns s 815c10c16deSRichard Loweexist that affect the mode, then the mode is set in accordance to the requested 816c10c16deSRichard Lowemode from the application. 817*b3cff10cSYuri Pankov.It Xo 818*b3cff10cSYuri Pankov.Sy aclmode Ns = Ns Sy discard Ns | Ns Sy groupmask Ns | Ns 819*b3cff10cSYuri Pankov.Sy passthrough Ns | Ns Sy restricted 820*b3cff10cSYuri Pankov.Xc 821*b3cff10cSYuri PankovControls how an 822*b3cff10cSYuri Pankov.Sy ACL 823*b3cff10cSYuri Pankovis modified during 824*b3cff10cSYuri Pankov.Xr chmod 2 . 825*b3cff10cSYuri Pankov.Bl -tag -width "passthrough" 826*b3cff10cSYuri Pankov.It Sy discard 827*b3cff10cSYuri Pankovdefault, deletes all 828*b3cff10cSYuri Pankov.Sy ACE Ns s 829*b3cff10cSYuri Pankovthat do not represent the mode of the file. 830*b3cff10cSYuri Pankov.It Sy groupmask 831*b3cff10cSYuri Pankovreduces permissions granted in all 832*b3cff10cSYuri Pankov.Sy ALLOW 833*b3cff10cSYuri Pankoventries found in the 834*b3cff10cSYuri Pankov.Sy ACL 835*b3cff10cSYuri Pankovsuch that they are no greater than the group permissions specified by 836*b3cff10cSYuri Pankov.Xr chmod 2 . 837*b3cff10cSYuri Pankov.It Sy passthrough 838*b3cff10cSYuri Pankovindicates that no changes are made to the 839*b3cff10cSYuri Pankov.Sy ACL 840*b3cff10cSYuri Pankovother than creating or updating the necessary 841*b3cff10cSYuri Pankov.Sy ACE Ns s 842*b3cff10cSYuri Pankovto represent the new mode of the file or directory. 843*b3cff10cSYuri Pankov.It Sy restricted 844*b3cff10cSYuri Pankovcauses the 845*b3cff10cSYuri Pankov.Xr chmod 2 846*b3cff10cSYuri Pankovoperation to return an error when used on any file or directory which has a 847*b3cff10cSYuri Pankovnon-trivial 848*b3cff10cSYuri Pankov.Sy ACE Ns s 849*b3cff10cSYuri Pankovwhose entries can not be represented by a mode. 850*b3cff10cSYuri Pankov.El 851*b3cff10cSYuri Pankov.Pp 852*b3cff10cSYuri Pankov.Xr chmod 2 853*b3cff10cSYuri Pankovis required to change the set user ID, set group ID, or sticky bits on a file or 854*b3cff10cSYuri Pankovdirectory, as they do not have equivalent 855*b3cff10cSYuri Pankov.Sy ACE Ns s. 856*b3cff10cSYuri PankovIn order to use 857*b3cff10cSYuri Pankov.Xr chmod 2 858*b3cff10cSYuri Pankovon a file or directory with a non-trivial 859*b3cff10cSYuri Pankov.Sy ACL 860*b3cff10cSYuri Pankovwhen 861*b3cff10cSYuri Pankov.Sy aclmode 862*b3cff10cSYuri Pankovis set to 863*b3cff10cSYuri Pankov.Sy restricted , 864*b3cff10cSYuri Pankovyou must first remove all 865*b3cff10cSYuri Pankov.Sy ACE Ns s 866*b3cff10cSYuri Pankovwhich do not represent the current mode. 867*b3cff10cSYuri Pankov.It Sy atime Ns = Ns Sy on Ns | Ns Sy off 868c10c16deSRichard LoweControls whether the access time for files is updated when they are read. 869c10c16deSRichard LoweTurning this property off avoids producing write traffic when reading files and 870c10c16deSRichard Lowecan result in significant performance gains, though it might confuse mailers 871*b3cff10cSYuri Pankovand other similar utilities. The default value is 872*b3cff10cSYuri Pankov.Sy on . 873*b3cff10cSYuri Pankov.It Sy canmount Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy noauto 874*b3cff10cSYuri PankovIf this property is set to 875*b3cff10cSYuri Pankov.Sy off , 876*b3cff10cSYuri Pankovthe file system cannot be mounted, and is ignored by 877*b3cff10cSYuri Pankov.Nm zfs Cm mount Fl a . 878*b3cff10cSYuri PankovSetting this property to 879*b3cff10cSYuri Pankov.Sy off 880*b3cff10cSYuri Pankovis similar to setting the 881*b3cff10cSYuri Pankov.Sy mountpoint 882*b3cff10cSYuri Pankovproperty to 883*b3cff10cSYuri Pankov.Sy none , 884*b3cff10cSYuri Pankovexcept that the dataset still has a normal 885*b3cff10cSYuri Pankov.Sy mountpoint 886*b3cff10cSYuri Pankovproperty, which can be inherited. Setting this property to 887*b3cff10cSYuri Pankov.Sy off 888*b3cff10cSYuri Pankovallows datasets to be used solely as a mechanism to inherit properties. One 889*b3cff10cSYuri Pankovexample of setting 890*b3cff10cSYuri Pankov.Sy canmount Ns = Ns Sy off 891*b3cff10cSYuri Pankovis to have two datasets with the same 892*b3cff10cSYuri Pankov.Sy mountpoint , 893*b3cff10cSYuri Pankovso that the children of both datasets appear in the same directory, but might 894*b3cff10cSYuri Pankovhave different inherited characteristics. 895*b3cff10cSYuri Pankov.Pp 896*b3cff10cSYuri PankovWhen set to 897*b3cff10cSYuri Pankov.Sy noauto , 898*b3cff10cSYuri Pankova dataset can only be mounted and unmounted explicitly. The dataset is not 899*b3cff10cSYuri Pankovmounted automatically when the dataset is created or imported, nor is it mounted 900*b3cff10cSYuri Pankovby the 901*b3cff10cSYuri Pankov.Nm zfs Cm mount Fl a 902*b3cff10cSYuri Pankovcommand or unmounted by the 903*b3cff10cSYuri Pankov.Nm zfs Cm unmount Fl a 904*b3cff10cSYuri Pankovcommand. 905*b3cff10cSYuri Pankov.Pp 906c10c16deSRichard LoweThis property is not inherited. 907*b3cff10cSYuri Pankov.It Xo 908*b3cff10cSYuri Pankov.Sy checksum Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy fletcher2 Ns | Ns 909*b3cff10cSYuri Pankov.Sy fletcher4 Ns | Ns Sy sha256 Ns | Ns Sy noparity 910*b3cff10cSYuri Pankov.Xc 911c10c16deSRichard LoweControls the checksum used to verify data integrity. The default value is 912*b3cff10cSYuri Pankov.Sy on , 913*b3cff10cSYuri Pankovwhich automatically selects an appropriate algorithm 914*b3cff10cSYuri Pankov.Po currently, 915*b3cff10cSYuri Pankov.Sy fletcher4 , 916*b3cff10cSYuri Pankovbut this may change in future releases 917*b3cff10cSYuri Pankov.Pc . 918*b3cff10cSYuri PankovThe value 919*b3cff10cSYuri Pankov.Sy off 920*b3cff10cSYuri Pankovdisables integrity checking on user data. The value 921*b3cff10cSYuri Pankov.Sy noparity 922*b3cff10cSYuri Pankovnot only disables integrity but also disables maintaining parity for user data. 923*b3cff10cSYuri PankovThis setting is used internally by a dump device residing on a RAID-Z pool and 924*b3cff10cSYuri Pankovshould not be used by any other dataset. Disabling checksums is 925*b3cff10cSYuri Pankov.Sy NOT 926*b3cff10cSYuri Pankova recommended practice. 927*b3cff10cSYuri Pankov.Pp 928c10c16deSRichard LoweChanging this property affects only newly-written data. 929*b3cff10cSYuri Pankov.It Xo 930*b3cff10cSYuri Pankov.Sy compression Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Sy gzip Ns | Ns 931*b3cff10cSYuri Pankov.Sy gzip- Ns Em N Ns | Ns Sy lz4 Ns | Ns Sy lzjb Ns | Ns Sy zle 932*b3cff10cSYuri Pankov.Xc 933db1741f5SJustin T. GibbsControls the compression algorithm used for this dataset. 934*b3cff10cSYuri Pankov.Pp 935*b3cff10cSYuri PankovSetting compression to 936*b3cff10cSYuri Pankov.Sy on 937*b3cff10cSYuri Pankovindicates that the current default compression algorithm should be used. The 938*b3cff10cSYuri Pankovdefault balances compression and decompression speed, with compression ratio and 939*b3cff10cSYuri Pankovis expected to work well on a wide variety of workloads. Unlike all other 940*b3cff10cSYuri Pankovsettings for this property, 941*b3cff10cSYuri Pankov.Sy on 942*b3cff10cSYuri Pankovdoes not select a fixed compression type. As new compression algorithms are 943*b3cff10cSYuri Pankovadded to ZFS and enabled on a pool, the default compression algorithm may 944*b3cff10cSYuri Pankovchange. The current default compression algorthm is either 945*b3cff10cSYuri Pankov.Sy lzjb 946*b3cff10cSYuri Pankovor, if the 947*b3cff10cSYuri Pankov.Sy lz4_compress 948*b3cff10cSYuri Pankovfeature is enabled, 949*b3cff10cSYuri Pankov.Sy lz4 . 950*b3cff10cSYuri Pankov.Pp 951*b3cff10cSYuri PankovThe 952*b3cff10cSYuri Pankov.Sy lz4 953*b3cff10cSYuri Pankovcompression algorithm is a high-performance replacement for the 954*b3cff10cSYuri Pankov.Sy lzjb 955*b3cff10cSYuri Pankovalgorithm. It features significantly faster compression and decompression, as 956*b3cff10cSYuri Pankovwell as a moderately higher compression ratio than 957*b3cff10cSYuri Pankov.Sy lzjb , 958*b3cff10cSYuri Pankovbut can only be used on pools with the 959*b3cff10cSYuri Pankov.Sy lz4_compress 960*b3cff10cSYuri Pankovfeature set to 961*b3cff10cSYuri Pankov.Sy enabled . 962*b3cff10cSYuri PankovSee 963*b3cff10cSYuri Pankov.Xr zpool-features 5 964*b3cff10cSYuri Pankovfor details on ZFS feature flags and the 965*b3cff10cSYuri Pankov.Sy lz4_compress 966*b3cff10cSYuri Pankovfeature. 967*b3cff10cSYuri Pankov.Pp 968*b3cff10cSYuri PankovThe 969*b3cff10cSYuri Pankov.Sy lzjb 970*b3cff10cSYuri Pankovcompression algorithm is optimized for performance while providing decent data 971*b3cff10cSYuri Pankovcompression. 972*b3cff10cSYuri Pankov.Pp 973*b3cff10cSYuri PankovThe 974*b3cff10cSYuri Pankov.Sy gzip 975*b3cff10cSYuri Pankovcompression algorithm uses the same compression as the 976*b3cff10cSYuri Pankov.Xr gzip 1 977*b3cff10cSYuri Pankovcommand. You can specify the 978*b3cff10cSYuri Pankov.Sy gzip 979*b3cff10cSYuri Pankovlevel by using the value 980*b3cff10cSYuri Pankov.Sy gzip- Ns Em N , 981*b3cff10cSYuri Pankovwhere 982*b3cff10cSYuri Pankov.Em N 983*b3cff10cSYuri Pankovis an integer from 1 984*b3cff10cSYuri Pankov.Pq fastest 985*b3cff10cSYuri Pankovto 9 986*b3cff10cSYuri Pankov.Pq best compression ratio . 987*b3cff10cSYuri PankovCurrently, 988*b3cff10cSYuri Pankov.Sy gzip 989*b3cff10cSYuri Pankovis equivalent to 990*b3cff10cSYuri Pankov.Sy gzip-6 991*b3cff10cSYuri Pankov.Po which is also the default for 992*b3cff10cSYuri Pankov.Xr gzip 1 993*b3cff10cSYuri Pankov.Pc . 994*b3cff10cSYuri Pankov.Pp 995*b3cff10cSYuri PankovThe 996*b3cff10cSYuri Pankov.Sy zle 997*b3cff10cSYuri Pankovcompression algorithm compresses runs of zeros. 998*b3cff10cSYuri Pankov.Pp 999c10c16deSRichard LoweThis property can also be referred to by its shortened column name 1000c10c16deSRichard Lowe\fBcompress\fR. Changing this property affects only newly-written data. 1001*b3cff10cSYuri Pankov.It Sy copies Ns = Ns Sy 1 Ns | Ns Sy 2 Ns | Ns Sy 3 1002c10c16deSRichard LoweControls the number of copies of data stored for this dataset. These copies are 1003c10c16deSRichard Lowein addition to any redundancy provided by the pool, for example, mirroring or 1004c10c16deSRichard LoweRAID-Z. The copies are stored on different disks, if possible. The space used 1005c10c16deSRichard Loweby multiple copies is charged to the associated file and dataset, changing the 1006*b3cff10cSYuri Pankov.Sy used 1007*b3cff10cSYuri Pankovproperty and counting against quotas and reservations. 1008*b3cff10cSYuri Pankov.Pp 1009c10c16deSRichard LoweChanging this property only affects newly-written data. Therefore, set this 1010*b3cff10cSYuri Pankovproperty at file system creation time by using the 1011*b3cff10cSYuri Pankov.Fl o Sy copies Ns = Ns Ar N 1012*b3cff10cSYuri Pankovoption. 1013*b3cff10cSYuri Pankov.It Sy devices Ns = Ns Sy on Ns | Ns Sy off 1014c10c16deSRichard LoweControls whether device nodes can be opened on this file system. The default 1015*b3cff10cSYuri Pankovvalue is 1016*b3cff10cSYuri Pankov.Sy on . 1017*b3cff10cSYuri Pankov.It Sy exec Ns = Ns Sy on Ns | Ns Sy off 1018c10c16deSRichard LoweControls whether processes can be executed from within this file system. The 1019*b3cff10cSYuri Pankovdefault value is 1020*b3cff10cSYuri Pankov.Sy on . 1021*b3cff10cSYuri Pankov.It Sy filesystem_limit Ns = Ns Em count Ns | Ns Sy none 1022a2afb611SJerry JelinekLimits the number of filesystems and volumes that can exist under this point in 1023a2afb611SJerry Jelinekthe dataset tree. The limit is not enforced if the user is allowed to change 1024*b3cff10cSYuri Pankovthe limit. Setting a 1025*b3cff10cSYuri Pankov.Sy filesystem_limit 1026*b3cff10cSYuri Pankovto 1027*b3cff10cSYuri Pankov.Sy on 1028*b3cff10cSYuri Pankova descendent of a filesystem that already has a 1029*b3cff10cSYuri Pankov.Sy filesystem_limit 1030*b3cff10cSYuri Pankovdoes not override the ancestor's 1031*b3cff10cSYuri Pankov.Sy filesystem_limit , 1032a2afb611SJerry Jelinekbut rather imposes an additional limit. This feature must be enabled to be used 1033*b3cff10cSYuri Pankov.Po see 1034*b3cff10cSYuri Pankov.Xr zpool-features 5 1035*b3cff10cSYuri Pankov.Pc . 1036*b3cff10cSYuri Pankov.It Sy mountpoint Ns = Ns Pa path Ns | Ns Sy none Ns | Ns Sy legacy 1037*b3cff10cSYuri PankovControls the mount point used for this file system. See the 1038*b3cff10cSYuri Pankov.Sx Mount Points 1039c10c16deSRichard Lowesection for more information on how this property is used. 1040*b3cff10cSYuri Pankov.Pp 1041*b3cff10cSYuri PankovWhen the 1042*b3cff10cSYuri Pankov.Sy mountpoint 1043*b3cff10cSYuri Pankovproperty is changed for a file system, the file system and any children that 1044*b3cff10cSYuri Pankovinherit the mount point are unmounted. If the new value is 1045*b3cff10cSYuri Pankov.Sy legacy , 1046*b3cff10cSYuri Pankovthen they remain unmounted. Otherwise, they are automatically remounted in the 1047*b3cff10cSYuri Pankovnew location if the property was previously 1048*b3cff10cSYuri Pankov.Sy legacy 1049*b3cff10cSYuri Pankovor 1050*b3cff10cSYuri Pankov.Sy none , 1051*b3cff10cSYuri Pankovor if they were mounted before the property was changed. In addition, any shared 1052*b3cff10cSYuri Pankovfile systems are unshared and shared in the new location. 1053*b3cff10cSYuri Pankov.It Sy nbmand Ns = Ns Sy on Ns | Ns Sy off 1054*b3cff10cSYuri PankovControls whether the file system should be mounted with 1055*b3cff10cSYuri Pankov.Sy nbmand 1056*b3cff10cSYuri Pankov.Pq Non Blocking mandatory locks . 1057*b3cff10cSYuri PankovThis is used for SMB clients. Changes to this property only take effect when the 1058*b3cff10cSYuri Pankovfile system is umounted and remounted. See 1059*b3cff10cSYuri Pankov.Xr mount 1M 1060*b3cff10cSYuri Pankovfor more information on 1061*b3cff10cSYuri Pankov.Sy nbmand 1062*b3cff10cSYuri Pankovmounts. 1063*b3cff10cSYuri Pankov.It Sy primarycache Ns = Ns Sy all Ns | Ns Sy none Ns | Ns Sy metadata 1064*b3cff10cSYuri PankovControls what is cached in the primary cache 1065*b3cff10cSYuri Pankov.Pq ARC . 1066*b3cff10cSYuri PankovIf this property is set to 1067*b3cff10cSYuri Pankov.Sy all , 1068*b3cff10cSYuri Pankovthen both user data and metadata is cached. If this property is set to 1069*b3cff10cSYuri Pankov.Sy none , 1070*b3cff10cSYuri Pankovthen neither user data nor metadata is cached. If this property is set to 1071*b3cff10cSYuri Pankov.Sy metadata , 1072*b3cff10cSYuri Pankovthen only metadata is cached. The default value is 1073*b3cff10cSYuri Pankov.Sy all . 1074*b3cff10cSYuri Pankov.It Sy quota Ns = Ns Em size Ns | Ns Sy none 1075c10c16deSRichard LoweLimits the amount of space a dataset and its descendents can consume. This 1076c10c16deSRichard Loweproperty enforces a hard limit on the amount of space used. This includes all 1077c10c16deSRichard Lowespace consumed by descendents, including file systems and snapshots. Setting a 1078c10c16deSRichard Lowequota on a descendent of a dataset that already has a quota does not override 1079c10c16deSRichard Lowethe ancestor's quota, but rather imposes an additional limit. 1080*b3cff10cSYuri Pankov.Pp 1081*b3cff10cSYuri PankovQuotas cannot be set on volumes, as the 1082*b3cff10cSYuri Pankov.Sy volsize 1083*b3cff10cSYuri Pankovproperty acts as an implicit quota. 1084*b3cff10cSYuri Pankov.It Sy snapshot_limit Ns = Ns Em count Ns | Ns Sy none 1085a2afb611SJerry JelinekLimits the number of snapshots that can be created on a dataset and its 1086*b3cff10cSYuri Pankovdescendents. Setting a 1087*b3cff10cSYuri Pankov.Sy snapshot_limit 1088*b3cff10cSYuri Pankovon a descendent of a dataset that already has a 1089*b3cff10cSYuri Pankov.Sy snapshot_limit 1090*b3cff10cSYuri Pankovdoes not override the ancestor's 1091*b3cff10cSYuri Pankov.Sy snapshot_limit , 1092*b3cff10cSYuri Pankovbut rather imposes an additional limit. The limit is not enforced if the user is 1093a2afb611SJerry Jelinekallowed to change the limit. For example, this means that recursive snapshots 1094a2afb611SJerry Jelinektaken from the global zone are counted against each delegated dataset within 1095*b3cff10cSYuri Pankova zone. This feature must be enabled to be used 1096*b3cff10cSYuri Pankov.Po see 1097*b3cff10cSYuri Pankov.Xr zpool-features 5 1098*b3cff10cSYuri Pankov.Pc . 1099*b3cff10cSYuri Pankov.It Sy userquota@ Ns Em user Ns = Ns Em size Ns | Ns Sy none 1100c10c16deSRichard LoweLimits the amount of space consumed by the specified user. User space 1101*b3cff10cSYuri Pankovconsumption is identified by the 1102*b3cff10cSYuri Pankov.Sy userspace@ Ns Em user 1103*b3cff10cSYuri Pankovproperty. 1104*b3cff10cSYuri Pankov.Pp 1105c10c16deSRichard LoweEnforcement of user quotas may be delayed by several seconds. This delay means 1106c10c16deSRichard Lowethat a user might exceed their quota before the system notices that they are 1107*b3cff10cSYuri Pankovover quota and begins to refuse additional writes with the 1108*b3cff10cSYuri Pankov.Er EDQUOT 1109*b3cff10cSYuri Pankoverror message. See the 1110*b3cff10cSYuri Pankov.Nm zfs Cm userspace 1111*b3cff10cSYuri Pankovsubcommand for more information. 1112*b3cff10cSYuri Pankov.Pp 1113c10c16deSRichard LoweUnprivileged users can only access their own groups' space usage. The root 1114*b3cff10cSYuri Pankovuser, or a user who has been granted the 1115*b3cff10cSYuri Pankov.Sy userquota 1116*b3cff10cSYuri Pankovprivilege with 1117*b3cff10cSYuri Pankov.Nm zfs Cm allow , 1118*b3cff10cSYuri Pankovcan get and set everyone's quota. 1119*b3cff10cSYuri Pankov.Pp 1120c10c16deSRichard LoweThis property is not available on volumes, on file systems before version 4, or 1121*b3cff10cSYuri Pankovon pools before version 15. The 1122*b3cff10cSYuri Pankov.Sy userquota@ Ns Em ... 1123*b3cff10cSYuri Pankovproperties are not displayed by 1124*b3cff10cSYuri Pankov.Nm zfs Cm get Sy all . 1125*b3cff10cSYuri PankovThe user's name must be appended after the 1126*b3cff10cSYuri Pankov.Sy @ 1127*b3cff10cSYuri Pankovsymbol, using one of the following forms: 1128*b3cff10cSYuri Pankov.Bl -bullet 1129*b3cff10cSYuri Pankov.It 1130*b3cff10cSYuri Pankov.Em POSIX name 1131*b3cff10cSYuri Pankov.Po for example, 1132*b3cff10cSYuri Pankov.Sy joe 1133*b3cff10cSYuri Pankov.Pc 1134*b3cff10cSYuri Pankov.It 1135*b3cff10cSYuri Pankov.Em POSIX numeric ID 1136*b3cff10cSYuri Pankov.Po for example, 1137*b3cff10cSYuri Pankov.Sy 789 1138*b3cff10cSYuri Pankov.Pc 1139*b3cff10cSYuri Pankov.It 1140*b3cff10cSYuri Pankov.Em SID name 1141*b3cff10cSYuri Pankov.Po for example, 1142*b3cff10cSYuri Pankov.Sy joe.smith@mydomain 1143*b3cff10cSYuri Pankov.Pc 1144*b3cff10cSYuri Pankov.It 1145*b3cff10cSYuri Pankov.Em SID numeric ID 1146*b3cff10cSYuri Pankov.Po for example, 1147*b3cff10cSYuri Pankov.Sy S-1-123-456-789 1148*b3cff10cSYuri Pankov.Pc 1149*b3cff10cSYuri Pankov.El 1150*b3cff10cSYuri Pankov.It Sy groupquota@ Ns Em group Ns = Ns Em size Ns | Ns Sy none 1151c10c16deSRichard LoweLimits the amount of space consumed by the specified group. Group space 1152*b3cff10cSYuri Pankovconsumption is identified by the 1153*b3cff10cSYuri Pankov.Sy groupused@ Ns Em group 1154*b3cff10cSYuri Pankovproperty. 1155*b3cff10cSYuri Pankov.Pp 1156c10c16deSRichard LoweUnprivileged users can access only their own groups' space usage. The root 1157*b3cff10cSYuri Pankovuser, or a user who has been granted the 1158*b3cff10cSYuri Pankov.Sy groupquota 1159*b3cff10cSYuri Pankovprivilege with 1160*b3cff10cSYuri Pankov.Nm zfs Cm allow , 1161*b3cff10cSYuri Pankovcan get and set all groups' quotas. 1162*b3cff10cSYuri Pankov.It Sy readonly Ns = Ns Sy on Ns | Ns Sy off 1163*b3cff10cSYuri PankovControls whether this dataset can be modified. The default value is 1164*b3cff10cSYuri Pankov.Sy off . 1165*b3cff10cSYuri Pankov.Pp 1166c10c16deSRichard LoweThis property can also be referred to by its shortened column name, 1167*b3cff10cSYuri Pankov.Sy rdonly . 1168*b3cff10cSYuri Pankov.It Sy recordsize Ns = Ns Em size 1169c10c16deSRichard LoweSpecifies a suggested block size for files in the file system. This property is 1170c10c16deSRichard Lowedesigned solely for use with database workloads that access files in fixed-size 1171*b3cff10cSYuri Pankovrecords. ZFS automatically tunes block sizes according to internal algorithms 1172*b3cff10cSYuri Pankovoptimized for typical access patterns. 1173*b3cff10cSYuri Pankov.Pp 1174c10c16deSRichard LoweFor databases that create very large files but access them in small random 1175*b3cff10cSYuri Pankovchunks, these algorithms may be suboptimal. Specifying a 1176*b3cff10cSYuri Pankov.Sy recordsize 1177c10c16deSRichard Lowegreater than or equal to the record size of the database can result in 1178c10c16deSRichard Lowesignificant performance gains. Use of this property for general purpose file 1179c10c16deSRichard Lowesystems is strongly discouraged, and may adversely affect performance. 1180*b3cff10cSYuri Pankov.Pp 1181c10c16deSRichard LoweThe size specified must be a power of two greater than or equal to 512 and less 1182*b3cff10cSYuri Pankovthan or equal to 128 Kbytes. If the 1183*b3cff10cSYuri Pankov.Sy large_blocks 1184*b3cff10cSYuri Pankovfeature is enabled on the pool, the size may be up to 1 Mbyte. See 1185*b3cff10cSYuri Pankov.Xr zpool-features 5 1186b5152584SMatthew Ahrensfor details on ZFS feature flags. 1187*b3cff10cSYuri Pankov.Pp 1188*b3cff10cSYuri PankovChanging the file system's 1189*b3cff10cSYuri Pankov.Sy recordsize 1190*b3cff10cSYuri Pankovaffects only files created afterward; existing files are unaffected. 1191*b3cff10cSYuri Pankov.Pp 1192c10c16deSRichard LoweThis property can also be referred to by its shortened column name, 1193*b3cff10cSYuri Pankov.Sy recsize . 1194*b3cff10cSYuri Pankov.It Sy redundant_metadata Ns = Ns Sy all Ns | Ns Sy most 1195*b3cff10cSYuri PankovControls what types of metadata are stored redundantly. ZFS stores an extra copy 1196*b3cff10cSYuri Pankovof metadata, so that if a single block is corrupted, the amount of user data 1197*b3cff10cSYuri Pankovlost is limited. This extra copy is in addition to any redundancy provided at 1198*b3cff10cSYuri Pankovthe pool level 1199*b3cff10cSYuri Pankov.Pq e.g. by mirroring or RAID-Z , 1200*b3cff10cSYuri Pankovand is in addition to an extra copy specified by the 1201*b3cff10cSYuri Pankov.Sy copies 1202*b3cff10cSYuri Pankovproperty 1203*b3cff10cSYuri Pankov.Pq up to a total of 3 copies . 1204*b3cff10cSYuri PankovFor example if the pool is mirrored, 1205*b3cff10cSYuri Pankov.Sy copies Ns = Ns 2 , 1206*b3cff10cSYuri Pankovand 1207*b3cff10cSYuri Pankov.Sy redundant_metadata Ns = Ns Sy most , 1208*b3cff10cSYuri Pankovthen ZFS stores 6 copies of most metadata, and 4 copies of data and some 1209edf345e6SMatthew Ahrensmetadata. 1210*b3cff10cSYuri Pankov.Pp 1211*b3cff10cSYuri PankovWhen set to 1212*b3cff10cSYuri Pankov.Sy all , 1213*b3cff10cSYuri PankovZFS stores an extra copy of all metadata. If a single on-disk block is corrupt, 1214*b3cff10cSYuri Pankovat worst a single block of user data 1215*b3cff10cSYuri Pankov.Po which is 1216*b3cff10cSYuri Pankov.Sy recordsize 1217*b3cff10cSYuri Pankovbytes long 1218*b3cff10cSYuri Pankov.Pc 1219*b3cff10cSYuri Pankovcan be lost. 1220*b3cff10cSYuri Pankov.Pp 1221*b3cff10cSYuri PankovWhen set to 1222*b3cff10cSYuri Pankov.Sy most , 1223*b3cff10cSYuri PankovZFS stores an extra copy of most types of metadata. This can improve performance 1224*b3cff10cSYuri Pankovof random writes, because less metadata must be written. In practice, at worst 1225*b3cff10cSYuri Pankovabout 100 blocks 1226*b3cff10cSYuri Pankov.Po of 1227*b3cff10cSYuri Pankov.Sy recordsize 1228*b3cff10cSYuri Pankovbytes each 1229*b3cff10cSYuri Pankov.Pc 1230*b3cff10cSYuri Pankovof user data can be lost if a single on-disk block is corrupt. The exact 1231*b3cff10cSYuri Pankovbehavior of which metadata blocks are stored redundantly may change in future 1232*b3cff10cSYuri Pankovreleases. 1233*b3cff10cSYuri Pankov.Pp 1234*b3cff10cSYuri PankovThe default value is 1235*b3cff10cSYuri Pankov.Sy all . 1236*b3cff10cSYuri Pankov.It Sy refquota Ns = Ns Em size Ns | Ns Sy none 1237c10c16deSRichard LoweLimits the amount of space a dataset can consume. This property enforces a hard 1238c10c16deSRichard Lowelimit on the amount of space used. This hard limit does not include space used 1239c10c16deSRichard Loweby descendents, including file systems and snapshots. 1240*b3cff10cSYuri Pankov.It Sy refreservation Ns = Ns Em size Ns | Ns Sy none 1241c10c16deSRichard LoweThe minimum amount of space guaranteed to a dataset, not including its 1242c10c16deSRichard Lowedescendents. When the amount of space used is below this value, the dataset is 1243c10c16deSRichard Lowetreated as if it were taking up the amount of space specified by 1244*b3cff10cSYuri Pankov.Sy refreservation . 1245*b3cff10cSYuri PankovThe 1246*b3cff10cSYuri Pankov.Sy refreservation 1247*b3cff10cSYuri Pankovreservation is accounted for in the parent datasets' space used, and counts 1248*b3cff10cSYuri Pankovagainst the parent datasets' quotas and reservations. 1249*b3cff10cSYuri Pankov.Pp 1250*b3cff10cSYuri PankovIf 1251*b3cff10cSYuri Pankov.Sy refreservation 1252*b3cff10cSYuri Pankovis set, a snapshot is only allowed if there is enough free pool space outside of 1253*b3cff10cSYuri Pankovthis reservation to accommodate the current number of 1254*b3cff10cSYuri Pankov.Qq referenced 1255*b3cff10cSYuri Pankovbytes in the dataset. 1256*b3cff10cSYuri Pankov.Pp 1257c10c16deSRichard LoweThis property can also be referred to by its shortened column name, 1258*b3cff10cSYuri Pankov.Sy refreserv . 1259*b3cff10cSYuri Pankov.It Sy reservation Ns = Ns Em size Ns | Ns Sy none 1260c10c16deSRichard LoweThe minimum amount of space guaranteed to a dataset and its descendents. When 1261c10c16deSRichard Lowethe amount of space used is below this value, the dataset is treated as if it 1262c10c16deSRichard Lowewere taking up the amount of space specified by its reservation. Reservations 1263c10c16deSRichard Loweare accounted for in the parent datasets' space used, and count against the 1264c10c16deSRichard Loweparent datasets' quotas and reservations. 1265*b3cff10cSYuri Pankov.Pp 1266c10c16deSRichard LoweThis property can also be referred to by its shortened column name, 1267*b3cff10cSYuri Pankov.Sy reserv . 1268*b3cff10cSYuri Pankov.It Sy secondarycache Ns = Ns Sy all Ns | Ns Sy none Ns | Ns Sy metadata 1269*b3cff10cSYuri PankovControls what is cached in the secondary cache 1270*b3cff10cSYuri Pankov.Pq L2ARC . 1271*b3cff10cSYuri PankovIf this property is set to 1272*b3cff10cSYuri Pankov.Sy all , 1273*b3cff10cSYuri Pankovthen both user data and metadata is cached. If this property is set to 1274*b3cff10cSYuri Pankov.Sy none , 1275*b3cff10cSYuri Pankovthen neither user data nor metadata is cached. If this property is set to 1276*b3cff10cSYuri Pankov.Sy metadata , 1277*b3cff10cSYuri Pankovthen only metadata is cached. The default value is 1278*b3cff10cSYuri Pankov.Sy all . 1279*b3cff10cSYuri Pankov.It Sy setuid Ns = Ns Sy on Ns | Ns Sy off 1280*b3cff10cSYuri PankovControls whether the setuid bit is respected for the file system. The default 1281*b3cff10cSYuri Pankovvalue is 1282*b3cff10cSYuri Pankov.Sy on . 1283*b3cff10cSYuri Pankov.It Sy sharesmb Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Em opts 1284*b3cff10cSYuri PankovControls whether the file system is shared via SMB, and what options are to be 1285*b3cff10cSYuri Pankovused. A file system with the 1286*b3cff10cSYuri Pankov.Sy sharesmb 1287*b3cff10cSYuri Pankovproperty set to 1288*b3cff10cSYuri Pankov.Sy off 1289*b3cff10cSYuri Pankovis managed through traditional tools such as 1290*b3cff10cSYuri Pankov.Xr sharemgr 1M . 1291*b3cff10cSYuri PankovOtherwise, the file system is automatically shared and unshared with the 1292*b3cff10cSYuri Pankov.Nm zfs Cm share 1293*b3cff10cSYuri Pankovand 1294*b3cff10cSYuri Pankov.Nm zfs Cm unshare 1295*b3cff10cSYuri Pankovcommands. If the property is set to 1296*b3cff10cSYuri Pankov.Sy on , 1297*b3cff10cSYuri Pankovthe 1298*b3cff10cSYuri Pankov.Xr sharemgr 1M 1299*b3cff10cSYuri Pankovcommand is invoked with no options. Otherwise, the 1300*b3cff10cSYuri Pankov.Xr sharemgr 1M 1301*b3cff10cSYuri Pankovcommand is invoked with options equivalent to the contents of this property. 1302*b3cff10cSYuri Pankov.Pp 1303*b3cff10cSYuri PankovBecause SMB shares requires a resource name, a unique resource name is 1304*b3cff10cSYuri Pankovconstructed from the dataset name. The constructed name is a copy of the dataset 1305*b3cff10cSYuri Pankovname except that the characters in the dataset name, which would be illegal in 1306*b3cff10cSYuri Pankovthe resource name, are replaced with underscore 1307*b3cff10cSYuri Pankov.Pq Sy _ 1308*b3cff10cSYuri Pankovcharacters. A pseudo property 1309*b3cff10cSYuri Pankov.Qq name 1310*b3cff10cSYuri Pankovis also supported that allows you to replace the data set name with a specified 1311*b3cff10cSYuri Pankovname. The specified name is then used to replace the prefix dataset in the case 1312*b3cff10cSYuri Pankovof inheritance. For example, if the dataset 1313*b3cff10cSYuri Pankov.Em data/home/john 1314*b3cff10cSYuri Pankovis set to 1315*b3cff10cSYuri Pankov.Sy name Ns = Ns Sy john , 1316*b3cff10cSYuri Pankovthen 1317*b3cff10cSYuri Pankov.Em data/home/john 1318*b3cff10cSYuri Pankovhas a resource name of 1319*b3cff10cSYuri Pankov.Sy john . 1320*b3cff10cSYuri PankovIf a child dataset 1321*b3cff10cSYuri Pankov.Em data/home/john/backups 1322*b3cff10cSYuri Pankovis shared, it has a resource name of 1323*b3cff10cSYuri Pankov.Sy john_backups . 1324*b3cff10cSYuri Pankov.Pp 1325c10c16deSRichard LoweWhen SMB shares are created, the SMB share name appears as an entry in the 1326*b3cff10cSYuri Pankov.Pa .zfs/shares 1327*b3cff10cSYuri Pankovdirectory. You can use the 1328*b3cff10cSYuri Pankov.Nm ls 1329*b3cff10cSYuri Pankovor 1330*b3cff10cSYuri Pankov.Nm chmod 1331*b3cff10cSYuri Pankovcommand to display the share-level ACLs on the entries in this directory. 1332*b3cff10cSYuri Pankov.Pp 1333*b3cff10cSYuri PankovWhen the 1334*b3cff10cSYuri Pankov.Sy sharesmb 1335*b3cff10cSYuri Pankovproperty is changed for a dataset, the dataset and any children inheriting the 1336*b3cff10cSYuri Pankovproperty are re-shared with the new options, only if the property was previously 1337*b3cff10cSYuri Pankovset to 1338*b3cff10cSYuri Pankov.Sy off , 1339*b3cff10cSYuri Pankovor if they were shared before the property was changed. If the new property is 1340*b3cff10cSYuri Pankovset to 1341*b3cff10cSYuri Pankov.Sy off , 1342*b3cff10cSYuri Pankovthe file systems are unshared. 1343*b3cff10cSYuri Pankov.It Sy sharenfs Ns = Ns Sy on Ns | Ns Sy off Ns | Ns Em opts 1344*b3cff10cSYuri PankovControls whether the file system is shared via NFS, and what options are to be 1345*b3cff10cSYuri Pankovused. A file system with a 1346*b3cff10cSYuri Pankov.Sy sharenfs 1347*b3cff10cSYuri Pankovproperty of 1348*b3cff10cSYuri Pankov.Sy off 1349*b3cff10cSYuri Pankovis managed through traditional tools such as 1350*b3cff10cSYuri Pankov.Xr share 1M , 1351*b3cff10cSYuri Pankov.Xr unshare 1M , 1352*b3cff10cSYuri Pankovand 1353*b3cff10cSYuri Pankov.Xr dfstab 4 . 1354*b3cff10cSYuri PankovOtherwise, the file system is automatically shared and unshared with the 1355*b3cff10cSYuri Pankov.Nm zfs Cm share 1356*b3cff10cSYuri Pankovand 1357*b3cff10cSYuri Pankov.Nm zfs Cm unshare 1358*b3cff10cSYuri Pankovcommands. If the property is set to 1359*b3cff10cSYuri Pankov.Sy on , 1360*b3cff10cSYuri Pankov.Xr share 1M 1361*b3cff10cSYuri Pankovcommand is invoked with no options. Otherwise, the 1362*b3cff10cSYuri Pankov.Xr share 1M 1363*b3cff10cSYuri Pankovcommand is invoked with options equivalent to the contents of this property. 1364*b3cff10cSYuri Pankov.Pp 1365*b3cff10cSYuri PankovWhen the 1366*b3cff10cSYuri Pankov.Sy sharenfs 1367*b3cff10cSYuri Pankovproperty is changed for a dataset, the dataset and any children inheriting the 1368*b3cff10cSYuri Pankovproperty are re-shared with the new options, only if the property was previously 1369*b3cff10cSYuri Pankov.Sy off , 1370*b3cff10cSYuri Pankovor if they were shared before the property was changed. If the new property is 1371*b3cff10cSYuri Pankov.Sy off , 1372*b3cff10cSYuri Pankovthe file systems are unshared. 1373*b3cff10cSYuri Pankov.It Sy logbias Ns = Ns Sy latency Ns | Ns Sy throughput 1374*b3cff10cSYuri PankovProvide a hint to ZFS about handling of synchronous requests in this dataset. If 1375*b3cff10cSYuri Pankov.Sy logbias 1376*b3cff10cSYuri Pankovis set to 1377*b3cff10cSYuri Pankov.Sy latency 1378*b3cff10cSYuri Pankov.Pq the default , 1379*b3cff10cSYuri PankovZFS will use pool log devices 1380*b3cff10cSYuri Pankov.Pq if configured 1381*b3cff10cSYuri Pankovto handle the requests at low latency. If 1382*b3cff10cSYuri Pankov.Sy logbias 1383*b3cff10cSYuri Pankovis set to 1384*b3cff10cSYuri Pankov.Sy throughput , 1385*b3cff10cSYuri PankovZFS will not use configured pool log devices. ZFS will instead optimize 1386*b3cff10cSYuri Pankovsynchronous operations for global pool throughput and efficient use of 1387*b3cff10cSYuri Pankovresources. 1388*b3cff10cSYuri Pankov.It Sy snapdir Ns = Ns Sy hidden Ns | Ns Sy visible 1389*b3cff10cSYuri PankovControls whether the 1390*b3cff10cSYuri Pankov.Pa .zfs 1391*b3cff10cSYuri Pankovdirectory is hidden or visible in the root of the file system as discussed in 1392*b3cff10cSYuri Pankovthe 1393*b3cff10cSYuri Pankov.Sx Snapshots 1394*b3cff10cSYuri Pankovsection. The default value is 1395*b3cff10cSYuri Pankov.Sy hidden . 1396*b3cff10cSYuri Pankov.It Sy sync Ns = Ns Sy standard Ns | Ns Sy always Ns | Ns Sy disabled 1397*b3cff10cSYuri PankovControls the behavior of synchronous requests 1398*b3cff10cSYuri Pankov.Pq e.g. fsync, O_DSYNC . 1399*b3cff10cSYuri Pankov.Sy standard 1400*b3cff10cSYuri Pankovis the 1401*b3cff10cSYuri Pankov.Tn POSIX 1402*b3cff10cSYuri Pankovspecified behavior of ensuring all synchronous requests are written to stable 1403*b3cff10cSYuri Pankovstorage and all devices are flushed to ensure data is not cached by device 1404*b3cff10cSYuri Pankovcontrollers 1405*b3cff10cSYuri Pankov.Pq this is the default . 1406*b3cff10cSYuri Pankov.Sy always 140719b94df9SMatthew Ahrenscauses every file system transaction to be written and flushed before its 1408*b3cff10cSYuri Pankovsystem call returns. This has a large performance penalty. 1409*b3cff10cSYuri Pankov.Sy disabled 141019b94df9SMatthew Ahrensdisables synchronous requests. File system transactions are only committed to 141119b94df9SMatthew Ahrensstable storage periodically. This option will give the highest performance. 141219b94df9SMatthew AhrensHowever, it is very dangerous as ZFS would be ignoring the synchronous 141319b94df9SMatthew Ahrenstransaction demands of applications such as databases or NFS. Administrators 141419b94df9SMatthew Ahrensshould only use this option when the risks are understood. 1415*b3cff10cSYuri Pankov.It Sy version Ns = Ns Em N Ns | Ns Sy current 1416c10c16deSRichard LoweThe on-disk version of this file system, which is independent of the pool 1417c10c16deSRichard Loweversion. This property can only be set to later supported versions. See the 1418*b3cff10cSYuri Pankov.Nm zfs Cm upgrade 1419*b3cff10cSYuri Pankovcommand. 1420*b3cff10cSYuri Pankov.It Sy volsize Ns = Ns Em size 1421c10c16deSRichard LoweFor volumes, specifies the logical size of the volume. By default, creating a 1422*b3cff10cSYuri Pankovvolume establishes a reservation of equal size. For storage pools with a version 1423*b3cff10cSYuri Pankovnumber of 9 or higher, a 1424*b3cff10cSYuri Pankov.Sy refreservation 1425*b3cff10cSYuri Pankovis set instead. Any changes to 1426*b3cff10cSYuri Pankov.Sy volsize 1427*b3cff10cSYuri Pankovare reflected in an equivalent change to the reservation 1428*b3cff10cSYuri Pankov.Po or 1429*b3cff10cSYuri Pankov.Sy refreservation 1430*b3cff10cSYuri Pankov.Pc . 1431*b3cff10cSYuri PankovThe 1432*b3cff10cSYuri Pankov.Sy volsize 1433*b3cff10cSYuri Pankovcan only be set to a multiple of 1434*b3cff10cSYuri Pankov.Sy volblocksize , 1435*b3cff10cSYuri Pankovand cannot be zero. 1436*b3cff10cSYuri Pankov.Pp 1437*b3cff10cSYuri PankovThe reservation is kept equal to the volume's logical size to prevent unexpected 1438*b3cff10cSYuri Pankovbehavior for consumers. Without the reservation, the volume could run out of 1439*b3cff10cSYuri Pankovspace, resulting in undefined behavior or data corruption, depending on how the 1440*b3cff10cSYuri Pankovvolume is used. These effects can also occur when the volume size is changed 1441*b3cff10cSYuri Pankovwhile it is in use 1442*b3cff10cSYuri Pankov.Pq particularly when shrinking the size . 1443*b3cff10cSYuri PankovExtreme care should be used when adjusting the volume size. 1444*b3cff10cSYuri Pankov.Pp 1445*b3cff10cSYuri PankovThough not recommended, a 1446*b3cff10cSYuri Pankov.Qq sparse volume 1447*b3cff10cSYuri Pankov.Po also known as 1448*b3cff10cSYuri Pankov.Qq thin provisioning 1449*b3cff10cSYuri Pankov.Pc 1450*b3cff10cSYuri Pankovcan be created by specifying the 1451*b3cff10cSYuri Pankov.Fl s 1452*b3cff10cSYuri Pankovoption to the 1453*b3cff10cSYuri Pankov.Nm zfs Cm create Fl V 1454c10c16deSRichard Lowecommand, or by changing the reservation after the volume has been created. A 1455*b3cff10cSYuri Pankov.Qq sparse volume 1456*b3cff10cSYuri Pankovis a volume where the reservation is less then the volume size. Consequently, 1457*b3cff10cSYuri Pankovwrites to a sparse volume can fail with 1458*b3cff10cSYuri Pankov.Er ENOSPC 1459*b3cff10cSYuri Pankovwhen the pool is low on space. For a sparse volume, changes to 1460*b3cff10cSYuri Pankov.Sy volsize 1461*b3cff10cSYuri Pankovare not reflected in the reservation. 1462*b3cff10cSYuri Pankov.It Sy vscan Ns = Ns Sy on Ns | Ns Sy off 1463c10c16deSRichard LoweControls whether regular files should be scanned for viruses when a file is 1464c10c16deSRichard Loweopened and closed. In addition to enabling this property, the virus scan 1465c10c16deSRichard Loweservice must also be enabled for virus scanning to occur. The default value is 1466*b3cff10cSYuri Pankov.Sy off . 1467*b3cff10cSYuri Pankov.It Sy xattr Ns = Ns Sy on Ns | Ns Sy off 1468c10c16deSRichard LoweControls whether extended attributes are enabled for this file system. The 1469*b3cff10cSYuri Pankovdefault value is 1470*b3cff10cSYuri Pankov.Sy on . 1471*b3cff10cSYuri Pankov.It Sy zoned Ns = Ns Sy on Ns | Ns Sy off 1472*b3cff10cSYuri PankovControls whether the dataset is managed from a non-global zone. See the 1473*b3cff10cSYuri Pankov.Sx Zones 1474*b3cff10cSYuri Pankovsection for more information. The default value is 1475*b3cff10cSYuri Pankov.Sy off . 1476*b3cff10cSYuri Pankov.El 1477*b3cff10cSYuri Pankov.Pp 1478c10c16deSRichard LoweThe following three properties cannot be changed after the file system is 1479c10c16deSRichard Lowecreated, and therefore, should be set when the file system is created. If the 1480*b3cff10cSYuri Pankovproperties are not set with the 1481*b3cff10cSYuri Pankov.Nm zfs Cm create 1482*b3cff10cSYuri Pankovor 1483*b3cff10cSYuri Pankov.Nm zpool Cm create 1484c10c16deSRichard Lowecommands, these properties are inherited from the parent dataset. If the parent 1485c10c16deSRichard Lowedataset lacks these properties due to having been created prior to these 1486c10c16deSRichard Lowefeatures being supported, the new file system will have the default values for 1487c10c16deSRichard Lowethese properties. 1488*b3cff10cSYuri Pankov.Bl -tag -width "" 1489*b3cff10cSYuri Pankov.It Xo 1490*b3cff10cSYuri Pankov.Sy casesensitivity Ns = Ns Sy sensitive Ns | Ns 1491*b3cff10cSYuri Pankov.Sy insensitive Ns | Ns Sy mixed 1492*b3cff10cSYuri Pankov.Xc 1493c10c16deSRichard LoweIndicates whether the file name matching algorithm used by the file system 1494c10c16deSRichard Loweshould be case-sensitive, case-insensitive, or allow a combination of both 1495*b3cff10cSYuri Pankovstyles of matching. The default value for the 1496*b3cff10cSYuri Pankov.Sy casesensitivity 1497*b3cff10cSYuri Pankovproperty is 1498*b3cff10cSYuri Pankov.Sy sensitive . 1499*b3cff10cSYuri PankovTraditionally, 1500*b3cff10cSYuri Pankov.Ux 1501*b3cff10cSYuri Pankovand 1502*b3cff10cSYuri Pankov.Tn POSIX 1503*b3cff10cSYuri Pankovfile systems have case-sensitive file names. 1504*b3cff10cSYuri Pankov.Pp 1505*b3cff10cSYuri PankovThe 1506*b3cff10cSYuri Pankov.Sy mixed 1507*b3cff10cSYuri Pankovvalue for the 1508*b3cff10cSYuri Pankov.Sy casesensitivity 1509*b3cff10cSYuri Pankovproperty indicates that the file system can support requests for both 1510*b3cff10cSYuri Pankovcase-sensitive and case-insensitive matching behavior. Currently, 1511*b3cff10cSYuri Pankovcase-insensitive matching behavior on a file system that supports mixed behavior 1512*b3cff10cSYuri Pankovis limited to the SMB server product. For more information about the 1513*b3cff10cSYuri Pankov.Sy mixed 1514*b3cff10cSYuri Pankovvalue behavior, see the "ZFS Administration Guide". 1515*b3cff10cSYuri Pankov.It Xo 1516*b3cff10cSYuri Pankov.Sy normalization Ns = Ns Sy none Ns | Ns Sy formC Ns | Ns 1517*b3cff10cSYuri Pankov.Sy formD Ns | Ns Sy formKC Ns | Ns Sy formKD 1518*b3cff10cSYuri Pankov.Xc 1519*b3cff10cSYuri PankovIndicates whether the file system should perform a 1520*b3cff10cSYuri Pankov.Sy unicode 1521*b3cff10cSYuri Pankovnormalization of file names whenever two file names are compared, and which 1522*b3cff10cSYuri Pankovnormalization algorithm should be used. File names are always stored unmodified, 1523*b3cff10cSYuri Pankovnames are normalized as part of any comparison process. If this property is set 1524*b3cff10cSYuri Pankovto a legal value other than 1525*b3cff10cSYuri Pankov.Sy none , 1526*b3cff10cSYuri Pankovand the 1527*b3cff10cSYuri Pankov.Sy utf8only 1528*b3cff10cSYuri Pankovproperty was left unspecified, the 1529*b3cff10cSYuri Pankov.Sy utf8only 1530*b3cff10cSYuri Pankovproperty is automatically set to 1531*b3cff10cSYuri Pankov.Sy on . 1532*b3cff10cSYuri PankovThe default value of the 1533*b3cff10cSYuri Pankov.Sy normalization 1534*b3cff10cSYuri Pankovproperty is 1535*b3cff10cSYuri Pankov.Sy none . 1536*b3cff10cSYuri PankovThis property cannot be changed after the file system is created. 1537*b3cff10cSYuri Pankov.It Sy utf8only Ns = Ns Sy on Ns | Ns Sy off 1538c10c16deSRichard LoweIndicates whether the file system should reject file names that include 1539*b3cff10cSYuri Pankovcharacters that are not present in the 1540*b3cff10cSYuri Pankov.Sy UTF-8 1541*b3cff10cSYuri Pankovcharacter code set. If this property is explicitly set to 1542*b3cff10cSYuri Pankov.Sy off , 1543*b3cff10cSYuri Pankovthe normalization property must either not be explicitly set or be set to 1544*b3cff10cSYuri Pankov.Sy none . 1545*b3cff10cSYuri PankovThe default value for the 1546*b3cff10cSYuri Pankov.Sy utf8only 1547*b3cff10cSYuri Pankovproperty is 1548*b3cff10cSYuri Pankov.Sy off . 1549*b3cff10cSYuri PankovThis property cannot be changed after the file system is created. 1550*b3cff10cSYuri Pankov.El 1551*b3cff10cSYuri Pankov.Pp 1552*b3cff10cSYuri PankovThe 1553*b3cff10cSYuri Pankov.Sy casesensitivity , 1554*b3cff10cSYuri Pankov.Sy normalization , 1555*b3cff10cSYuri Pankovand 1556*b3cff10cSYuri Pankov.Sy utf8only 1557*b3cff10cSYuri Pankovproperties are also new permissions that can be assigned to non-privileged users 1558*b3cff10cSYuri Pankovby using the ZFS delegated administration feature. 1559*b3cff10cSYuri Pankov.Ss "Temporary Mount Point Properties" 1560*b3cff10cSYuri PankovWhen a file system is mounted, either through 1561*b3cff10cSYuri Pankov.Xr mount 1M 1562*b3cff10cSYuri Pankovfor legacy mounts or the 1563*b3cff10cSYuri Pankov.Nm zfs Cm mount 1564*b3cff10cSYuri Pankovcommand for normal file systems, its mount options are set according to its 1565*b3cff10cSYuri Pankovproperties. The correlation between properties and mount options is as follows: 1566*b3cff10cSYuri Pankov.Bd -literal 1567c10c16deSRichard Lowe PROPERTY MOUNT OPTION 1568c10c16deSRichard Lowe devices devices/nodevices 1569c10c16deSRichard Lowe exec exec/noexec 1570c10c16deSRichard Lowe readonly ro/rw 1571c10c16deSRichard Lowe setuid setuid/nosetuid 1572c10c16deSRichard Lowe xattr xattr/noxattr 1573*b3cff10cSYuri Pankov.Ed 1574*b3cff10cSYuri Pankov.Pp 1575*b3cff10cSYuri PankovIn addition, these options can be set on a per-mount basis using the 1576*b3cff10cSYuri Pankov.Fl o 1577c10c16deSRichard Loweoption, without affecting the property that is stored on disk. The values 1578c10c16deSRichard Lowespecified on the command line override the values stored in the dataset. The 1579*b3cff10cSYuri Pankov.Sy nosuid 1580*b3cff10cSYuri Pankovoption is an alias for 1581*b3cff10cSYuri Pankov.Sy nodevices Ns , Ns Sy nosetuid . 1582*b3cff10cSYuri PankovThese properties are reported as 1583*b3cff10cSYuri Pankov.Qq temporary 1584*b3cff10cSYuri Pankovby the 1585*b3cff10cSYuri Pankov.Nm zfs Cm get 1586*b3cff10cSYuri Pankovcommand. If the properties are changed while the dataset is mounted, the new 1587*b3cff10cSYuri Pankovsetting overrides any temporary settings. 1588*b3cff10cSYuri Pankov.Ss "User Properties" 1589*b3cff10cSYuri PankovIn addition to the standard native properties, ZFS supports arbitrary user 1590*b3cff10cSYuri Pankovproperties. User properties have no effect on ZFS behavior, but applications or 1591*b3cff10cSYuri Pankovadministrators can use them to annotate datasets 1592*b3cff10cSYuri Pankov.Pq file systems, volumes, and snapshots . 1593*b3cff10cSYuri Pankov.Pp 1594*b3cff10cSYuri PankovUser property names must contain a colon 1595*b3cff10cSYuri Pankov.No Po Ns Sy \&: Ns Pc 1596*b3cff10cSYuri Pankovcharacter to distinguish them from native properties. They may contain lowercase 1597*b3cff10cSYuri Pankovletters, numbers, and the following punctuation characters: colon 1598*b3cff10cSYuri Pankov.Pq Qq Sy \&: , 1599*b3cff10cSYuri Pankovdash 1600*b3cff10cSYuri Pankov.Pq Qq Sy - , 1601*b3cff10cSYuri Pankovperiod 1602*b3cff10cSYuri Pankov.Pq Qq Sy \&. , 1603*b3cff10cSYuri Pankovand underscore 1604*b3cff10cSYuri Pankov.Pq Qq Sy _ . 1605*b3cff10cSYuri PankovThe expected convention is that the property name is divided into two portions 1606*b3cff10cSYuri Pankovsuch as 1607*b3cff10cSYuri Pankov.Em module Ns : Ns Em property , 1608*b3cff10cSYuri Pankovbut this namespace is not enforced by ZFS. 1609*b3cff10cSYuri PankovUser property names can be at most 256 characters, and cannot begin with a dash 1610*b3cff10cSYuri Pankov.Pq Qq Sy - . 1611*b3cff10cSYuri Pankov.Pp 1612*b3cff10cSYuri PankovWhen making programmatic use of user properties, it is strongly suggested to use 1613*b3cff10cSYuri Pankova reversed 1614*b3cff10cSYuri Pankov.Sy DNS 1615*b3cff10cSYuri Pankovdomain name for the 1616*b3cff10cSYuri Pankov.Em module 1617*b3cff10cSYuri Pankovcomponent of property names to reduce the chance that two 1618*b3cff10cSYuri Pankovindependently-developed packages use the same property name for different 1619*b3cff10cSYuri Pankovpurposes. 1620*b3cff10cSYuri Pankov.Pp 1621c10c16deSRichard LoweThe values of user properties are arbitrary strings, are always inherited, and 1622*b3cff10cSYuri Pankovare never validated. All of the commands that operate on properties 1623*b3cff10cSYuri Pankov.Po Nm zfs Cm list , 1624*b3cff10cSYuri Pankov.Nm zfs Cm get , 1625*b3cff10cSYuri Pankov.Nm zfs Cm set , 1626*b3cff10cSYuri Pankovand so forth 1627*b3cff10cSYuri Pankov.Pc 1628*b3cff10cSYuri Pankovcan be used to manipulate both native properties and user properties. Use the 1629*b3cff10cSYuri Pankov.Nm zfs Cm inherit 1630*b3cff10cSYuri Pankovcommand to clear a user property . If the property is not defined in any parent 1631c10c16deSRichard Lowedataset, it is removed entirely. Property values are limited to 1024 1632c10c16deSRichard Lowecharacters. 1633*b3cff10cSYuri Pankov.Ss ZFS Volumes as Swap or Dump Devices 1634*b3cff10cSYuri PankovDuring an initial installation a swap device and dump device are created on ZFS 1635*b3cff10cSYuri Pankovvolumes in the ZFS root pool. By default, the swap area size is based on 1/2 the 1636*b3cff10cSYuri Pankovsize of physical memory up to 2 Gbytes. The size of the dump device depends on 1637*b3cff10cSYuri Pankovthe kernel's requirements at installation time. Separate ZFS volumes must be 1638*b3cff10cSYuri Pankovused for the swap area and dump devices. Do not swap to a file on a ZFS file 1639*b3cff10cSYuri Pankovsystem. A ZFS swap file configuration is not supported. 1640*b3cff10cSYuri Pankov.Pp 1641c10c16deSRichard LoweIf you need to change your swap area or dump device after the system is 1642*b3cff10cSYuri Pankovinstalled or upgraded, use the 1643*b3cff10cSYuri Pankov.Xr swap 1M 1644*b3cff10cSYuri Pankovand 1645*b3cff10cSYuri Pankov.Xr dumpadm 1M 1646*b3cff10cSYuri Pankovcommands. 1647*b3cff10cSYuri Pankov.Sh SUBCOMMANDS 1648c10c16deSRichard LoweAll subcommands that modify state are logged persistently to the pool in their 1649c10c16deSRichard Loweoriginal form. 1650*b3cff10cSYuri Pankov.Bl -tag -width "" 1651*b3cff10cSYuri Pankov.It Nm Fl \? 1652c10c16deSRichard LoweDisplays a help message. 1653*b3cff10cSYuri Pankov.It Xo 1654*b3cff10cSYuri Pankov.Nm 1655*b3cff10cSYuri Pankov.Cm create 1656*b3cff10cSYuri Pankov.Op Fl p 1657*b3cff10cSYuri Pankov.Oo Fl o Ar property Ns = Ns Ar value Oc Ns ... 1658*b3cff10cSYuri Pankov.Ar filesystem 1659*b3cff10cSYuri Pankov.Xc 1660*b3cff10cSYuri PankovCreates a new ZFS file system. The file system is automatically mounted 1661*b3cff10cSYuri Pankovaccording to the 1662*b3cff10cSYuri Pankov.Sy mountpoint 1663*b3cff10cSYuri Pankovproperty inherited from the parent. 1664*b3cff10cSYuri Pankov.Bl -tag -width "-o" 1665*b3cff10cSYuri Pankov.It Fl o Ar property Ns = Ns Ar value 1666*b3cff10cSYuri PankovSets the specified property as if the command 1667*b3cff10cSYuri Pankov.Nm zfs Cm set Ar property Ns = Ns Ar value 1668*b3cff10cSYuri Pankovwas invoked at the same time the dataset was created. Any editable ZFS property 1669*b3cff10cSYuri Pankovcan also be set at creation time. Multiple 1670*b3cff10cSYuri Pankov.Fl o 1671*b3cff10cSYuri Pankovoptions can be specified. An error results if the same property is specified in 1672*b3cff10cSYuri Pankovmultiple 1673*b3cff10cSYuri Pankov.Fl o 1674*b3cff10cSYuri Pankovoptions. 1675*b3cff10cSYuri Pankov.It Fl p 1676c10c16deSRichard LoweCreates all the non-existing parent datasets. Datasets created in this manner 1677*b3cff10cSYuri Pankovare automatically mounted according to the 1678*b3cff10cSYuri Pankov.Sy mountpoint 1679*b3cff10cSYuri Pankovproperty inherited from their parent. Any property specified on the command line 1680*b3cff10cSYuri Pankovusing the 1681*b3cff10cSYuri Pankov.Fl o 1682*b3cff10cSYuri Pankovoption is ignored. If the target filesystem already exists, the operation 1683*b3cff10cSYuri Pankovcompletes successfully. 1684*b3cff10cSYuri Pankov.El 1685*b3cff10cSYuri Pankov.It Xo 1686*b3cff10cSYuri Pankov.Nm 1687*b3cff10cSYuri Pankov.Cm create 1688*b3cff10cSYuri Pankov.Op Fl ps 1689*b3cff10cSYuri Pankov.Op Fl b Ar blocksize 1690*b3cff10cSYuri Pankov.Oo Fl o Ar property Ns = Ns Ar value Oc Ns ... 1691*b3cff10cSYuri Pankov.Fl V Ar size Ar volume 1692*b3cff10cSYuri Pankov.Xc 1693c10c16deSRichard LoweCreates a volume of the given size. The volume is exported as a block device in 1694*b3cff10cSYuri Pankov.Pa /dev/zvol/{dsk,rdsk}/path , 1695*b3cff10cSYuri Pankovwhere 1696*b3cff10cSYuri Pankov.Em path 1697*b3cff10cSYuri Pankovis the name of the volume in the ZFS namespace. The size represents the logical 1698*b3cff10cSYuri Pankovsize as exported by the device. By default, a reservation of equal size is 1699*b3cff10cSYuri Pankovcreated. 1700*b3cff10cSYuri Pankov.Pp 1701*b3cff10cSYuri Pankov.Ar size 1702*b3cff10cSYuri Pankovis automatically rounded up to the nearest 128 Kbytes to ensure that the volume 1703*b3cff10cSYuri Pankovhas an integral number of blocks regardless of 1704*b3cff10cSYuri Pankov.Sy blocksize . 1705*b3cff10cSYuri Pankov.Bl -tag -width "-b" 1706*b3cff10cSYuri Pankov.It Fl b Ar blocksize 1707*b3cff10cSYuri PankovEquivalent to 1708*b3cff10cSYuri Pankov.Fl o Sy volblocksize Ns = Ns Ar blocksize . 1709*b3cff10cSYuri PankovIf this option is specified in conjunction with 1710*b3cff10cSYuri Pankov.Fl o Sy volblocksize , 1711*b3cff10cSYuri Pankovthe resulting behavior is undefined. 1712*b3cff10cSYuri Pankov.It Fl o Ar property Ns = Ns Ar value 1713*b3cff10cSYuri PankovSets the specified property as if the 1714*b3cff10cSYuri Pankov.Nm zfs Cm set Ar property Ns = Ns Ar value 1715*b3cff10cSYuri Pankovcommand was invoked at the same time the dataset was created. Any editable ZFS 1716*b3cff10cSYuri Pankovproperty can also be set at creation time. Multiple 1717*b3cff10cSYuri Pankov.Fl o 1718*b3cff10cSYuri Pankovoptions can be specified. An error results if the same property is specified in 1719*b3cff10cSYuri Pankovmultiple 1720*b3cff10cSYuri Pankov.Fl o 1721*b3cff10cSYuri Pankovoptions. 1722*b3cff10cSYuri Pankov.It Fl p 1723c10c16deSRichard LoweCreates all the non-existing parent datasets. Datasets created in this manner 1724*b3cff10cSYuri Pankovare automatically mounted according to the 1725*b3cff10cSYuri Pankov.Sy mountpoint 1726*b3cff10cSYuri Pankovproperty inherited from their parent. Any property specified on the command line 1727*b3cff10cSYuri Pankovusing the 1728*b3cff10cSYuri Pankov.Fl o 1729*b3cff10cSYuri Pankovoption is ignored. If the target filesystem already exists, the operation 1730*b3cff10cSYuri Pankovcompletes successfully. 1731*b3cff10cSYuri Pankov.It Fl s 1732*b3cff10cSYuri PankovCreates a sparse volume with no reservation. See 1733*b3cff10cSYuri Pankov.Sy volsize 1734*b3cff10cSYuri Pankovin the 1735*b3cff10cSYuri Pankov.Sx Native Properties 1736*b3cff10cSYuri Pankovsection for more information about sparse volumes. 1737*b3cff10cSYuri Pankov.El 1738*b3cff10cSYuri Pankov.It Xo 1739*b3cff10cSYuri Pankov.Nm 1740*b3cff10cSYuri Pankov.Cm destroy 1741*b3cff10cSYuri Pankov.Op Fl Rfnprv 1742*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 1743*b3cff10cSYuri Pankov.Xc 1744c10c16deSRichard LoweDestroys the given dataset. By default, the command unshares any file systems 1745c10c16deSRichard Lowethat are currently shared, unmounts any file systems that are currently 1746*b3cff10cSYuri Pankovmounted, and refuses to destroy a dataset that has active dependents 1747*b3cff10cSYuri Pankov.Pq children or clones . 1748*b3cff10cSYuri Pankov.Bl -tag -width "-R" 1749*b3cff10cSYuri Pankov.It Fl R 1750c10c16deSRichard LoweRecursively destroy all dependents, including cloned file systems outside the 1751c10c16deSRichard Lowetarget hierarchy. 1752*b3cff10cSYuri Pankov.It Fl f 1753*b3cff10cSYuri PankovForce an unmount of any file systems using the 1754*b3cff10cSYuri Pankov.Nm unmount Fl f 1755*b3cff10cSYuri Pankovcommand. This option has no effect on non-file systems or unmounted file 1756*b3cff10cSYuri Pankovsystems. 1757*b3cff10cSYuri Pankov.It Fl n 1758*b3cff10cSYuri PankovDo a dry-run 1759*b3cff10cSYuri Pankov.Pq Qq No-op 1760*b3cff10cSYuri Pankovdeletion. No data will be deleted. This is useful in conjunction with the 1761*b3cff10cSYuri Pankov.Fl v 1762*b3cff10cSYuri Pankovor 1763*b3cff10cSYuri Pankov.Fl p 1764*b3cff10cSYuri Pankovflags to determine what data would be deleted. 1765*b3cff10cSYuri Pankov.It Fl p 176619b94df9SMatthew AhrensPrint machine-parsable verbose information about the deleted data. 1767*b3cff10cSYuri Pankov.It Fl r 1768*b3cff10cSYuri PankovRecursively destroy all children. 1769*b3cff10cSYuri Pankov.It Fl v 177019b94df9SMatthew AhrensPrint verbose information about the deleted data. 1771*b3cff10cSYuri Pankov.El 1772*b3cff10cSYuri Pankov.Pp 1773*b3cff10cSYuri PankovExtreme care should be taken when applying either the 1774*b3cff10cSYuri Pankov.Fl r 1775*b3cff10cSYuri Pankovor the 1776*b3cff10cSYuri Pankov.Fl R 1777c10c16deSRichard Loweoptions, as they can destroy large portions of a pool and cause unexpected 1778c10c16deSRichard Lowebehavior for mounted file systems in use. 1779*b3cff10cSYuri Pankov.It Xo 1780*b3cff10cSYuri Pankov.Nm 1781*b3cff10cSYuri Pankov.Cm destroy 1782*b3cff10cSYuri Pankov.Op Fl Rdnprv 1783*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns @ Ns Ar snap Ns 1784*b3cff10cSYuri Pankov.Oo % Ns Ar snap Ns Oo , Ns Ar snap Ns Oo % Ns Ar snap Oc Oc Oc Ns ... 1785*b3cff10cSYuri Pankov.Xc 1786*b3cff10cSYuri PankovThe given snapshots are destroyed immediately if and only if the 1787*b3cff10cSYuri Pankov.Nm zfs Cm destroy 1788*b3cff10cSYuri Pankovcommand without the 1789*b3cff10cSYuri Pankov.Fl d 1790*b3cff10cSYuri Pankovoption would have destroyed it. Such immediate destruction would occur, for 1791*b3cff10cSYuri Pankovexample, if the snapshot had no clones and the user-initiated reference count 1792*b3cff10cSYuri Pankovwere zero. 1793*b3cff10cSYuri Pankov.Pp 179419b94df9SMatthew AhrensIf a snapshot does not qualify for immediate destruction, it is marked for 1795c10c16deSRichard Lowedeferred deletion. In this state, it exists as a usable, visible snapshot until 1796c10c16deSRichard Loweboth of the preconditions listed above are met, at which point it is destroyed. 1797*b3cff10cSYuri Pankov.Pp 1798*b3cff10cSYuri PankovAn inclusive range of snapshots may be specified by separating the first and 1799*b3cff10cSYuri Pankovlast snapshots with a percent sign. The first and/or last snapshots may be left 1800*b3cff10cSYuri Pankovblank, in which case the filesystem's oldest or newest snapshot will be implied. 1801*b3cff10cSYuri Pankov.Pp 180219b94df9SMatthew AhrensMultiple snapshots 1803*b3cff10cSYuri Pankov.Pq or ranges of snapshots 1804*b3cff10cSYuri Pankovof the same filesystem or volume may be specified in a comma-separated list of 1805*b3cff10cSYuri Pankovsnapshots. Only the snapshot's short name 1806*b3cff10cSYuri Pankov.Po the part after the 1807*b3cff10cSYuri Pankov.Sy @ 1808*b3cff10cSYuri Pankov.Pc 1809*b3cff10cSYuri Pankovshould be specified when using a range or comma-separated list to identify 1810*b3cff10cSYuri Pankovmultiple snapshots. 1811*b3cff10cSYuri Pankov.Bl -tag -width "-R" 1812*b3cff10cSYuri Pankov.It Fl R 18133b2aab18SMatthew AhrensRecursively destroy all clones of these snapshots, including the clones, 1814*b3cff10cSYuri Pankovsnapshots, and children. If this flag is specified, the 1815*b3cff10cSYuri Pankov.Fl d 1816*b3cff10cSYuri Pankovflag will have no effect. 1817*b3cff10cSYuri Pankov.It Fl d 1818*b3cff10cSYuri PankovDefer snapshot deletion. 1819*b3cff10cSYuri Pankov.It Fl n 1820*b3cff10cSYuri PankovDo a dry-run 1821*b3cff10cSYuri Pankov.Pq Qq No-op 1822*b3cff10cSYuri Pankovdeletion. No data will be deleted. This is 1823*b3cff10cSYuri Pankovuseful in conjunction with the 1824*b3cff10cSYuri Pankov.Fl p 1825*b3cff10cSYuri Pankovor 1826*b3cff10cSYuri Pankov.Fl v 1827*b3cff10cSYuri Pankovflags to determine what data would be deleted. 1828*b3cff10cSYuri Pankov.It Fl p 182919b94df9SMatthew AhrensPrint machine-parsable verbose information about the deleted data. 1830*b3cff10cSYuri Pankov.It Fl r 1831*b3cff10cSYuri PankovDestroy 1832*b3cff10cSYuri Pankov.Pq or mark for deferred deletion 1833*b3cff10cSYuri Pankovall snapshots with this name in descendent file systems. 1834*b3cff10cSYuri Pankov.It Fl v 183519b94df9SMatthew AhrensPrint verbose information about the deleted data. 1836*b3cff10cSYuri Pankov.Pp 1837*b3cff10cSYuri PankovExtreme care should be taken when applying either the 1838*b3cff10cSYuri Pankov.Fl r 1839*b3cff10cSYuri Pankovor the 1840*b3cff10cSYuri Pankov.Fl R 184119b94df9SMatthew Ahrensoptions, as they can destroy large portions of a pool and cause unexpected 184219b94df9SMatthew Ahrensbehavior for mounted file systems in use. 1843*b3cff10cSYuri Pankov.El 1844*b3cff10cSYuri Pankov.It Xo 1845*b3cff10cSYuri Pankov.Nm 1846*b3cff10cSYuri Pankov.Cm destroy 1847*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns # Ns Ar bookmark 1848*b3cff10cSYuri Pankov.Xc 184978f17100SMatthew AhrensThe given bookmark is destroyed. 1850*b3cff10cSYuri Pankov.It Xo 1851*b3cff10cSYuri Pankov.Nm 1852*b3cff10cSYuri Pankov.Cm snapshot 1853*b3cff10cSYuri Pankov.Op Fl r 1854*b3cff10cSYuri Pankov.Oo Fl o Ar property Ns = Ns value Oc Ns ... 1855*b3cff10cSYuri Pankov.Ar filesystem Ns @ Ns Ar snapname Ns | Ns Ar volume Ns @ Ns Ar snapname Ns ... 1856*b3cff10cSYuri Pankov.Xc 1857*b3cff10cSYuri PankovCreates snapshots with the given names. All previous modifications by successful 1858*b3cff10cSYuri Pankovsystem calls to the file system are part of the snapshots. Snapshots are taken 1859*b3cff10cSYuri Pankovatomically, so that all snapshots correspond to the same moment in time. See the 1860*b3cff10cSYuri Pankov.Sx Snapshots 1861*b3cff10cSYuri Pankovsection for details. 1862*b3cff10cSYuri Pankov.Bl -tag -width "-o" 1863*b3cff10cSYuri Pankov.It Fl o Ar property Ns = Ns Ar value 1864*b3cff10cSYuri PankovSets the specified property; see 1865*b3cff10cSYuri Pankov.Nm zfs Cm create 1866*b3cff10cSYuri Pankovfor details. 1867*b3cff10cSYuri Pankov.It Fl r 18684445fffbSMatthew AhrensRecursively create snapshots of all descendent datasets 1869*b3cff10cSYuri Pankov.El 1870*b3cff10cSYuri Pankov.It Xo 1871*b3cff10cSYuri Pankov.Nm 1872*b3cff10cSYuri Pankov.Cm rollback 1873*b3cff10cSYuri Pankov.Op Fl Rfr 1874*b3cff10cSYuri Pankov.Ar snapshot 1875*b3cff10cSYuri Pankov.Xc 1876c10c16deSRichard LoweRoll back the given dataset to a previous snapshot. When a dataset is rolled 1877*b3cff10cSYuri Pankovback, all data that has changed since the snapshot is discarded, and the dataset 1878*b3cff10cSYuri Pankovreverts to the state at the time of the snapshot. By default, the command 1879*b3cff10cSYuri Pankovrefuses to roll back to a snapshot other than the most recent one. In order to 1880*b3cff10cSYuri Pankovdo so, all intermediate snapshots and bookmarks must be destroyed by specifying 1881*b3cff10cSYuri Pankovthe 1882*b3cff10cSYuri Pankov.Fl r 1883*b3cff10cSYuri Pankovoption. 1884*b3cff10cSYuri Pankov.Pp 1885*b3cff10cSYuri PankovThe 1886*b3cff10cSYuri Pankov.Fl rR 1887*b3cff10cSYuri Pankovoptions do not recursively destroy the child snapshots of a recursive snapshot. 1888*b3cff10cSYuri PankovOnly direct snapshots of the specified filesystem are destroyed by either of 1889*b3cff10cSYuri Pankovthese options. To completely roll back a recursive snapshot, you must rollback 1890*b3cff10cSYuri Pankovthe individual child snapshots. 1891*b3cff10cSYuri Pankov.Bl -tag -width "-R" 1892*b3cff10cSYuri Pankov.It Fl R 189378f17100SMatthew AhrensDestroy any more recent snapshots and bookmarks, as well as any clones of those 1894c10c16deSRichard Lowesnapshots. 1895*b3cff10cSYuri Pankov.It Fl f 1896*b3cff10cSYuri PankovUsed with the 1897*b3cff10cSYuri Pankov.Fl R 1898*b3cff10cSYuri Pankovoption to force an unmount of any clone file systems that are to be destroyed. 1899*b3cff10cSYuri Pankov.It Fl r 1900*b3cff10cSYuri PankovDestroy any snapshots and bookmarks more recent than the one specified. 1901*b3cff10cSYuri Pankov.El 1902*b3cff10cSYuri Pankov.It Xo 1903*b3cff10cSYuri Pankov.Nm 1904*b3cff10cSYuri Pankov.Cm clone 1905*b3cff10cSYuri Pankov.Op Fl p 1906*b3cff10cSYuri Pankov.Oo Fl o Ar property Ns = Ns Ar value Oc Ns ... 1907*b3cff10cSYuri Pankov.Ar snapshot Ar filesystem Ns | Ns Ar volume 1908*b3cff10cSYuri Pankov.Xc 1909*b3cff10cSYuri PankovCreates a clone of the given snapshot. See the 1910*b3cff10cSYuri Pankov.Sx Clones 1911*b3cff10cSYuri Pankovsection for details. The target dataset can be located anywhere in the ZFS 1912*b3cff10cSYuri Pankovhierarchy, and is created as the same type as the original. 1913*b3cff10cSYuri Pankov.Bl -tag -width "-o" 1914*b3cff10cSYuri Pankov.It Fl o Ar property Ns = Ns Ar value 1915*b3cff10cSYuri PankovSets the specified property; see 1916*b3cff10cSYuri Pankov.Nm zfs Cm create 1917*b3cff10cSYuri Pankovfor details. 1918*b3cff10cSYuri Pankov.It Fl p 1919c10c16deSRichard LoweCreates all the non-existing parent datasets. Datasets created in this manner 1920*b3cff10cSYuri Pankovare automatically mounted according to the 1921*b3cff10cSYuri Pankov.Sy mountpoint 1922*b3cff10cSYuri Pankovproperty inherited from their parent. If the target filesystem or volume already 1923*b3cff10cSYuri Pankovexists, the operation completes successfully. 1924*b3cff10cSYuri Pankov.El 1925*b3cff10cSYuri Pankov.It Xo 1926*b3cff10cSYuri Pankov.Nm 1927*b3cff10cSYuri Pankov.Cm promote 1928*b3cff10cSYuri Pankov.Ar clone-filesystem 1929*b3cff10cSYuri Pankov.Xc 1930*b3cff10cSYuri PankovPromotes a clone file system to no longer be dependent on its 1931*b3cff10cSYuri Pankov.Qq origin 1932c10c16deSRichard Lowesnapshot. This makes it possible to destroy the file system that the clone was 1933c10c16deSRichard Lowecreated from. The clone parent-child dependency relationship is reversed, so 1934c10c16deSRichard Lowethat the origin file system becomes a clone of the specified file system. 1935*b3cff10cSYuri Pankov.Pp 1936c10c16deSRichard LoweThe snapshot that was cloned, and any snapshots previous to this snapshot, are 1937c10c16deSRichard Lowenow owned by the promoted clone. The space they use moves from the origin file 1938c10c16deSRichard Lowesystem to the promoted clone, so enough space must be available to accommodate 1939c10c16deSRichard Lowethese snapshots. No new space is consumed by this operation, but the space 1940c10c16deSRichard Loweaccounting is adjusted. The promoted clone must not have any conflicting 1941*b3cff10cSYuri Pankovsnapshot names of its own. The 1942*b3cff10cSYuri Pankov.Cm rename 1943*b3cff10cSYuri Pankovsubcommand can be used to rename any conflicting snapshots. 1944*b3cff10cSYuri Pankov.It Xo 1945*b3cff10cSYuri Pankov.Nm 1946*b3cff10cSYuri Pankov.Cm rename 1947*b3cff10cSYuri Pankov.Op Fl f 1948*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot 1949*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot 1950c10c16deSRichard Lowe.br 1951*b3cff10cSYuri Pankov.Nm 1952*b3cff10cSYuri Pankov.Cm rename 1953*b3cff10cSYuri Pankov.Op Fl fp 1954*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 1955*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 1956*b3cff10cSYuri Pankov.Xc 1957*b3cff10cSYuri PankovRenames the given dataset. The new target can be located anywhere in the ZFS 1958*b3cff10cSYuri Pankovhierarchy, with the exception of snapshots. Snapshots can only be renamed within 1959*b3cff10cSYuri Pankovthe parent file system or volume. When renaming a snapshot, the parent file 1960*b3cff10cSYuri Pankovsystem of the snapshot does not need to be specified as part of the second 1961*b3cff10cSYuri Pankovargument. Renamed file systems can inherit new mount points, in which case they 1962*b3cff10cSYuri Pankovare unmounted and remounted at the new mount point. 1963*b3cff10cSYuri Pankov.Bl -tag -width "-a" 1964*b3cff10cSYuri Pankov.It Fl f 19656a9cb0eaSEric SchrockForce unmount any filesystems that need to be unmounted in the process. 1966*b3cff10cSYuri Pankov.It Fl p 1967*b3cff10cSYuri PankovCreates all the nonexistent parent datasets. Datasets created in this manner are 1968*b3cff10cSYuri Pankovautomatically mounted according to the 1969*b3cff10cSYuri Pankov.Sy mountpoint 1970*b3cff10cSYuri Pankovproperty inherited from their parent. 1971*b3cff10cSYuri Pankov.El 1972*b3cff10cSYuri Pankov.It Xo 1973*b3cff10cSYuri Pankov.Nm 1974*b3cff10cSYuri Pankov.Cm rename 1975*b3cff10cSYuri Pankov.Fl r 1976*b3cff10cSYuri Pankov.Ar snapshot Ar snapshot 1977*b3cff10cSYuri Pankov.Xc 1978c10c16deSRichard LoweRecursively rename the snapshots of all descendent datasets. Snapshots are the 1979c10c16deSRichard Loweonly dataset that can be renamed recursively. 1980*b3cff10cSYuri Pankov.It Xo 1981*b3cff10cSYuri Pankov.Nm 1982*b3cff10cSYuri Pankov.Cm list 1983*b3cff10cSYuri Pankov.Op Fl r Ns | Ns Fl d Ar depth 1984*b3cff10cSYuri Pankov.Op Fl Hp 1985*b3cff10cSYuri Pankov.Oo Fl o Ar property Ns Oo , Ns Ar property Oc Ns ... Oc 1986*b3cff10cSYuri Pankov.Oo Fl s Ar property Oc Ns ... 1987*b3cff10cSYuri Pankov.Oo Fl S Ar property Oc Ns ... 1988*b3cff10cSYuri Pankov.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns ... Oc 1989*b3cff10cSYuri Pankov.Oo Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Oc Ns ... 1990*b3cff10cSYuri Pankov.Xc 1991c10c16deSRichard LoweLists the property information for the given datasets in tabular form. If 1992c10c16deSRichard Lowespecified, you can list property information by the absolute pathname or the 1993c10c16deSRichard Lowerelative pathname. By default, all file systems and volumes are displayed. 1994*b3cff10cSYuri PankovSnapshots are displayed if the 1995*b3cff10cSYuri Pankov.Sy listsnaps 1996*b3cff10cSYuri Pankovproperty is 1997*b3cff10cSYuri Pankov.Sy on 1998*b3cff10cSYuri Pankov.Po the default is 1999*b3cff10cSYuri Pankov.Sy off 2000*b3cff10cSYuri Pankov.Pc . 2001*b3cff10cSYuri PankovThe following fields are displayed, 2002*b3cff10cSYuri Pankov.Sy name Ns , Ns Sy used Ns , Ns Sy available Ns , Ns Sy referenced Ns , Ns 2003*b3cff10cSYuri Pankov.Sy mountpoint . 2004*b3cff10cSYuri Pankov.Bl -tag -width "-H" 2005*b3cff10cSYuri Pankov.It Fl H 2006c10c16deSRichard LoweUsed for scripting mode. Do not print headers and separate fields by a single 2007c10c16deSRichard Lowetab instead of arbitrary white space. 2008*b3cff10cSYuri Pankov.It Fl S Ar property 2009*b3cff10cSYuri PankovSame as the 2010*b3cff10cSYuri Pankov.Fl s 2011*b3cff10cSYuri Pankovoption, but sorts by property in descending order. 2012*b3cff10cSYuri Pankov.It Fl d Ar depth 2013c10c16deSRichard LoweRecursively display any children of the dataset, limiting the recursion to 2014*b3cff10cSYuri Pankov.It Fl o Ar property 2015c10c16deSRichard LoweA comma-separated list of properties to display. The property must be: 2016*b3cff10cSYuri Pankov.Bl -bullet 2017*b3cff10cSYuri Pankov.It 2018*b3cff10cSYuri PankovOne of the properties described in the 2019*b3cff10cSYuri Pankov.Sx Native Properties 2020*b3cff10cSYuri Pankovsection 2021*b3cff10cSYuri Pankov.It 2022c10c16deSRichard LoweA user property 2023*b3cff10cSYuri Pankov.It 2024*b3cff10cSYuri PankovThe value 2025*b3cff10cSYuri Pankov.Sy name 2026*b3cff10cSYuri Pankovto display the dataset name 2027*b3cff10cSYuri Pankov.It 2028*b3cff10cSYuri PankovThe value 2029*b3cff10cSYuri Pankov.Sy space 2030*b3cff10cSYuri Pankovto display space usage properties on file systems and volumes. This is a 2031*b3cff10cSYuri Pankovshortcut for specifying 2032*b3cff10cSYuri Pankov.Fl o Sy name Ns , Ns Sy avail Ns , Ns Sy used Ns , Ns Sy usedsnap Ns , Ns 2033*b3cff10cSYuri Pankov.Sy usedds Ns , Ns Sy usedrefreserv Ns , Ns Sy usedchild Fl t 2034*b3cff10cSYuri Pankov.Sy filesystem Ns , Ns Sy volume 2035*b3cff10cSYuri Pankovsyntax. 2036*b3cff10cSYuri Pankov.El 2037*b3cff10cSYuri Pankov.It Fl p 2038*b3cff10cSYuri PankovDisplay numbers in parsable 2039*b3cff10cSYuri Pankov.Pq exact 2040*b3cff10cSYuri Pankovvalues. 2041*b3cff10cSYuri Pankov.It Fl r 2042*b3cff10cSYuri PankovRecursively display any children of the dataset on the command line. 2043*b3cff10cSYuri Pankov.Ar depth . 2044*b3cff10cSYuri PankovA depth of 2045*b3cff10cSYuri Pankov.Sy 1 2046*b3cff10cSYuri Pankovwill display only the dataset and its direct children. 2047*b3cff10cSYuri Pankov.It Fl s Ar property 2048c10c16deSRichard LoweA property for sorting the output by column in ascending order based on the 2049c10c16deSRichard Lowevalue of the property. The property must be one of the properties described in 2050*b3cff10cSYuri Pankovthe 2051*b3cff10cSYuri Pankov.Sx Properties 2052*b3cff10cSYuri Pankovsection, or the special value 2053*b3cff10cSYuri Pankov.Sy name 2054*b3cff10cSYuri Pankovto sort by the dataset name. Multiple properties can be specified at one time 2055*b3cff10cSYuri Pankovusing multiple 2056*b3cff10cSYuri Pankov.Fl s 2057*b3cff10cSYuri Pankovproperty options. Multiple 2058*b3cff10cSYuri Pankov.Fl s 2059*b3cff10cSYuri Pankovoptions are evaluated from left to right in decreasing order of importance. The 2060*b3cff10cSYuri Pankovfollowing is a list of sorting criteria: 2061*b3cff10cSYuri Pankov.Bl -bullet 2062*b3cff10cSYuri Pankov.It 2063c10c16deSRichard LoweNumeric types sort in numeric order. 2064*b3cff10cSYuri Pankov.It 2065c10c16deSRichard LoweString types sort in alphabetical order. 2066*b3cff10cSYuri Pankov.It 2067*b3cff10cSYuri PankovTypes inappropriate for a row sort that row to the literal bottom, regardless of 2068*b3cff10cSYuri Pankovthe specified ordering. 2069*b3cff10cSYuri Pankov.El 2070*b3cff10cSYuri Pankov.Pp 2071*b3cff10cSYuri PankovIf no sorting options are specified the existing behavior of 2072*b3cff10cSYuri Pankov.Nm zfs Cm list 2073*b3cff10cSYuri Pankovis preserved. 2074*b3cff10cSYuri Pankov.It Fl t Ar type 2075*b3cff10cSYuri PankovA comma-separated list of types to display, where 2076*b3cff10cSYuri Pankov.Ar type 2077*b3cff10cSYuri Pankovis one of 2078*b3cff10cSYuri Pankov.Sy filesystem , 2079*b3cff10cSYuri Pankov.Sy snapshot , 2080*b3cff10cSYuri Pankov.Sy volume , 2081*b3cff10cSYuri Pankov.Sy bookmark , 2082*b3cff10cSYuri Pankovor 2083*b3cff10cSYuri Pankov.Sy all . 2084*b3cff10cSYuri PankovFor example, specifying 2085*b3cff10cSYuri Pankov.Fl t Sy snapshot 2086*b3cff10cSYuri Pankovdisplays only snapshots. 2087*b3cff10cSYuri Pankov.El 2088*b3cff10cSYuri Pankov.It Xo 2089*b3cff10cSYuri Pankov.Nm 2090*b3cff10cSYuri Pankov.Cm set 2091*b3cff10cSYuri Pankov.Ar property Ns = Ns Ar value Oo Ar property Ns = Ns Ar value Oc Ns ... 2092*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ... 2093*b3cff10cSYuri Pankov.Xc 209430925561SChris WilliamsonSets the property or list of properties to the given value(s) for each dataset. 2095*b3cff10cSYuri PankovOnly some properties can be edited. See the 2096*b3cff10cSYuri Pankov.Sx Properties 2097*b3cff10cSYuri Pankovsection for more information on what properties can be set and acceptable 2098*b3cff10cSYuri Pankovvalues. Numeric values can be specified as exact values, or in a human-readable 2099*b3cff10cSYuri Pankovform with a suffix of 2100*b3cff10cSYuri Pankov.Sy B , K , M , G , T , P , E , Z 2101*b3cff10cSYuri Pankov.Po for bytes, kilobytes, megabytes, gigabytes, terabytes, petabytes, exabytes, 2102*b3cff10cSYuri Pankovor zettabytes, respectively 2103*b3cff10cSYuri Pankov.Pc . 2104*b3cff10cSYuri PankovUser properties can be set on snapshots. For more information, see the 2105*b3cff10cSYuri Pankov.Sx User Properties 2106*b3cff10cSYuri Pankovsection. 2107*b3cff10cSYuri Pankov.It Xo 2108*b3cff10cSYuri Pankov.Nm 2109*b3cff10cSYuri Pankov.Cm get 2110*b3cff10cSYuri Pankov.Op Fl r Ns | Ns Fl d Ar depth 2111*b3cff10cSYuri Pankov.Op Fl Hp 2112*b3cff10cSYuri Pankov.Oo Fl o Ar field Ns Oo , Ns Ar field Oc Ns ... Oc 2113*b3cff10cSYuri Pankov.Oo Fl s Ar source Ns Oo , Ns Ar source Oc Ns ... Oc 2114*b3cff10cSYuri Pankov.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns ... Oc 2115*b3cff10cSYuri Pankov.Cm all | Ar property Ns Oo , Ns Ar property Oc Ns ... 2116*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ... 2117*b3cff10cSYuri Pankov.Xc 2118c10c16deSRichard LoweDisplays properties for the given datasets. If no datasets are specified, then 2119c10c16deSRichard Lowethe command displays properties for all datasets on the system. For each 2120c10c16deSRichard Loweproperty, the following columns are displayed: 2121*b3cff10cSYuri Pankov.Bd -literal 2122c10c16deSRichard Lowe name Dataset name 2123c10c16deSRichard Lowe property Property name 2124c10c16deSRichard Lowe value Property value 2125c10c16deSRichard Lowe source Property source. Can either be local, default, 2126*b3cff10cSYuri Pankov temporary, inherited, or none (-). 2127*b3cff10cSYuri Pankov.Ed 2128*b3cff10cSYuri Pankov.Pp 2129*b3cff10cSYuri PankovAll columns are displayed by default, though this can be controlled by using the 2130*b3cff10cSYuri Pankov.Fl o 2131*b3cff10cSYuri Pankovoption. This command takes a comma-separated list of properties as described in 2132*b3cff10cSYuri Pankovthe 2133*b3cff10cSYuri Pankov.Sx Native Properties 2134*b3cff10cSYuri Pankovand 2135*b3cff10cSYuri Pankov.Sx User Properties 2136*b3cff10cSYuri Pankovsections. 2137*b3cff10cSYuri Pankov.Pp 2138*b3cff10cSYuri PankovThe special value 2139*b3cff10cSYuri Pankov.Sy all 2140*b3cff10cSYuri Pankovcan be used to display all properties that apply to the given dataset's type 2141*b3cff10cSYuri Pankov.Pq filesystem, volume, snapshot, or bookmark . 2142*b3cff10cSYuri Pankov.Bl -tag -width "-H" 2143*b3cff10cSYuri Pankov.It Fl H 2144*b3cff10cSYuri PankovDisplay output in a form more easily parsed by scripts. Any headers are omitted, 2145*b3cff10cSYuri Pankovand fields are explicitly separated by a single tab instead of an arbitrary 2146*b3cff10cSYuri Pankovamount of space. 2147*b3cff10cSYuri Pankov.It Fl d Ar depth 2148c10c16deSRichard LoweRecursively display any children of the dataset, limiting the recursion to 2149*b3cff10cSYuri Pankov.Ar depth . 2150*b3cff10cSYuri PankovA depth of 2151*b3cff10cSYuri Pankov.Sy 1 2152*b3cff10cSYuri Pankovwill display only the dataset and its direct children. 2153*b3cff10cSYuri Pankov.It Fl o Ar field 2154*b3cff10cSYuri PankovA comma-separated list of columns to display. 2155*b3cff10cSYuri Pankov.Sy name Ns , Ns Sy property Ns , Ns Sy value Ns , Ns Sy source 2156c10c16deSRichard Loweis the default value. 2157*b3cff10cSYuri Pankov.It Fl p 2158*b3cff10cSYuri PankovDisplay numbers in parsable 2159*b3cff10cSYuri Pankov.Pq exact 2160*b3cff10cSYuri Pankovvalues. 2161*b3cff10cSYuri Pankov.It Fl r 2162*b3cff10cSYuri PankovRecursively display properties for any children. 2163*b3cff10cSYuri Pankov.It Fl s Ar source 2164c10c16deSRichard LoweA comma-separated list of sources to display. Those properties coming from a 2165*b3cff10cSYuri Pankovsource other than those in this list are ignored. Each source must be one of the 2166*b3cff10cSYuri Pankovfollowing: 2167*b3cff10cSYuri Pankov.Sy local , 2168*b3cff10cSYuri Pankov.Sy default , 2169*b3cff10cSYuri Pankov.Sy inherited , 2170*b3cff10cSYuri Pankov.Sy temporary , 2171*b3cff10cSYuri Pankovand 2172*b3cff10cSYuri Pankov.Sy none . 2173*b3cff10cSYuri PankovThe default value is all sources. 2174*b3cff10cSYuri Pankov.It Fl t Ar type 2175*b3cff10cSYuri PankovA comma-separated list of types to display, where 2176*b3cff10cSYuri Pankov.Ar type 2177*b3cff10cSYuri Pankovis one of 2178*b3cff10cSYuri Pankov.Sy filesystem , 2179*b3cff10cSYuri Pankov.Sy snapshot , 2180*b3cff10cSYuri Pankov.Sy volume , 2181*b3cff10cSYuri Pankov.Sy bookmark , 2182*b3cff10cSYuri Pankovor 2183*b3cff10cSYuri Pankov.Sy all . 2184*b3cff10cSYuri Pankov.El 2185*b3cff10cSYuri Pankov.It Xo 2186*b3cff10cSYuri Pankov.Nm 2187*b3cff10cSYuri Pankov.Cm inherit 2188*b3cff10cSYuri Pankov.Op Fl rS 2189*b3cff10cSYuri Pankov.Ar property Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ... 2190*b3cff10cSYuri Pankov.Xc 21915ff8cfa9SPaul B. HensonClears the specified property, causing it to be inherited from an ancestor, 2192*b3cff10cSYuri Pankovrestored to default if no ancestor has the property set, or with the 2193*b3cff10cSYuri Pankov.Fl S 2194*b3cff10cSYuri Pankovoption reverted to the received value if one exists. See the 2195*b3cff10cSYuri Pankov.Sx Properties 21965ff8cfa9SPaul B. Hensonsection for a listing of default values, and details on which properties can be 21975ff8cfa9SPaul B. Hensoninherited. 2198*b3cff10cSYuri Pankov.Bl -tag -width "-r" 2199*b3cff10cSYuri Pankov.It Fl r 2200c10c16deSRichard LoweRecursively inherit the given property for all children. 2201*b3cff10cSYuri Pankov.It Fl S 22025ff8cfa9SPaul B. HensonRevert the property to the received value if one exists; otherwise operate as 2203*b3cff10cSYuri Pankovif the 2204*b3cff10cSYuri Pankov.Fl S 2205*b3cff10cSYuri Pankovoption was not specified. 2206*b3cff10cSYuri Pankov.El 2207*b3cff10cSYuri Pankov.It Xo 2208*b3cff10cSYuri Pankov.Nm 2209*b3cff10cSYuri Pankov.Cm upgrade 2210*b3cff10cSYuri Pankov.Xc 2211c10c16deSRichard LoweDisplays a list of file systems that are not the most recent version. 2212*b3cff10cSYuri Pankov.It Xo 2213*b3cff10cSYuri Pankov.Nm 2214*b3cff10cSYuri Pankov.Cm upgrade 2215*b3cff10cSYuri Pankov.Fl v 2216*b3cff10cSYuri Pankov.Xc 2217*b3cff10cSYuri PankovDisplays a list of currently supported file system versions. 2218*b3cff10cSYuri Pankov.It Xo 2219*b3cff10cSYuri Pankov.Nm 2220*b3cff10cSYuri Pankov.Cm upgrade 2221*b3cff10cSYuri Pankov.Op Fl r 2222*b3cff10cSYuri Pankov.Op Fl V Ar version 2223*b3cff10cSYuri Pankov.Fl a | Ar filesystem 2224*b3cff10cSYuri Pankov.Xc 2225c10c16deSRichard LoweUpgrades file systems to a new on-disk version. Once this is done, the file 2226c10c16deSRichard Lowesystems will no longer be accessible on systems running older versions of the 2227*b3cff10cSYuri Pankovsoftware. 2228*b3cff10cSYuri Pankov.Nm zfs Cm send 2229*b3cff10cSYuri Pankovstreams generated from new snapshots of these file systems cannot be accessed on 2230*b3cff10cSYuri Pankovsystems running older versions of the software. 2231*b3cff10cSYuri Pankov.Pp 2232c10c16deSRichard LoweIn general, the file system version is independent of the pool version. See 2233*b3cff10cSYuri Pankov.Xr zpool 1M 2234*b3cff10cSYuri Pankovfor information on the 2235*b3cff10cSYuri Pankov.Nm zpool Cm upgrade 2236*b3cff10cSYuri Pankovcommand. 2237*b3cff10cSYuri Pankov.Pp 2238*b3cff10cSYuri PankovIn some cases, the file system version and the pool version are interrelated and 2239*b3cff10cSYuri Pankovthe pool version must be upgraded before the file system version can be upgraded. 2240*b3cff10cSYuri Pankov.Bl -tag -width "-V" 2241*b3cff10cSYuri Pankov.It Fl V Ar version 2242*b3cff10cSYuri PankovUpgrade to the specified 2243*b3cff10cSYuri Pankov.Ar version . 2244*b3cff10cSYuri PankovIf the 2245*b3cff10cSYuri Pankov.Fl V 2246*b3cff10cSYuri Pankovflag is not specified, this command upgrades to the most recent version. This 2247*b3cff10cSYuri Pankovoption can only be used to increase the version number, and only up to the most 2248*b3cff10cSYuri Pankovrecent version supported by this software. 2249*b3cff10cSYuri Pankov.It Fl a 2250c10c16deSRichard LoweUpgrade all file systems on all imported pools. 2251*b3cff10cSYuri Pankov.It Ar filesystem 2252c10c16deSRichard LoweUpgrade the specified file system. 2253*b3cff10cSYuri Pankov.It Fl r 2254*b3cff10cSYuri PankovUpgrade the specified file system and all descendent file systems. 2255*b3cff10cSYuri Pankov.El 2256*b3cff10cSYuri Pankov.It Xo 2257*b3cff10cSYuri Pankov.Nm 2258*b3cff10cSYuri Pankov.Cm userspace 2259*b3cff10cSYuri Pankov.Op Fl Hinp 2260*b3cff10cSYuri Pankov.Oo Fl o Ar field Ns Oo , Ns Ar field Oc Ns ... Oc 2261*b3cff10cSYuri Pankov.Oo Fl s Ar field Oc Ns ... 2262*b3cff10cSYuri Pankov.Oo Fl S Ar field Oc Ns ... 2263*b3cff10cSYuri Pankov.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns ... Oc 2264*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar snapshot 2265*b3cff10cSYuri Pankov.Xc 2266*b3cff10cSYuri PankovDisplays space consumed by, and quotas on, each user in the specified filesystem 2267*b3cff10cSYuri Pankovor snapshot. This corresponds to the 2268*b3cff10cSYuri Pankov.Sy userused@ Ns Em user 2269*b3cff10cSYuri Pankovand 2270*b3cff10cSYuri Pankov.Sy userquota@ Ns Em user 2271*b3cff10cSYuri Pankovproperties. 2272*b3cff10cSYuri Pankov.Bl -tag -width "-H" 2273*b3cff10cSYuri Pankov.It Fl H 2274c10c16deSRichard LoweDo not print headers, use tab-delimited output. 2275*b3cff10cSYuri Pankov.It Fl S Ar field 2276*b3cff10cSYuri PankovSort by this field in reverse order. See 2277*b3cff10cSYuri Pankov.Fl s . 2278*b3cff10cSYuri Pankov.It Fl i 2279c10c16deSRichard LoweTranslate SID to POSIX ID. The POSIX ID may be ephemeral if no mapping exists. 2280*b3cff10cSYuri PankovNormal POSIX interfaces 2281*b3cff10cSYuri Pankov.Po for example, 2282*b3cff10cSYuri Pankov.Xr stat 2 , 2283*b3cff10cSYuri Pankov.Nm ls Fl l 2284*b3cff10cSYuri Pankov.Pc 2285*b3cff10cSYuri Pankovperform this translation, so the 2286*b3cff10cSYuri Pankov.Fl i 2287*b3cff10cSYuri Pankovoption allows the output from 2288*b3cff10cSYuri Pankov.Nm zfs Cm userspace 2289*b3cff10cSYuri Pankovto be compared directly with those utilities. However, 2290*b3cff10cSYuri Pankov.Fl i 2291c10c16deSRichard Lowemay lead to confusion if some files were created by an SMB user before a 2292*b3cff10cSYuri PankovSMB-to-POSIX name mapping was established. In such a case, some files will be 2293*b3cff10cSYuri Pankovowned by the SMB entity and some by the POSIX entity. However, the 2294*b3cff10cSYuri Pankov.Fl i 2295*b3cff10cSYuri Pankovoption will report that the POSIX entity has the total usage and quota for both. 2296*b3cff10cSYuri Pankov.It Fl n 2297*b3cff10cSYuri PankovPrint numeric ID instead of user/group name. 2298*b3cff10cSYuri Pankov.It Fl o Ar field Ns Oo , Ns Ar field Oc Ns ... 2299*b3cff10cSYuri PankovDisplay only the specified fields from the following set: 2300*b3cff10cSYuri Pankov.Sy type , 2301*b3cff10cSYuri Pankov.Sy name , 2302*b3cff10cSYuri Pankov.Sy used , 2303*b3cff10cSYuri Pankov.Sy quota . 2304*b3cff10cSYuri PankovThe default is to display all fields. 2305*b3cff10cSYuri Pankov.It Fl p 2306*b3cff10cSYuri PankovUse exact 2307*b3cff10cSYuri Pankov.Pq parsable 2308*b3cff10cSYuri Pankovnumeric output. 2309*b3cff10cSYuri Pankov.It Fl s Ar field 2310*b3cff10cSYuri PankovSort output by this field. The 2311*b3cff10cSYuri Pankov.Fl s 2312*b3cff10cSYuri Pankovand 2313*b3cff10cSYuri Pankov.Fl S 2314*b3cff10cSYuri Pankovflags may be specified multiple times to sort first by one field, then by 2315*b3cff10cSYuri Pankovanother. The default is 2316*b3cff10cSYuri Pankov.Fl s Sy type Fl s Sy name . 2317*b3cff10cSYuri Pankov.It Fl t Ar type Ns Oo , Ns Ar type Oc Ns ... 2318*b3cff10cSYuri PankovPrint only the specified types from the following set: 2319*b3cff10cSYuri Pankov.Sy all , 2320*b3cff10cSYuri Pankov.Sy posixuser , 2321*b3cff10cSYuri Pankov.Sy smbuser , 2322*b3cff10cSYuri Pankov.Sy posixgroup , 2323*b3cff10cSYuri Pankov.Sy smbgroup . 2324*b3cff10cSYuri PankovThe default is 2325*b3cff10cSYuri Pankov.Fl t Sy posixuser Ns , Ns Sy smbuser . 2326*b3cff10cSYuri PankovThe default can be changed to include group types. 2327*b3cff10cSYuri Pankov.El 2328*b3cff10cSYuri Pankov.It Xo 2329*b3cff10cSYuri Pankov.Nm 2330*b3cff10cSYuri Pankov.Cm groupspace 2331*b3cff10cSYuri Pankov.Op Fl Hinp 2332*b3cff10cSYuri Pankov.Oo Fl o Ar field Ns Oo , Ns Ar field Oc Ns ... Oc 2333*b3cff10cSYuri Pankov.Oo Fl s Ar field Oc Ns ... 2334*b3cff10cSYuri Pankov.Oo Fl S Ar field Oc Ns ... 2335*b3cff10cSYuri Pankov.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns ... Oc 2336*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar snapshot 2337*b3cff10cSYuri Pankov.Xc 2338c10c16deSRichard LoweDisplays space consumed by, and quotas on, each group in the specified 2339*b3cff10cSYuri Pankovfilesystem or snapshot. This subcommand is identical to 2340*b3cff10cSYuri Pankov.Nm zfs Cm userspace , 2341*b3cff10cSYuri Pankovexcept that the default types to display are 2342*b3cff10cSYuri Pankov.Fl t Sy posixgroup Ns , Ns Sy smbgroup . 2343*b3cff10cSYuri Pankov.It Xo 2344*b3cff10cSYuri Pankov.Nm 2345*b3cff10cSYuri Pankov.Cm mount 2346*b3cff10cSYuri Pankov.Xc 2347*b3cff10cSYuri PankovDisplays all ZFS file systems currently mounted. 2348*b3cff10cSYuri Pankov.It Xo 2349*b3cff10cSYuri Pankov.Nm 2350*b3cff10cSYuri Pankov.Cm mount 2351*b3cff10cSYuri Pankov.Op Fl Ov 2352*b3cff10cSYuri Pankov.Op Fl o Ar options 2353*b3cff10cSYuri Pankov.Fl a | Ar filesystem 2354*b3cff10cSYuri Pankov.Xc 2355*b3cff10cSYuri PankovMounts ZFS file systems. 2356*b3cff10cSYuri Pankov.Bl -tag -width "-O" 2357*b3cff10cSYuri Pankov.It Fl O 2358*b3cff10cSYuri PankovPerform an overlay mount. See 2359*b3cff10cSYuri Pankov.Xr mount 1M 2360*b3cff10cSYuri Pankovfor more information. 2361*b3cff10cSYuri Pankov.It Fl a 2362*b3cff10cSYuri PankovMount all available ZFS file systems. Invoked automatically as part of the boot 2363c10c16deSRichard Loweprocess. 2364*b3cff10cSYuri Pankov.It Ar filesystem 2365c10c16deSRichard LoweMount the specified filesystem. 2366*b3cff10cSYuri Pankov.It Fl o Ar options 2367*b3cff10cSYuri PankovAn optional, comma-separated list of mount options to use temporarily for the 2368*b3cff10cSYuri Pankovduration of the mount. See the 2369*b3cff10cSYuri Pankov.Sx Temporary Mount Point Properties 2370*b3cff10cSYuri Pankovsection for details. 2371*b3cff10cSYuri Pankov.It Fl v 2372*b3cff10cSYuri PankovReport mount progress. 2373*b3cff10cSYuri Pankov.El 2374*b3cff10cSYuri Pankov.It Xo 2375*b3cff10cSYuri Pankov.Nm 2376*b3cff10cSYuri Pankov.Cm unmount 2377*b3cff10cSYuri Pankov.Op Fl f 2378*b3cff10cSYuri Pankov.Fl a | Ar filesystem Ns | Ns Ar mountpoint 2379*b3cff10cSYuri Pankov.Xc 2380*b3cff10cSYuri PankovUnmounts currently mounted ZFS file systems. 2381*b3cff10cSYuri Pankov.Bl -tag -width "-a" 2382*b3cff10cSYuri Pankov.It Fl a 2383*b3cff10cSYuri PankovUnmount all available ZFS file systems. Invoked automatically as part of the 2384*b3cff10cSYuri Pankovshutdown process. 2385*b3cff10cSYuri Pankov.It Ar filesystem Ns | Ns Ar mountpoint 2386*b3cff10cSYuri PankovUnmount the specified filesystem. The command can also be given a path to a ZFS 2387*b3cff10cSYuri Pankovfile system mount point on the system. 2388*b3cff10cSYuri Pankov.It Fl f 2389c10c16deSRichard LoweForcefully unmount the file system, even if it is currently in use. 2390*b3cff10cSYuri Pankov.El 2391*b3cff10cSYuri Pankov.It Xo 2392*b3cff10cSYuri Pankov.Nm 2393*b3cff10cSYuri Pankov.Cm share 2394*b3cff10cSYuri Pankov.Fl a | Ar filesystem 2395*b3cff10cSYuri Pankov.Xc 2396*b3cff10cSYuri PankovShares available ZFS file systems. 2397*b3cff10cSYuri Pankov.Bl -tag -width "-a" 2398*b3cff10cSYuri Pankov.It Fl a 2399*b3cff10cSYuri PankovShare all available ZFS file systems. Invoked automatically as part of the boot 2400*b3cff10cSYuri Pankovprocess. 2401*b3cff10cSYuri Pankov.It Ar filesystem 2402*b3cff10cSYuri PankovShare the specified filesystem according to the 2403*b3cff10cSYuri Pankov.Sy sharenfs 2404*b3cff10cSYuri Pankovand 2405*b3cff10cSYuri Pankov.Sy sharesmb 2406*b3cff10cSYuri Pankovproperties. File systems are shared when the 2407*b3cff10cSYuri Pankov.Sy sharenfs 2408*b3cff10cSYuri Pankovor 2409*b3cff10cSYuri Pankov.Sy sharesmb 2410*b3cff10cSYuri Pankovproperty is set. 2411*b3cff10cSYuri Pankov.El 2412*b3cff10cSYuri Pankov.It Xo 2413*b3cff10cSYuri Pankov.Nm 2414*b3cff10cSYuri Pankov.Cm unshare 2415*b3cff10cSYuri Pankov.Fl a | Ar filesystem Ns | Ns Ar mountpoint 2416*b3cff10cSYuri Pankov.Xc 2417*b3cff10cSYuri PankovUnshares currently shared ZFS file systems. 2418*b3cff10cSYuri Pankov.Bl -tag -width "-a" 2419*b3cff10cSYuri Pankov.It Fl a 2420*b3cff10cSYuri PankovUnshare all available ZFS file systems. Invoked automatically as part of the 2421*b3cff10cSYuri Pankovshutdown process. 2422*b3cff10cSYuri Pankov.It Ar filesystem Ns | Ns Ar mountpoint 2423*b3cff10cSYuri PankovUnshare the specified filesystem. The command can also be given a path to a ZFS 2424*b3cff10cSYuri Pankovfile system shared on the system. 2425*b3cff10cSYuri Pankov.El 2426*b3cff10cSYuri Pankov.It Xo 2427*b3cff10cSYuri Pankov.Nm 2428*b3cff10cSYuri Pankov.Cm bookmark 2429*b3cff10cSYuri Pankov.Ar snapshot bookmark 2430*b3cff10cSYuri Pankov.Xc 2431*b3cff10cSYuri PankovCreates a bookmark of the given snapshot. Bookmarks mark the point in time when 2432*b3cff10cSYuri Pankovthe snapshot was created, and can be used as the incremental source for a 2433*b3cff10cSYuri Pankov.Nm zfs Cm send 2434*b3cff10cSYuri Pankovcommand. 2435*b3cff10cSYuri Pankov.Pp 2436*b3cff10cSYuri PankovThis feature must be enabled to be used. See 2437*b3cff10cSYuri Pankov.Xr zpool-features 5 2438*b3cff10cSYuri Pankovfor details on ZFS feature flags and the 2439*b3cff10cSYuri Pankov.Sy bookmarks 2440*b3cff10cSYuri Pankovfeature. 2441*b3cff10cSYuri Pankov.It Xo 2442*b3cff10cSYuri Pankov.Nm 2443*b3cff10cSYuri Pankov.Cm send 2444*b3cff10cSYuri Pankov.Op Fl DLPRenpv 2445*b3cff10cSYuri Pankov.Op Oo Fl I Ns | Ns Fl i Oc Ar snapshot 2446*b3cff10cSYuri Pankov.Ar snapshot 2447*b3cff10cSYuri Pankov.Xc 2448*b3cff10cSYuri PankovCreates a stream representation of the second 2449*b3cff10cSYuri Pankov.Ar snapshot , 2450*b3cff10cSYuri Pankovwhich is written to standard output. The output can be redirected to a file or 2451*b3cff10cSYuri Pankovto a different system 2452*b3cff10cSYuri Pankov.Po for example, using 2453*b3cff10cSYuri Pankov.Xr ssh 1 2454*b3cff10cSYuri Pankov.Pc . 2455*b3cff10cSYuri PankovBy default, a full stream is generated. 2456*b3cff10cSYuri Pankov.Bl -tag -width "-D" 2457*b3cff10cSYuri Pankov.It Fl D 2458*b3cff10cSYuri PankovGenerate a deduplicated stream. Blocks which would have been sent multiple times 2459*b3cff10cSYuri Pankovin the send stream will only be sent once. The receiving system must also 2460*b3cff10cSYuri Pankovsupport this feature to recieve a deduplicated stream. This flag can be used 2461*b3cff10cSYuri Pankovregardless of the dataset's 2462*b3cff10cSYuri Pankov.Sy dedup 2463*b3cff10cSYuri Pankovproperty, but performance will be much better if the filesystem uses a 2464*b3cff10cSYuri Pankovdedup-capable checksum 2465*b3cff10cSYuri Pankov.Po for example, 2466*b3cff10cSYuri Pankov.Sy sha256 2467*b3cff10cSYuri Pankov.Pc . 2468*b3cff10cSYuri Pankov.It Fl I Ar snapshot 2469c10c16deSRichard LoweGenerate a stream package that sends all intermediary snapshots from the first 2470*b3cff10cSYuri Pankovsnapshot to the second snapshot. For example, 2471*b3cff10cSYuri Pankov.Fl I Em @a Em fs@d 2472*b3cff10cSYuri Pankovis similar to 2473*b3cff10cSYuri Pankov.Fl i Em @a Em fs@b Ns ; Fl i Em @b Em fs@c Ns ; Fl i Em @c Em fs@d . 2474*b3cff10cSYuri PankovThe incremental source may be specified as with the 2475*b3cff10cSYuri Pankov.Fl i 2476*b3cff10cSYuri Pankovoption. 2477*b3cff10cSYuri Pankov.It Fl L 2478*b3cff10cSYuri PankovGenerate a stream which may contain blocks larger than 128KB. This flag has no 2479*b3cff10cSYuri Pankoveffect if the 2480*b3cff10cSYuri Pankov.Sy large_blocks 2481*b3cff10cSYuri Pankovpool feature is disabled, or if the 2482*b3cff10cSYuri Pankov.Sy recordsize 2483*b3cff10cSYuri Pankovproperty of this filesystem has never been set above 128KB. The receiving system 2484*b3cff10cSYuri Pankovmust have the 2485*b3cff10cSYuri Pankov.Sy large_blocks 2486*b3cff10cSYuri Pankovpool feature enabled as well. See 2487*b3cff10cSYuri Pankov.Xr zpool-features 5 2488*b3cff10cSYuri Pankovfor details on ZFS feature flags and the 2489*b3cff10cSYuri Pankov.Sy large_blocks 2490*b3cff10cSYuri Pankovfeature. 2491*b3cff10cSYuri Pankov.It Fl P 2492*b3cff10cSYuri PankovPrint machine-parsable verbose information about the stream package generated. 2493*b3cff10cSYuri Pankov.It Fl R 2494c10c16deSRichard LoweGenerate a replication stream package, which will replicate the specified 2495c10c16deSRichard Lowefile system, and all descendent file systems, up to the named snapshot. When 2496c10c16deSRichard Lowereceived, all properties, snapshots, descendent file systems, and clones are 2497c10c16deSRichard Lowepreserved. 2498*b3cff10cSYuri Pankov.Pp 2499*b3cff10cSYuri PankovIf the 2500*b3cff10cSYuri Pankov.Fl i 2501*b3cff10cSYuri Pankovor 2502*b3cff10cSYuri Pankov.Fl I 2503*b3cff10cSYuri Pankovflags are used in conjunction with the 2504*b3cff10cSYuri Pankov.Fl R 2505c10c16deSRichard Loweflag, an incremental replication stream is generated. The current values of 2506c10c16deSRichard Loweproperties, and current snapshot and file system names are set when the stream 2507*b3cff10cSYuri Pankovis received. If the 2508*b3cff10cSYuri Pankov.Fl F 2509*b3cff10cSYuri Pankovflag is specified when this stream is received, snapshots and file systems that 2510*b3cff10cSYuri Pankovdo not exist on the sending side are destroyed. 2511*b3cff10cSYuri Pankov.It Fl e 2512*b3cff10cSYuri PankovGenerate a more compact stream by using 2513*b3cff10cSYuri Pankov.Sy WRITE_EMBEDDED 2514*b3cff10cSYuri Pankovrecords for blocks which are stored more compactly on disk by the 2515*b3cff10cSYuri Pankov.Sy embedded_data 2516*b3cff10cSYuri Pankovpool feature. This flag has no effect if the 2517*b3cff10cSYuri Pankov.Sy embedded_data 2518*b3cff10cSYuri Pankovfeature is disabled. The receiving system must have the 2519*b3cff10cSYuri Pankov.Sy embedded_data 2520*b3cff10cSYuri Pankovfeature enabled. If the 2521*b3cff10cSYuri Pankov.Sy lz4_compress 2522*b3cff10cSYuri Pankovfeature is active on the sending system, then the receiving system must have 2523*b3cff10cSYuri Pankovthat feature enabled as well. See 2524*b3cff10cSYuri Pankov.Xr zpool-features 5 2525*b3cff10cSYuri Pankovfor details on ZFS feature flags and the 2526*b3cff10cSYuri Pankov.Sy embedded_data 2527*b3cff10cSYuri Pankovfeature. 2528*b3cff10cSYuri Pankov.It Fl i Ar snapshot 2529*b3cff10cSYuri PankovGenerate an incremental stream from the first 2530*b3cff10cSYuri Pankov.Ar snapshot 2531*b3cff10cSYuri Pankov.Pq the incremental source 2532*b3cff10cSYuri Pankovto the second 2533*b3cff10cSYuri Pankov.Ar snapshot 2534*b3cff10cSYuri Pankov.Pq the incremental target . 2535*b3cff10cSYuri PankovThe incremental source can be specified as the last component of the snapshot 2536*b3cff10cSYuri Pankovname 2537*b3cff10cSYuri Pankov.Po the 2538*b3cff10cSYuri Pankov.Sy @ 2539*b3cff10cSYuri Pankovcharacter and following 2540*b3cff10cSYuri Pankov.Pc 2541*b3cff10cSYuri Pankovand it is assumed to be from the same file system as the incremental target. 2542*b3cff10cSYuri Pankov.Pp 2543*b3cff10cSYuri PankovIf the destination is a clone, the source may be the origin snapshot, which must 2544*b3cff10cSYuri Pankovbe fully specified 2545*b3cff10cSYuri Pankov.Po for example, 2546*b3cff10cSYuri Pankov.Em pool/fs@origin , 2547*b3cff10cSYuri Pankovnot just 2548*b3cff10cSYuri Pankov.Em @origin 2549*b3cff10cSYuri Pankov.Pc . 2550*b3cff10cSYuri Pankov.It Fl n 2551*b3cff10cSYuri PankovDo a dry-run 2552*b3cff10cSYuri Pankov.Pq Qq No-op 2553*b3cff10cSYuri Pankovsend. Do not generate any actual send data. This is useful in conjunction with 2554*b3cff10cSYuri Pankovthe 2555*b3cff10cSYuri Pankov.Fl v 2556*b3cff10cSYuri Pankovor 2557*b3cff10cSYuri Pankov.Fl P 2558*b3cff10cSYuri Pankovflags to determine what data will be sent. In this case, the verbose output will 2559*b3cff10cSYuri Pankovbe written to standard output 2560*b3cff10cSYuri Pankov.Po contrast with a non-dry-run, where the stream is written to standard output 2561*b3cff10cSYuri Pankovand the verbose output goes to standard error 2562*b3cff10cSYuri Pankov.Pc . 2563*b3cff10cSYuri Pankov.It Fl p 256419b94df9SMatthew AhrensInclude the dataset's properties in the stream. This flag is implicit when 2565*b3cff10cSYuri Pankov.Fl R 2566*b3cff10cSYuri Pankovis specified. The receiving system must also support this feature. 2567*b3cff10cSYuri Pankov.It Fl v 25684e3c9f44SBill PijewskiPrint verbose information about the stream package generated. This information 25694e3c9f44SBill Pijewskiincludes a per-second report of how much data has been sent. 2570*b3cff10cSYuri Pankov.Pp 2571c10c16deSRichard LoweThe format of the stream is committed. You will be able to receive your streams 2572*b3cff10cSYuri Pankovon future versions of ZFS . 2573*b3cff10cSYuri Pankov.El 2574*b3cff10cSYuri Pankov.It Xo 2575*b3cff10cSYuri Pankov.Nm 2576*b3cff10cSYuri Pankov.Cm send 2577*b3cff10cSYuri Pankov.Op Fl Le 2578*b3cff10cSYuri Pankov.Op Fl i Ar snapshot Ns | Ns Ar bookmark 2579*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot 2580*b3cff10cSYuri Pankov.Xc 2581*b3cff10cSYuri PankovGenerate a send stream, which may be of a filesystem, and may be incremental 2582*b3cff10cSYuri Pankovfrom a bookmark. If the destination is a filesystem or volume, the pool must be 2583*b3cff10cSYuri Pankovread-only, or the filesystem must not be mounted. When the stream generated from 2584*b3cff10cSYuri Pankova filesystem or volume is received, the default snapshot name will be 2585*b3cff10cSYuri Pankov.Qq --head-- . 2586*b3cff10cSYuri Pankov.Bl -tag -width "-L" 2587*b3cff10cSYuri Pankov.It Fl L 2588*b3cff10cSYuri PankovGenerate a stream which may contain blocks larger than 128KB. This flag has no 2589*b3cff10cSYuri Pankoveffect if the 2590*b3cff10cSYuri Pankov.Sy large_blocks 2591*b3cff10cSYuri Pankovpool feature is disabled, or if the 2592*b3cff10cSYuri Pankov.Sy recordsize 2593*b3cff10cSYuri Pankovproperty of this filesystem has never been set above 128KB. The receiving system 2594*b3cff10cSYuri Pankovmust have the 2595*b3cff10cSYuri Pankov.Sy large_blocks 2596*b3cff10cSYuri Pankovpool feature enabled as well. See 2597*b3cff10cSYuri Pankov.Xr zpool-features 5 2598*b3cff10cSYuri Pankovfor details on ZFS feature flags and the 2599*b3cff10cSYuri Pankov.Sy large_blocks 2600*b3cff10cSYuri Pankovfeature. 2601*b3cff10cSYuri Pankov.It Fl e 2602*b3cff10cSYuri PankovGenerate a more compact stream by using 2603*b3cff10cSYuri Pankov.Sy WRITE_EMBEDDED 2604*b3cff10cSYuri Pankovrecords for blocks which are stored more compactly on disk by the 2605*b3cff10cSYuri Pankov.Sy embedded_data 2606*b3cff10cSYuri Pankovpool feature. This flag has no effect if the 2607*b3cff10cSYuri Pankov.Sy embedded_data 2608*b3cff10cSYuri Pankovfeature is disabled. The receiving system must have the 2609*b3cff10cSYuri Pankov.Sy embedded_data 2610*b3cff10cSYuri Pankovfeature enabled. If the 2611*b3cff10cSYuri Pankov.Sy lz4_compress 2612*b3cff10cSYuri Pankovfeature is active on the sending system, then the receiving system must have 2613*b3cff10cSYuri Pankovthat feature enabled as well. See 2614*b3cff10cSYuri Pankov.Xr zpool-features 5 2615*b3cff10cSYuri Pankovfor details on ZFS feature flags and the 2616*b3cff10cSYuri Pankov.Sy embedded_data 2617*b3cff10cSYuri Pankovfeature. 2618*b3cff10cSYuri Pankov.It Fl i Ar snapshot Ns | Ns Ar bookmark 261978f17100SMatthew AhrensGenerate an incremental send stream. The incremental source must be an earlier 2620*b3cff10cSYuri Pankovsnapshot in the destination's history. It will commonly be an earlier snapshot 2621*b3cff10cSYuri Pankovin the destination's file system, in which case it can be specified as the last 2622*b3cff10cSYuri Pankovcomponent of the name 2623*b3cff10cSYuri Pankov.Po the 2624*b3cff10cSYuri Pankov.Sy # 2625*b3cff10cSYuri Pankovor 2626*b3cff10cSYuri Pankov.Sy @ 2627*b3cff10cSYuri Pankovcharacter and following 2628*b3cff10cSYuri Pankov.Pc . 2629*b3cff10cSYuri Pankov.Pp 2630*b3cff10cSYuri PankovIf the incremental target is a clone, the incremental source can be the origin 2631*b3cff10cSYuri Pankovsnapshot, or an earlier snapshot in the origin's filesystem, or the origin's 2632*b3cff10cSYuri Pankovorigin, etc. 2633*b3cff10cSYuri Pankov.El 2634*b3cff10cSYuri Pankov.It Xo 2635*b3cff10cSYuri Pankov.Nm 2636*b3cff10cSYuri Pankov.Cm receive 2637*b3cff10cSYuri Pankov.Op Fl Fnuv 2638*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot 2639c10c16deSRichard Lowe.br 2640*b3cff10cSYuri Pankov.Nm 2641*b3cff10cSYuri Pankov.Cm receive 2642*b3cff10cSYuri Pankov.Op Fl Fnuv 2643*b3cff10cSYuri Pankov.Op Fl d Ns | Ns Fl e 2644*b3cff10cSYuri Pankov.Ar filesystem 2645*b3cff10cSYuri Pankov.Xc 2646c10c16deSRichard LoweCreates a snapshot whose contents are as specified in the stream provided on 2647c10c16deSRichard Lowestandard input. If a full stream is received, then a new file system is created 2648*b3cff10cSYuri Pankovas well. Streams are created using the 2649*b3cff10cSYuri Pankov.Nm zfs Cm send 2650*b3cff10cSYuri Pankovsubcommand, which by default creates a full stream. 2651*b3cff10cSYuri Pankov.Nm zfs Cm recv 2652*b3cff10cSYuri Pankovcan be used as an alias for 2653*b3cff10cSYuri Pankov.Nm zfs Cm receive. 2654*b3cff10cSYuri Pankov.Pp 2655c10c16deSRichard LoweIf an incremental stream is received, then the destination file system must 2656c10c16deSRichard Lowealready exist, and its most recent snapshot must match the incremental stream's 2657*b3cff10cSYuri Pankovsource. For 2658*b3cff10cSYuri Pankov.Sy zvols , 2659*b3cff10cSYuri Pankovthe destination device link is destroyed and recreated, which means the 2660*b3cff10cSYuri Pankov.Sy zvol 2661*b3cff10cSYuri Pankovcannot be accessed during the 2662*b3cff10cSYuri Pankov.Cm receive 2663*b3cff10cSYuri Pankovoperation. 2664*b3cff10cSYuri Pankov.Pp 2665c10c16deSRichard LoweWhen a snapshot replication package stream that is generated by using the 2666*b3cff10cSYuri Pankov.Nm zfs Cm send Fl R 2667*b3cff10cSYuri Pankovcommand is received, any snapshots that do not exist on the sending location are 2668*b3cff10cSYuri Pankovdestroyed by using the 2669*b3cff10cSYuri Pankov.Nm zfs Cm destroy Fl d 2670c10c16deSRichard Lowecommand. 2671*b3cff10cSYuri Pankov.Pp 2672*b3cff10cSYuri PankovThe name of the snapshot 2673*b3cff10cSYuri Pankov.Pq and file system, if a full stream is received 2674*b3cff10cSYuri Pankovthat this subcommand creates depends on the argument type and the use of the 2675*b3cff10cSYuri Pankov.Fl d 2676*b3cff10cSYuri Pankovor 2677*b3cff10cSYuri Pankov.Fl e 2678*b3cff10cSYuri Pankovoptions. 2679*b3cff10cSYuri Pankov.Pp 2680*b3cff10cSYuri PankovIf the argument is a snapshot name, the specified 2681*b3cff10cSYuri Pankov.Ar snapshot 2682*b3cff10cSYuri Pankovis created. If the argument is a file system or volume name, a snapshot with the 2683*b3cff10cSYuri Pankovsame name as the sent snapshot is created within the specified 2684*b3cff10cSYuri Pankov.Ar filesystem 2685*b3cff10cSYuri Pankovor 2686*b3cff10cSYuri Pankov.Ar volume . 2687*b3cff10cSYuri PankovIf neither of the 2688*b3cff10cSYuri Pankov.Fl d 2689*b3cff10cSYuri Pankovor 2690*b3cff10cSYuri Pankov.Fl e 2691*b3cff10cSYuri Pankovoptions are specified, the provided target snapshot name is used exactly as 2692*b3cff10cSYuri Pankovprovided. 2693*b3cff10cSYuri Pankov.Pp 2694*b3cff10cSYuri PankovThe 2695*b3cff10cSYuri Pankov.Fl d 2696*b3cff10cSYuri Pankovand 2697*b3cff10cSYuri Pankov.Fl e 2698*b3cff10cSYuri Pankovoptions cause the file system name of the target snapshot to be determined by 2699*b3cff10cSYuri Pankovappending a portion of the sent snapshot's name to the specified target 2700*b3cff10cSYuri Pankov.Ar filesystem . 2701*b3cff10cSYuri PankovIf the 2702*b3cff10cSYuri Pankov.Fl d 2703*b3cff10cSYuri Pankovoption is specified, all but the first element of the sent snapshot's file 2704*b3cff10cSYuri Pankovsystem path 2705*b3cff10cSYuri Pankov.Pq usually the pool name 2706*b3cff10cSYuri Pankovis used and any required intermediate file systems within the specified one are 2707*b3cff10cSYuri Pankovcreated. If the 2708*b3cff10cSYuri Pankov.Fl e 2709*b3cff10cSYuri Pankovoption is specified, then only the last element of the sent snapshot's file 2710*b3cff10cSYuri Pankovsystem name 2711*b3cff10cSYuri Pankov.Pq i.e. the name of the source file system itself 2712*b3cff10cSYuri Pankovis used as the target file system name. 2713*b3cff10cSYuri Pankov.Bl -tag -width "-F" 2714*b3cff10cSYuri Pankov.It Fl F 2715*b3cff10cSYuri PankovForce a rollback of the file system to the most recent snapshot before 2716*b3cff10cSYuri Pankovperforming the receive operation. If receiving an incremental replication stream 2717*b3cff10cSYuri Pankov.Po for example, one generated by 2718*b3cff10cSYuri Pankov.Nm zfs Cm send Fl R Op Fl i Ns | Ns Fl I 2719*b3cff10cSYuri Pankov.Pc , 2720*b3cff10cSYuri Pankovdestroy snapshots and file systems that do not exist on the sending side. 2721*b3cff10cSYuri Pankov.It Fl d 2722*b3cff10cSYuri PankovDiscard the first element of the sent snapshot's file system name, using the 2723*b3cff10cSYuri Pankovremaining elements to determine the name of the target file system for the new 2724*b3cff10cSYuri Pankovsnapshot as described in the paragraph above. 2725*b3cff10cSYuri Pankov.It Fl e 2726*b3cff10cSYuri PankovDiscard all but the last element of the sent snapshot's file system name, using 2727*b3cff10cSYuri Pankovthat element to determine the name of the target file system for the new 2728*b3cff10cSYuri Pankovsnapshot as described in the paragraph above. 2729*b3cff10cSYuri Pankov.It Fl n 2730*b3cff10cSYuri PankovDo not actually receive the stream. This can be useful in conjunction with the 2731*b3cff10cSYuri Pankov.Fl v 2732*b3cff10cSYuri Pankovoption to verify the name the receive operation would use. 2733*b3cff10cSYuri Pankov.It Fl u 2734c10c16deSRichard LoweFile system that is associated with the received stream is not mounted. 2735*b3cff10cSYuri Pankov.It Fl v 2736c10c16deSRichard LowePrint verbose information about the stream and the time required to perform the 2737c10c16deSRichard Lowereceive operation. 2738*b3cff10cSYuri Pankov.El 2739*b3cff10cSYuri Pankov.It Xo 2740*b3cff10cSYuri Pankov.Nm 2741*b3cff10cSYuri Pankov.Cm allow 2742*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 2743*b3cff10cSYuri Pankov.Xc 2744c10c16deSRichard LoweDisplays permissions that have been delegated on the specified filesystem or 2745*b3cff10cSYuri Pankovvolume. See the other forms of 2746*b3cff10cSYuri Pankov.Nm zfs Cm allow 2747*b3cff10cSYuri Pankovfor more information. 2748*b3cff10cSYuri Pankov.It Xo 2749*b3cff10cSYuri Pankov.Nm 2750*b3cff10cSYuri Pankov.Cm allow 2751*b3cff10cSYuri Pankov.Op Fl dglu 2752*b3cff10cSYuri Pankov.Ar user Ns | Ns Ar group Ns Oo , Ns Ar user Ns | Ns Ar group Oc Ns ... 2753*b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns 2754*b3cff10cSYuri Pankov.Ar setname Oc Ns ... 2755*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 2756c10c16deSRichard Lowe.br 2757*b3cff10cSYuri Pankov.Nm 2758*b3cff10cSYuri Pankov.Cm allow 2759*b3cff10cSYuri Pankov.Op Fl dl 2760*b3cff10cSYuri Pankov.Fl e Ns | Ns Sy everyone 2761*b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns 2762*b3cff10cSYuri Pankov.Ar setname Oc Ns ... 2763*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 2764*b3cff10cSYuri Pankov.Xc 2765*b3cff10cSYuri PankovDelegates ZFS administration permission for the file systems to non-privileged 2766*b3cff10cSYuri Pankovusers. 2767*b3cff10cSYuri Pankov.Bl -tag -width "-d" 2768*b3cff10cSYuri Pankov.It Fl d 2769*b3cff10cSYuri PankovAllow only for the descendent file systems. 2770*b3cff10cSYuri Pankov.It Fl e Ns | Ns Sy everyone 277152fd7480SMarcel TelkaSpecifies that the permissions be delegated to everyone. 2772*b3cff10cSYuri Pankov.It Fl g Ar group Ns Oo , Ns Ar group Oc Ns ... 2773*b3cff10cSYuri PankovExplicitly specify that permissions are delegated to the group. 2774*b3cff10cSYuri Pankov.It Fl l 2775*b3cff10cSYuri PankovAllow 2776*b3cff10cSYuri Pankov.Qq locally 2777*b3cff10cSYuri Pankovonly for the specified file system. 2778*b3cff10cSYuri Pankov.It Fl u Ar user Ns Oo , Ns Ar user Oc Ns ... 2779*b3cff10cSYuri PankovExplicitly specify that permissions are delegated to the user. 2780*b3cff10cSYuri Pankov.It Ar user Ns | Ns Ar group Ns Oo , Ns Ar user Ns | Ns Ar group Oc Ns ... 2781*b3cff10cSYuri PankovSpecifies to whom the permissions are delegated. Multiple entities can be 2782*b3cff10cSYuri Pankovspecified as a comma-separated list. If neither of the 2783*b3cff10cSYuri Pankov.Fl gu 2784*b3cff10cSYuri Pankovoptions are specified, then the argument is interpreted preferentially as the 2785*b3cff10cSYuri Pankovkeyword 2786*b3cff10cSYuri Pankov.Sy everyone , 2787*b3cff10cSYuri Pankovthen as a user name, and lastly as a group name. To specify a user or group 2788*b3cff10cSYuri Pankovnamed 2789*b3cff10cSYuri Pankov.Qq everyone , 2790*b3cff10cSYuri Pankovuse the 2791*b3cff10cSYuri Pankov.Fl g 2792*b3cff10cSYuri Pankovor 2793*b3cff10cSYuri Pankov.Fl u 2794*b3cff10cSYuri Pankovoptions. To specify a group with the same name as a user, use the 2795*b3cff10cSYuri Pankov.Fl g 2796*b3cff10cSYuri Pankovoptions. 2797*b3cff10cSYuri Pankov.It Xo 2798*b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns 2799*b3cff10cSYuri Pankov.Ar setname Oc Ns ... 2800*b3cff10cSYuri Pankov.Xc 2801*b3cff10cSYuri PankovThe permissions to delegate. Multiple permissions may be specified as a 2802*b3cff10cSYuri Pankovcomma-separated list. Permission names are the same as ZFS subcommand and 2803*b3cff10cSYuri Pankovproperty names. See the property list below. Property set names, 2804*b3cff10cSYuri Pankovwhich begin with 2805*b3cff10cSYuri Pankov.Sy @ , 2806*b3cff10cSYuri Pankovmay be specified. See the 2807*b3cff10cSYuri Pankov.Fl s 2808*b3cff10cSYuri Pankovform below for details. 2809*b3cff10cSYuri Pankov.El 2810*b3cff10cSYuri Pankov.Pp 2811*b3cff10cSYuri PankovIf neither of the 2812*b3cff10cSYuri Pankov.Fl dl 2813c10c16deSRichard Loweoptions are specified, or both are, then the permissions are allowed for the 2814*b3cff10cSYuri Pankovfile system or volume, and all of its descendents. 2815*b3cff10cSYuri Pankov.Pp 2816*b3cff10cSYuri PankovPermissions are generally the ability to use a ZFS subcommand or change a ZFS 2817*b3cff10cSYuri Pankovproperty. The following permissions are available: 2818*b3cff10cSYuri Pankov.Bd -literal 2819c10c16deSRichard LoweNAME TYPE NOTES 2820c10c16deSRichard Loweallow subcommand Must also have the permission that is being 2821c10c16deSRichard Lowe allowed 2822c10c16deSRichard Loweclone subcommand Must also have the 'create' ability and 'mount' 2823c10c16deSRichard Lowe ability in the origin file system 2824c10c16deSRichard Lowecreate subcommand Must also have the 'mount' ability 2825c10c16deSRichard Lowedestroy subcommand Must also have the 'mount' ability 28263b8be6bfSRichard Lowediff subcommand Allows lookup of paths within a dataset 28273b8be6bfSRichard Lowe given an object number, and the ability to 28283b8be6bfSRichard Lowe create snapshots necessary to 'zfs diff'. 2829c10c16deSRichard Lowemount subcommand Allows mount/umount of ZFS datasets 2830c10c16deSRichard Lowepromote subcommand Must also have the 'mount' 2831c10c16deSRichard Lowe and 'promote' ability in the origin file system 2832c10c16deSRichard Lowereceive subcommand Must also have the 'mount' and 'create' ability 2833c10c16deSRichard Lowerename subcommand Must also have the 'mount' and 'create' 2834c10c16deSRichard Lowe ability in the new parent 2835c10c16deSRichard Lowerollback subcommand Must also have the 'mount' ability 2836c10c16deSRichard Lowesend subcommand 2837c10c16deSRichard Loweshare subcommand Allows sharing file systems over NFS or SMB 2838c10c16deSRichard Lowe protocols 2839c10c16deSRichard Lowesnapshot subcommand Must also have the 'mount' ability 2840*b3cff10cSYuri Pankov 2841c10c16deSRichard Lowegroupquota other Allows accessing any groupquota@... property 2842c10c16deSRichard Lowegroupused other Allows reading any groupused@... property 2843c10c16deSRichard Loweuserprop other Allows changing any user property 2844c10c16deSRichard Loweuserquota other Allows accessing any userquota@... property 2845c10c16deSRichard Loweuserused other Allows reading any userused@... property 2846c10c16deSRichard Lowe 2847c10c16deSRichard Loweaclinherit property 2848c10c16deSRichard Loweaclmode property 2849c10c16deSRichard Loweatime property 2850c10c16deSRichard Lowecanmount property 2851c10c16deSRichard Lowecasesensitivity property 2852c10c16deSRichard Lowechecksum property 2853c10c16deSRichard Lowecompression property 2854c10c16deSRichard Lowecopies property 2855c10c16deSRichard Lowedevices property 2856c10c16deSRichard Loweexec property 2857a2afb611SJerry Jelinekfilesystem_limit property 2858c10c16deSRichard Lowemountpoint property 2859c10c16deSRichard Lowenbmand property 2860c10c16deSRichard Lowenormalization property 2861c10c16deSRichard Loweprimarycache property 2862c10c16deSRichard Lowequota property 2863c10c16deSRichard Lowereadonly property 2864c10c16deSRichard Lowerecordsize property 2865c10c16deSRichard Lowerefquota property 2866c10c16deSRichard Lowerefreservation property 2867c10c16deSRichard Lowereservation property 2868c10c16deSRichard Lowesecondarycache property 2869c10c16deSRichard Lowesetuid property 2870c10c16deSRichard Lowesharenfs property 2871c10c16deSRichard Lowesharesmb property 2872c10c16deSRichard Lowesnapdir property 2873a2afb611SJerry Jelineksnapshot_limit property 2874c10c16deSRichard Loweutf8only property 2875c10c16deSRichard Loweversion property 2876c10c16deSRichard Lowevolblocksize property 2877c10c16deSRichard Lowevolsize property 2878c10c16deSRichard Lowevscan property 2879c10c16deSRichard Lowexattr property 2880c10c16deSRichard Lowezoned property 2881*b3cff10cSYuri Pankov.Ed 2882*b3cff10cSYuri Pankov.It Xo 2883*b3cff10cSYuri Pankov.Nm 2884*b3cff10cSYuri Pankov.Cm allow 2885*b3cff10cSYuri Pankov.Fl c 2886*b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns 2887*b3cff10cSYuri Pankov.Ar setname Oc Ns ... 2888*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 2889*b3cff10cSYuri Pankov.Xc 2890*b3cff10cSYuri PankovSets 2891*b3cff10cSYuri Pankov.Qq create time 2892*b3cff10cSYuri Pankovpermissions. These permissions are granted 2893*b3cff10cSYuri Pankov.Pq locally 2894*b3cff10cSYuri Pankovto the creator of any newly-created descendent file system. 2895*b3cff10cSYuri Pankov.It Xo 2896*b3cff10cSYuri Pankov.Nm 2897*b3cff10cSYuri Pankov.Cm allow 2898*b3cff10cSYuri Pankov.Fl s No @ Ns Ar setname 2899*b3cff10cSYuri Pankov.Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns 2900*b3cff10cSYuri Pankov.Ar setname Oc Ns ... 2901*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 2902*b3cff10cSYuri Pankov.Xc 2903c10c16deSRichard LoweDefines or adds permissions to a permission set. The set can be used by other 2904*b3cff10cSYuri Pankov.Nm zfs Cm allow 2905*b3cff10cSYuri Pankovcommands for the specified file system and its descendents. Sets are evaluated 2906*b3cff10cSYuri Pankovdynamically, so changes to a set are immediately reflected. Permission sets 2907*b3cff10cSYuri Pankovfollow the same naming restrictions as ZFS file systems, but the name must begin 2908*b3cff10cSYuri Pankovwith 2909*b3cff10cSYuri Pankov.Sy @ , 2910*b3cff10cSYuri Pankovand can be no more than 64 characters long. 2911*b3cff10cSYuri Pankov.It Xo 2912*b3cff10cSYuri Pankov.Nm 2913*b3cff10cSYuri Pankov.Cm unallow 2914*b3cff10cSYuri Pankov.Op Fl dglru 2915*b3cff10cSYuri Pankov.Ar user Ns | Ns Ar group Ns Oo , Ns Ar user Ns | Ns Ar group Oc Ns ... 2916*b3cff10cSYuri Pankov.Oo Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns 2917*b3cff10cSYuri Pankov.Ar setname Oc Ns ... Oc 2918*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 2919c10c16deSRichard Lowe.br 2920*b3cff10cSYuri Pankov.Nm 2921*b3cff10cSYuri Pankov.Cm unallow 2922*b3cff10cSYuri Pankov.Op Fl dlr 2923*b3cff10cSYuri Pankov.Fl e Ns | Ns Sy everyone 2924*b3cff10cSYuri Pankov.Oo Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns 2925*b3cff10cSYuri Pankov.Ar setname Oc Ns ... Oc 2926*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 2927c10c16deSRichard Lowe.br 2928*b3cff10cSYuri Pankov.Nm 2929*b3cff10cSYuri Pankov.Cm unallow 2930*b3cff10cSYuri Pankov.Op Fl r 2931*b3cff10cSYuri Pankov.Fl c 2932*b3cff10cSYuri Pankov.Oo Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns 2933*b3cff10cSYuri Pankov.Ar setname Oc Ns ... Oc 2934*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 2935*b3cff10cSYuri Pankov.Xc 2936*b3cff10cSYuri PankovRemoves permissions that were granted with the 2937*b3cff10cSYuri Pankov.Nm zfs Cm allow 2938*b3cff10cSYuri Pankovcommand. No permissions are explicitly denied, so other permissions granted are 2939*b3cff10cSYuri Pankovstill in effect. For example, if the permission is granted by an ancestor. If no 2940*b3cff10cSYuri Pankovpermissions are specified, then all permissions for the specified 2941*b3cff10cSYuri Pankov.Ar user , 2942*b3cff10cSYuri Pankov.Ar group , 2943*b3cff10cSYuri Pankovor 2944*b3cff10cSYuri Pankov.Sy everyone 2945*b3cff10cSYuri Pankovare removed. Specifying 2946*b3cff10cSYuri Pankov.Sy everyone 2947*b3cff10cSYuri Pankov.Po or using the 2948*b3cff10cSYuri Pankov.Fl e 2949*b3cff10cSYuri Pankovoption 2950*b3cff10cSYuri Pankov.Pc 2951*b3cff10cSYuri Pankovonly removes the permissions that were granted to everyone, not all permissions 2952*b3cff10cSYuri Pankovfor every user and group. See the 2953*b3cff10cSYuri Pankov.Nm zfs Cm allow 2954*b3cff10cSYuri Pankovcommand for a description of the 2955*b3cff10cSYuri Pankov.Fl ldugec 2956*b3cff10cSYuri Pankovoptions. 2957*b3cff10cSYuri Pankov.Bl -tag -width "-r" 2958*b3cff10cSYuri Pankov.It Fl r 2959c10c16deSRichard LoweRecursively remove the permissions from this file system and all descendents. 2960*b3cff10cSYuri Pankov.El 2961*b3cff10cSYuri Pankov.It Xo 2962*b3cff10cSYuri Pankov.Nm 2963*b3cff10cSYuri Pankov.Cm unallow 2964*b3cff10cSYuri Pankov.Op Fl r 2965*b3cff10cSYuri Pankov.Fl s @ Ns Ar setname 2966*b3cff10cSYuri Pankov.Oo Ar perm Ns | Ns @ Ns Ar setname Ns Oo , Ns Ar perm Ns | Ns @ Ns 2967*b3cff10cSYuri Pankov.Ar setname Oc Ns ... Oc 2968*b3cff10cSYuri Pankov.Ar filesystem Ns | Ns Ar volume 2969*b3cff10cSYuri Pankov.Xc 2970*b3cff10cSYuri PankovRemoves permissions from a permission set. If no permissions are specified, then 2971*b3cff10cSYuri Pankovall permissions are removed, thus removing the set entirely. 2972*b3cff10cSYuri Pankov.It Xo 2973*b3cff10cSYuri Pankov.Nm 2974*b3cff10cSYuri Pankov.Cm hold 2975*b3cff10cSYuri Pankov.Op Fl r 2976*b3cff10cSYuri Pankov.Ar tag Ar snapshot Ns ... 2977*b3cff10cSYuri Pankov.Xc 2978*b3cff10cSYuri PankovAdds a single reference, named with the 2979*b3cff10cSYuri Pankov.Ar tag 2980*b3cff10cSYuri Pankovargument, to the specified snapshot or snapshots. Each snapshot has its own tag 2981*b3cff10cSYuri Pankovnamespace, and tags must be unique within that space. 2982*b3cff10cSYuri Pankov.Pp 2983c10c16deSRichard LoweIf a hold exists on a snapshot, attempts to destroy that snapshot by using the 2984*b3cff10cSYuri Pankov.Nm zfs Cm destroy 2985*b3cff10cSYuri Pankovcommand return 2986*b3cff10cSYuri Pankov.Er EBUSY . 2987*b3cff10cSYuri Pankov.Bl -tag -width "-r" 2988*b3cff10cSYuri Pankov.It Fl r 2989*b3cff10cSYuri PankovSpecifies that a hold with the given tag is applied recursively to the snapshots 2990*b3cff10cSYuri Pankovof all descendent file systems. 2991*b3cff10cSYuri Pankov.El 2992*b3cff10cSYuri Pankov.It Xo 2993*b3cff10cSYuri Pankov.Nm 2994*b3cff10cSYuri Pankov.Cm holds 2995*b3cff10cSYuri Pankov.Op Fl r 2996*b3cff10cSYuri Pankov.Ar snapshot Ns ... 2997*b3cff10cSYuri Pankov.Xc 2998c10c16deSRichard LoweLists all existing user references for the given snapshot or snapshots. 2999*b3cff10cSYuri Pankov.Bl -tag -width "-r" 3000*b3cff10cSYuri Pankov.It Fl r 3001c10c16deSRichard LoweLists the holds that are set on the named descendent snapshots, in addition to 3002c10c16deSRichard Lowelisting the holds on the named snapshot. 3003*b3cff10cSYuri Pankov.El 3004*b3cff10cSYuri Pankov.It Xo 3005*b3cff10cSYuri Pankov.Nm 3006*b3cff10cSYuri Pankov.Cm release 3007*b3cff10cSYuri Pankov.Op Fl r 3008*b3cff10cSYuri Pankov.Ar tag Ar snapshot Ns ... 3009*b3cff10cSYuri Pankov.Xc 3010*b3cff10cSYuri PankovRemoves a single reference, named with the 3011*b3cff10cSYuri Pankov.Ar tag 3012*b3cff10cSYuri Pankovargument, from the specified snapshot or snapshots. The tag must already exist 3013*b3cff10cSYuri Pankovfor each snapshot. If a hold exists on a snapshot, attempts to destroy that 3014*b3cff10cSYuri Pankovsnapshot by using the 3015*b3cff10cSYuri Pankov.Nm zfs Cm destroy 3016*b3cff10cSYuri Pankovcommand return 3017*b3cff10cSYuri Pankov.Er EBUSY . 3018*b3cff10cSYuri Pankov.Bl -tag -width "-r" 3019*b3cff10cSYuri Pankov.It Fl r 3020c10c16deSRichard LoweRecursively releases a hold with the given tag on the snapshots of all 3021c10c16deSRichard Lowedescendent file systems. 3022*b3cff10cSYuri Pankov.El 3023*b3cff10cSYuri Pankov.It Xo 3024*b3cff10cSYuri Pankov.Nm 3025*b3cff10cSYuri Pankov.Cm diff 3026*b3cff10cSYuri Pankov.Op Fl FHt 3027*b3cff10cSYuri Pankov.Ar snapshot Ar snapshot Ns | Ns Ar filesystem 3028*b3cff10cSYuri Pankov.Xc 30293b8be6bfSRichard LoweDisplay the difference between a snapshot of a given filesystem and another 30303b8be6bfSRichard Lowesnapshot of that filesystem from a later time or the current contents of the 3031*b3cff10cSYuri Pankovfilesystem. The first column is a character indicating the type of change, the 3032*b3cff10cSYuri Pankovother columns indicate pathname, new pathname 3033*b3cff10cSYuri Pankov.Pq in case of rename , 3034*b3cff10cSYuri Pankovchange in link count, and optionally file type and/or change time. The types of 3035*b3cff10cSYuri Pankovchange are: 3036*b3cff10cSYuri Pankov.Bd -literal 30373b8be6bfSRichard Lowe- The path has been removed 30383b8be6bfSRichard Lowe+ The path has been created 30393b8be6bfSRichard LoweM The path has been modified 30403b8be6bfSRichard LoweR The path has been renamed 3041*b3cff10cSYuri Pankov.Ed 3042*b3cff10cSYuri Pankov.Bl -tag -width "-F" 3043*b3cff10cSYuri Pankov.It Fl F 3044*b3cff10cSYuri PankovDisplay an indication of the type of file, in a manner similar to the 3045*b3cff10cSYuri Pankov.Fl 3046*b3cff10cSYuri Pankovoption of 3047*b3cff10cSYuri Pankov.Xr ls 1 . 3048*b3cff10cSYuri Pankov.Bd -literal 30493b8be6bfSRichard LoweB Block device 30503b8be6bfSRichard LoweC Character device 30513b8be6bfSRichard Lowe/ Directory 30523b8be6bfSRichard Lowe> Door 30533b8be6bfSRichard Lowe| Named pipe 30543b8be6bfSRichard Lowe@ Symbolic link 30553b8be6bfSRichard LoweP Event port 30563b8be6bfSRichard Lowe= Socket 30573b8be6bfSRichard LoweF Regular file 3058*b3cff10cSYuri Pankov.Ed 3059*b3cff10cSYuri Pankov.It Fl H 3060*b3cff10cSYuri PankovGive more parsable tab-separated output, without header lines and without 3061*b3cff10cSYuri Pankovarrows. 3062*b3cff10cSYuri Pankov.It Fl t 30633b8be6bfSRichard LoweDisplay the path's inode change time as the first column of output. 3064*b3cff10cSYuri Pankov.El 3065*b3cff10cSYuri Pankov.El 3066*b3cff10cSYuri Pankov.Sh EXIT STATUS 3067*b3cff10cSYuri PankovThe 3068*b3cff10cSYuri Pankov.Nm 3069*b3cff10cSYuri Pankovutility exits 0 on success, 1 if an error occurs, and 2 if invalid command line 3070*b3cff10cSYuri Pankovoptions were specified. 3071*b3cff10cSYuri Pankov.Sh EXAMPLES 3072*b3cff10cSYuri Pankov.Bl -tag -width "" 3073*b3cff10cSYuri Pankov.It Sy Example 1 No Creating a ZFS File System Hierarchy 3074*b3cff10cSYuri PankovThe following commands create a file system named 3075*b3cff10cSYuri Pankov.Em pool/home 3076*b3cff10cSYuri Pankovand a file system named 3077*b3cff10cSYuri Pankov.Em pool/home/bob . 3078*b3cff10cSYuri PankovThe mount point 3079*b3cff10cSYuri Pankov.Pa /export/home 3080*b3cff10cSYuri Pankovis set for the parent file system, and is automatically inherited by the child 3081*b3cff10cSYuri Pankovfile system. 3082*b3cff10cSYuri Pankov.Bd -literal 3083*b3cff10cSYuri Pankov# zfs create pool/home 3084*b3cff10cSYuri Pankov# zfs set mountpoint=/export/home pool/home 3085*b3cff10cSYuri Pankov# zfs create pool/home/bob 3086*b3cff10cSYuri Pankov.Ed 3087*b3cff10cSYuri Pankov.It Sy Example 2 No Creating a ZFS Snapshot 3088*b3cff10cSYuri PankovThe following command creates a snapshot named 3089*b3cff10cSYuri Pankov.Sy yesterday . 3090*b3cff10cSYuri PankovThis snapshot is mounted on demand in the 3091*b3cff10cSYuri Pankov.Pa .zfs/snapshot 3092*b3cff10cSYuri Pankovdirectory at the root of the 3093*b3cff10cSYuri Pankov.Em pool/home/bob 3094*b3cff10cSYuri Pankovfile system. 3095*b3cff10cSYuri Pankov.Bd -literal 3096*b3cff10cSYuri Pankov# zfs snapshot pool/home/bob@yesterday 3097*b3cff10cSYuri Pankov.Ed 3098*b3cff10cSYuri Pankov.It Sy Example 3 No Creating and Destroying Multiple Snapshots 3099*b3cff10cSYuri PankovThe following command creates snapshots named 3100*b3cff10cSYuri Pankov.Sy yesterday 3101*b3cff10cSYuri Pankovof 3102*b3cff10cSYuri Pankov.Em pool/home 3103*b3cff10cSYuri Pankovand all of its descendent file systems. Each snapshot is mounted on demand in 3104*b3cff10cSYuri Pankovthe 3105*b3cff10cSYuri Pankov.Pa .zfs/snapshot 3106*b3cff10cSYuri Pankovdirectory at the root of its file system. The second command destroys the newly 3107*b3cff10cSYuri Pankovcreated snapshots. 3108*b3cff10cSYuri Pankov.Bd -literal 3109*b3cff10cSYuri Pankov# zfs snapshot -r pool/home@yesterday 3110*b3cff10cSYuri Pankov# zfs destroy -r pool/home@yesterday 3111*b3cff10cSYuri Pankov.Ed 3112*b3cff10cSYuri Pankov.It Sy Example 4 No Disabling and Enabling File System Compression 3113*b3cff10cSYuri PankovThe following command disables the 3114*b3cff10cSYuri Pankov.Sy compression 3115*b3cff10cSYuri Pankovproperty for all file systems under 3116*b3cff10cSYuri Pankov.Em pool/home . 3117*b3cff10cSYuri PankovThe next command explicitly enables 3118*b3cff10cSYuri Pankov.Sy compression 3119*b3cff10cSYuri Pankovfor 3120*b3cff10cSYuri Pankov.Em pool/home/anne . 3121*b3cff10cSYuri Pankov.Bd -literal 3122*b3cff10cSYuri Pankov# zfs set compression=off pool/home 3123*b3cff10cSYuri Pankov# zfs set compression=on pool/home/anne 3124*b3cff10cSYuri Pankov.Ed 3125*b3cff10cSYuri Pankov.It Sy Example 5 No Listing ZFS Datasets 3126c10c16deSRichard LoweThe following command lists all active file systems and volumes in the system. 3127*b3cff10cSYuri PankovSnapshots are displayed if the 3128*b3cff10cSYuri Pankov.Sy listsnaps 3129*b3cff10cSYuri Pankovproperty is 3130*b3cff10cSYuri Pankov.Sy on . 3131*b3cff10cSYuri PankovThe default is 3132*b3cff10cSYuri Pankov.Sy off . 3133*b3cff10cSYuri PankovSee 3134*b3cff10cSYuri Pankov.Xr zpool 1M 3135*b3cff10cSYuri Pankovfor more information on pool properties. 3136*b3cff10cSYuri Pankov.Bd -literal 3137*b3cff10cSYuri Pankov# zfs list 3138c10c16deSRichard LoweNAME USED AVAIL REFER MOUNTPOINT 3139c10c16deSRichard Lowepool 450K 457G 18K /pool 3140c10c16deSRichard Lowepool/home 315K 457G 21K /export/home 3141c10c16deSRichard Lowepool/home/anne 18K 457G 18K /export/home/anne 3142c10c16deSRichard Lowepool/home/bob 276K 457G 276K /export/home/bob 3143*b3cff10cSYuri Pankov.Ed 3144*b3cff10cSYuri Pankov.It Sy Example 6 No Setting a Quota on a ZFS File System 3145*b3cff10cSYuri PankovThe following command sets a quota of 50 Gbytes for 3146*b3cff10cSYuri Pankov.Em pool/home/bob . 3147*b3cff10cSYuri Pankov.Bd -literal 3148*b3cff10cSYuri Pankov# zfs set quota=50G pool/home/bob 3149*b3cff10cSYuri Pankov.Ed 3150*b3cff10cSYuri Pankov.It Sy Example 7 No Listing ZFS Properties 3151*b3cff10cSYuri PankovThe following command lists all properties for 3152*b3cff10cSYuri Pankov.Em pool/home/bob . 3153*b3cff10cSYuri Pankov.Bd -literal 3154*b3cff10cSYuri Pankov# zfs get all pool/home/bob 3155c10c16deSRichard LoweNAME PROPERTY VALUE SOURCE 3156c10c16deSRichard Lowepool/home/bob type filesystem - 3157c10c16deSRichard Lowepool/home/bob creation Tue Jul 21 15:53 2009 - 3158c10c16deSRichard Lowepool/home/bob used 21K - 3159c10c16deSRichard Lowepool/home/bob available 20.0G - 3160c10c16deSRichard Lowepool/home/bob referenced 21K - 3161c10c16deSRichard Lowepool/home/bob compressratio 1.00x - 3162c10c16deSRichard Lowepool/home/bob mounted yes - 3163c10c16deSRichard Lowepool/home/bob quota 20G local 3164c10c16deSRichard Lowepool/home/bob reservation none default 3165c10c16deSRichard Lowepool/home/bob recordsize 128K default 3166c10c16deSRichard Lowepool/home/bob mountpoint /pool/home/bob default 3167c10c16deSRichard Lowepool/home/bob sharenfs off default 3168c10c16deSRichard Lowepool/home/bob checksum on default 3169c10c16deSRichard Lowepool/home/bob compression on local 3170c10c16deSRichard Lowepool/home/bob atime on default 3171c10c16deSRichard Lowepool/home/bob devices on default 3172c10c16deSRichard Lowepool/home/bob exec on default 3173c10c16deSRichard Lowepool/home/bob setuid on default 3174c10c16deSRichard Lowepool/home/bob readonly off default 3175c10c16deSRichard Lowepool/home/bob zoned off default 3176c10c16deSRichard Lowepool/home/bob snapdir hidden default 3177a3c49ce1SAlbert Leepool/home/bob aclmode discard default 3178c10c16deSRichard Lowepool/home/bob aclinherit restricted default 3179c10c16deSRichard Lowepool/home/bob canmount on default 3180c10c16deSRichard Lowepool/home/bob xattr on default 3181c10c16deSRichard Lowepool/home/bob copies 1 default 3182c10c16deSRichard Lowepool/home/bob version 4 - 3183c10c16deSRichard Lowepool/home/bob utf8only off - 3184c10c16deSRichard Lowepool/home/bob normalization none - 3185c10c16deSRichard Lowepool/home/bob casesensitivity sensitive - 3186c10c16deSRichard Lowepool/home/bob vscan off default 3187c10c16deSRichard Lowepool/home/bob nbmand off default 3188c10c16deSRichard Lowepool/home/bob sharesmb off default 3189c10c16deSRichard Lowepool/home/bob refquota none default 3190c10c16deSRichard Lowepool/home/bob refreservation none default 3191c10c16deSRichard Lowepool/home/bob primarycache all default 3192c10c16deSRichard Lowepool/home/bob secondarycache all default 3193c10c16deSRichard Lowepool/home/bob usedbysnapshots 0 - 3194c10c16deSRichard Lowepool/home/bob usedbydataset 21K - 3195c10c16deSRichard Lowepool/home/bob usedbychildren 0 - 3196c10c16deSRichard Lowepool/home/bob usedbyrefreservation 0 - 3197*b3cff10cSYuri Pankov.Ed 3198*b3cff10cSYuri Pankov.Pp 3199c10c16deSRichard LoweThe following command gets a single property value. 3200*b3cff10cSYuri Pankov.Bd -literal 3201*b3cff10cSYuri Pankov# zfs get -H -o value compression pool/home/bob 3202c10c16deSRichard Loweon 3203*b3cff10cSYuri Pankov.Ed 3204c10c16deSRichard LoweThe following command lists all properties with local settings for 3205*b3cff10cSYuri Pankov.Em pool/home/bob . 3206*b3cff10cSYuri Pankov.Bd -literal 3207*b3cff10cSYuri Pankov# zfs get -r -s local -o name,property,value all pool/home/bob 3208c10c16deSRichard LoweNAME PROPERTY VALUE 3209c10c16deSRichard Lowepool/home/bob quota 20G 3210c10c16deSRichard Lowepool/home/bob compression on 3211*b3cff10cSYuri Pankov.Ed 3212*b3cff10cSYuri Pankov.It Sy Example 8 No Rolling Back a ZFS File System 3213*b3cff10cSYuri PankovThe following command reverts the contents of 3214*b3cff10cSYuri Pankov.Em pool/home/anne 3215*b3cff10cSYuri Pankovto the snapshot named 3216*b3cff10cSYuri Pankov.Sy yesterday , 3217*b3cff10cSYuri Pankovdeleting all intermediate snapshots. 3218*b3cff10cSYuri Pankov.Bd -literal 3219*b3cff10cSYuri Pankov# zfs rollback -r pool/home/anne@yesterday 3220*b3cff10cSYuri Pankov.Ed 3221*b3cff10cSYuri Pankov.It Sy Example 9 No Creating a ZFS Clone 3222c10c16deSRichard LoweThe following command creates a writable file system whose initial contents are 3223*b3cff10cSYuri Pankovthe same as 3224*b3cff10cSYuri Pankov.Em pool/home/bob@yesterday . 3225*b3cff10cSYuri Pankov.Bd -literal 3226*b3cff10cSYuri Pankov# zfs clone pool/home/bob@yesterday pool/clone 3227*b3cff10cSYuri Pankov.Ed 3228*b3cff10cSYuri Pankov.It Sy Example 10 No Promoting a ZFS Clone 3229c10c16deSRichard LoweThe following commands illustrate how to test out changes to a file system, and 3230c10c16deSRichard Lowethen replace the original file system with the changed one, using clones, clone 3231c10c16deSRichard Lowepromotion, and renaming: 3232*b3cff10cSYuri Pankov.Bd -literal 3233*b3cff10cSYuri Pankov# zfs create pool/project/production 3234c10c16deSRichard Lowe populate /pool/project/production with data 3235*b3cff10cSYuri Pankov# zfs snapshot pool/project/production@today 3236*b3cff10cSYuri Pankov# zfs clone pool/project/production@today pool/project/beta 3237c10c16deSRichard Lowe make changes to /pool/project/beta and test them 3238*b3cff10cSYuri Pankov# zfs promote pool/project/beta 3239*b3cff10cSYuri Pankov# zfs rename pool/project/production pool/project/legacy 3240*b3cff10cSYuri Pankov# zfs rename pool/project/beta pool/project/production 3241c10c16deSRichard Lowe once the legacy version is no longer needed, it can be destroyed 3242*b3cff10cSYuri Pankov# zfs destroy pool/project/legacy 3243*b3cff10cSYuri Pankov.Ed 3244*b3cff10cSYuri Pankov.It Sy Example 11 No Inheriting ZFS Properties 3245*b3cff10cSYuri PankovThe following command causes 3246*b3cff10cSYuri Pankov.Em pool/home/bob 3247*b3cff10cSYuri Pankovand 3248*b3cff10cSYuri Pankov.Em pool/home/anne 3249*b3cff10cSYuri Pankovto inherit the 3250*b3cff10cSYuri Pankov.Sy checksum 3251*b3cff10cSYuri Pankovproperty from their parent. 3252*b3cff10cSYuri Pankov.Bd -literal 3253*b3cff10cSYuri Pankov# zfs inherit checksum pool/home/bob pool/home/anne 3254*b3cff10cSYuri Pankov.Ed 3255*b3cff10cSYuri Pankov.It Sy Example 12 No Remotely Replicating ZFS Data 3256c10c16deSRichard LoweThe following commands send a full stream and then an incremental stream to a 3257*b3cff10cSYuri Pankovremote machine, restoring them into 3258*b3cff10cSYuri Pankov.Em poolB/received/fs@a 3259*b3cff10cSYuri Pankovand 3260*b3cff10cSYuri Pankov.Em poolB/received/fs@b , 3261*b3cff10cSYuri Pankovrespectively. 3262*b3cff10cSYuri Pankov.Em poolB 3263*b3cff10cSYuri Pankovmust contain the file system 3264*b3cff10cSYuri Pankov.Em poolB/received , 3265*b3cff10cSYuri Pankovand must not initially contain 3266*b3cff10cSYuri Pankov.Em poolB/received/fs . 3267*b3cff10cSYuri Pankov.Bd -literal 3268*b3cff10cSYuri Pankov# zfs send pool/fs@a | \e 3269*b3cff10cSYuri Pankov ssh host zfs receive poolB/received/fs@a 3270*b3cff10cSYuri Pankov# zfs send -i a pool/fs@b | \e 3271*b3cff10cSYuri Pankov ssh host zfs receive poolB/received/fs 3272*b3cff10cSYuri Pankov.Ed 3273*b3cff10cSYuri Pankov.It Sy Example 13 No Using the zfs receive -d Option 3274*b3cff10cSYuri PankovThe following command sends a full stream of 3275*b3cff10cSYuri Pankov.Em poolA/fsA/fsB@snap 3276*b3cff10cSYuri Pankovto a remote machine, receiving it into 3277*b3cff10cSYuri Pankov.Em poolB/received/fsA/fsB@snap . 3278*b3cff10cSYuri PankovThe 3279*b3cff10cSYuri Pankov.Em fsA/fsB@snap 3280*b3cff10cSYuri Pankovportion of the received snapshot's name is determined from the name of the sent 3281*b3cff10cSYuri Pankovsnapshot. 3282*b3cff10cSYuri Pankov.Em poolB 3283*b3cff10cSYuri Pankovmust contain the file system 3284*b3cff10cSYuri Pankov.Em poolB/received . 3285*b3cff10cSYuri PankovIf 3286*b3cff10cSYuri Pankov.Em poolB/received/fsA 3287*b3cff10cSYuri Pankovdoes not exist, it is created as an empty file system. 3288*b3cff10cSYuri Pankov.Bd -literal 3289*b3cff10cSYuri Pankov# zfs send poolA/fsA/fsB@snap | \e 3290*b3cff10cSYuri Pankov ssh host zfs receive -d poolB/received 3291*b3cff10cSYuri Pankov.Ed 3292*b3cff10cSYuri Pankov.It Sy Example 14 No Setting User Properties 3293*b3cff10cSYuri PankovThe following example sets the user-defined 3294*b3cff10cSYuri Pankov.Sy com.example:department 3295c10c16deSRichard Loweproperty for a dataset. 3296*b3cff10cSYuri Pankov.Bd -literal 3297*b3cff10cSYuri Pankov# zfs set com.example:department=12345 tank/accounting 3298*b3cff10cSYuri Pankov.Ed 3299*b3cff10cSYuri Pankov.It Sy Example 15 No Performing a Rolling Snapshot 3300c10c16deSRichard LoweThe following example shows how to maintain a history of snapshots with a 3301c10c16deSRichard Loweconsistent naming scheme. To keep a week's worth of snapshots, the user 3302c10c16deSRichard Lowedestroys the oldest snapshot, renames the remaining snapshots, and then creates 3303c10c16deSRichard Lowea new snapshot, as follows: 3304*b3cff10cSYuri Pankov.Bd -literal 3305*b3cff10cSYuri Pankov# zfs destroy -r pool/users@7daysago 3306*b3cff10cSYuri Pankov# zfs rename -r pool/users@6daysago @7daysago 3307*b3cff10cSYuri Pankov# zfs rename -r pool/users@5daysago @6daysago 3308*b3cff10cSYuri Pankov# zfs rename -r pool/users@yesterday @5daysago 3309*b3cff10cSYuri Pankov# zfs rename -r pool/users@yesterday @4daysago 3310*b3cff10cSYuri Pankov# zfs rename -r pool/users@yesterday @3daysago 3311*b3cff10cSYuri Pankov# zfs rename -r pool/users@yesterday @2daysago 3312*b3cff10cSYuri Pankov# zfs rename -r pool/users@today @yesterday 3313*b3cff10cSYuri Pankov# zfs snapshot -r pool/users@today 3314*b3cff10cSYuri Pankov.Ed 3315*b3cff10cSYuri Pankov.It Sy Example 16 No Setting sharenfs Property Options on a ZFS File System 3316*b3cff10cSYuri PankovThe following commands show how to set 3317*b3cff10cSYuri Pankov.Sy sharenfs 3318*b3cff10cSYuri Pankovproperty options to enable 3319*b3cff10cSYuri Pankov.Sy rw 3320*b3cff10cSYuri Pankovaccess for a set of 3321*b3cff10cSYuri Pankov.Sy IP 3322*b3cff10cSYuri Pankovaddresses and to enable root access for system 3323*b3cff10cSYuri Pankov.Sy neo 3324*b3cff10cSYuri Pankovon the 3325*b3cff10cSYuri Pankov.Em tank/home 3326*b3cff10cSYuri Pankovfile system. 3327*b3cff10cSYuri Pankov.Bd -literal 3328*b3cff10cSYuri Pankov# zfs set sharenfs='rw=@123.123.0.0/16,root=neo' tank/home 3329*b3cff10cSYuri Pankov.Ed 3330*b3cff10cSYuri Pankov.Pp 3331*b3cff10cSYuri PankovIf you are using 3332*b3cff10cSYuri Pankov.Sy DNS 3333*b3cff10cSYuri Pankovfor host name resolution, specify the fully qualified hostname. 3334*b3cff10cSYuri Pankov.It Sy Example 17 No Delegating ZFS Administration Permissions on a ZFS Dataset 3335*b3cff10cSYuri PankovThe following example shows how to set permissions so that user 3336*b3cff10cSYuri Pankov.Sy cindys 3337*b3cff10cSYuri Pankovcan create, destroy, mount, and take snapshots on 3338*b3cff10cSYuri Pankov.Em tank/cindys . 3339*b3cff10cSYuri PankovThe permissions on 3340*b3cff10cSYuri Pankov.Em tank/cindys 3341*b3cff10cSYuri Pankovare also displayed. 3342*b3cff10cSYuri Pankov.Bd -literal 3343*b3cff10cSYuri Pankov# zfs allow cindys create,destroy,mount,snapshot tank/cindys 3344*b3cff10cSYuri Pankov# zfs allow tank/cindys 33455619b3f8SMarcel Telka---- Permissions on tank/cindys -------------------------------------- 33465619b3f8SMarcel TelkaLocal+Descendent permissions: 3347c10c16deSRichard Lowe user cindys create,destroy,mount,snapshot 3348*b3cff10cSYuri Pankov.Ed 3349*b3cff10cSYuri Pankov.Pp 3350*b3cff10cSYuri PankovBecause the 3351*b3cff10cSYuri Pankov.Em tank/cindys 3352*b3cff10cSYuri Pankovmount point permission is set to 755 by default, user 3353*b3cff10cSYuri Pankov.Sy cindys 3354*b3cff10cSYuri Pankovwill be unable to mount file systems under 3355*b3cff10cSYuri Pankov.Em tank/cindys . 3356*b3cff10cSYuri PankovAdd an 3357*b3cff10cSYuri Pankov.Sy ACE 3358*b3cff10cSYuri Pankovsimilar to the following syntax to provide mount point access: 3359*b3cff10cSYuri Pankov.Bd -literal 3360*b3cff10cSYuri Pankov# chmod A+user:cindys:add_subdirectory:allow /tank/cindys 3361*b3cff10cSYuri Pankov.Ed 3362*b3cff10cSYuri Pankov.It Sy Example 18 No Delegating Create Time Permissions on a ZFS Dataset 3363*b3cff10cSYuri PankovThe following example shows how to grant anyone in the group 3364*b3cff10cSYuri Pankov.Sy staff 3365*b3cff10cSYuri Pankovto create file systems in 3366*b3cff10cSYuri Pankov.Em tank/users . 3367*b3cff10cSYuri PankovThis syntax also allows staff members to destroy their own file systems, but not 3368*b3cff10cSYuri Pankovdestroy anyone else's file system. The permissions on 3369*b3cff10cSYuri Pankov.Em tank/users 3370*b3cff10cSYuri Pankovare also displayed. 3371*b3cff10cSYuri Pankov.Bd -literal 3372*b3cff10cSYuri Pankov# zfs allow staff create,mount tank/users 3373*b3cff10cSYuri Pankov# zfs allow -c destroy tank/users 3374*b3cff10cSYuri Pankov# zfs allow tank/users 33755619b3f8SMarcel Telka---- Permissions on tank/users --------------------------------------- 33765619b3f8SMarcel TelkaPermission sets: 33775619b3f8SMarcel Telka destroy 33785619b3f8SMarcel TelkaLocal+Descendent permissions: 3379c10c16deSRichard Lowe group staff create,mount 3380*b3cff10cSYuri Pankov.Ed 3381*b3cff10cSYuri Pankov.It Sy Example 19 No Defining and Granting a Permission Set on a ZFS Dataset 3382c10c16deSRichard LoweThe following example shows how to define and grant a permission set on the 3383*b3cff10cSYuri Pankov.Em tank/users 3384*b3cff10cSYuri Pankovfile system. The permissions on 3385*b3cff10cSYuri Pankov.Em tank/users 3386*b3cff10cSYuri Pankovare also displayed. 3387*b3cff10cSYuri Pankov.Bd -literal 3388*b3cff10cSYuri Pankov# zfs allow -s @pset create,destroy,snapshot,mount tank/users 3389*b3cff10cSYuri Pankov# zfs allow staff @pset tank/users 3390*b3cff10cSYuri Pankov# zfs allow tank/users 33915619b3f8SMarcel Telka---- Permissions on tank/users --------------------------------------- 33925619b3f8SMarcel TelkaPermission sets: 3393c10c16deSRichard Lowe @pset create,destroy,mount,snapshot 33945619b3f8SMarcel TelkaLocal+Descendent permissions: 33955619b3f8SMarcel Telka group staff @pset 3396*b3cff10cSYuri Pankov.Ed 3397*b3cff10cSYuri Pankov.It Sy Example 20 No Delegating Property Permissions on a ZFS Dataset 3398c10c16deSRichard LoweThe following example shows to grant the ability to set quotas and reservations 3399*b3cff10cSYuri Pankovon the 3400*b3cff10cSYuri Pankov.Em users/home 3401*b3cff10cSYuri Pankovfile system. The permissions on 3402*b3cff10cSYuri Pankov.Em users/home 3403*b3cff10cSYuri Pankovare also displayed. 3404*b3cff10cSYuri Pankov.Bd -literal 3405*b3cff10cSYuri Pankov# zfs allow cindys quota,reservation users/home 3406*b3cff10cSYuri Pankov# zfs allow users/home 34075619b3f8SMarcel Telka---- Permissions on users/home --------------------------------------- 34085619b3f8SMarcel TelkaLocal+Descendent permissions: 3409c10c16deSRichard Lowe user cindys quota,reservation 3410*b3cff10cSYuri Pankovcindys% zfs set quota=10G users/home/marks 3411*b3cff10cSYuri Pankovcindys% zfs get quota users/home/marks 3412c10c16deSRichard LoweNAME PROPERTY VALUE SOURCE 3413c10c16deSRichard Loweusers/home/marks quota 10G local 3414*b3cff10cSYuri Pankov.Ed 3415*b3cff10cSYuri Pankov.It Sy Example 21 No Removing ZFS Delegated Permissions on a ZFS Dataset 3416c10c16deSRichard LoweThe following example shows how to remove the snapshot permission from the 3417*b3cff10cSYuri Pankov.Sy staff 3418*b3cff10cSYuri Pankovgroup on the 3419*b3cff10cSYuri Pankov.Em tank/users 3420*b3cff10cSYuri Pankovfile system. The permissions on 3421*b3cff10cSYuri Pankov.Em tank/users 3422*b3cff10cSYuri Pankovare also displayed. 3423*b3cff10cSYuri Pankov.Bd -literal 3424*b3cff10cSYuri Pankov# zfs unallow staff snapshot tank/users 3425*b3cff10cSYuri Pankov# zfs allow tank/users 34265619b3f8SMarcel Telka---- Permissions on tank/users --------------------------------------- 34275619b3f8SMarcel TelkaPermission sets: 3428c10c16deSRichard Lowe @pset create,destroy,mount,snapshot 34295619b3f8SMarcel TelkaLocal+Descendent permissions: 34305619b3f8SMarcel Telka group staff @pset 3431*b3cff10cSYuri Pankov.Ed 3432*b3cff10cSYuri Pankov.It Sy Example 22 No Showing the differences between a snapshot and a ZFS Dataset 34333b8be6bfSRichard LoweThe following example shows how to see what has changed between a prior 3434*b3cff10cSYuri Pankovsnapshot of a ZFS dataset and its current state. The 3435*b3cff10cSYuri Pankov.Fl F 3436*b3cff10cSYuri Pankovoption is used to indicate type information for the files affected. 3437*b3cff10cSYuri Pankov.Bd -literal 34383b8be6bfSRichard Lowe# zfs diff -F tank/test@before tank/test 34393b8be6bfSRichard LoweM / /tank/test/ 34403b8be6bfSRichard LoweM F /tank/test/linked (+1) 34413b8be6bfSRichard LoweR F /tank/test/oldname -> /tank/test/newname 34423b8be6bfSRichard Lowe- F /tank/test/deleted 34433b8be6bfSRichard Lowe+ F /tank/test/created 34443b8be6bfSRichard LoweM F /tank/test/modified 3445*b3cff10cSYuri Pankov.Ed 3446*b3cff10cSYuri Pankov.El 3447*b3cff10cSYuri Pankov.Sh INTERFACE STABILITY 3448*b3cff10cSYuri Pankov.Sy Commited . 3449*b3cff10cSYuri Pankov.Sh SEE ALSO 3450*b3cff10cSYuri Pankov.Xr gzip 1, 3451*b3cff10cSYuri Pankov.Xr ssh 1 , 3452*b3cff10cSYuri Pankov.Xr mount 1M , 3453*b3cff10cSYuri Pankov.Xr share 1M , 3454*b3cff10cSYuri Pankov.Xr sharemgr 1M , 3455*b3cff10cSYuri Pankov.Xr unshare 1M , 3456*b3cff10cSYuri Pankov.Xr zonecfg 1M , 3457*b3cff10cSYuri Pankov.Xr zpool 1M , 3458*b3cff10cSYuri Pankov.Xr chmod 2 , 3459*b3cff10cSYuri Pankov.Xr stat 2 , 3460*b3cff10cSYuri Pankov.Xr write 2 , 3461*b3cff10cSYuri Pankov.Xr fsync 3C , 3462*b3cff10cSYuri Pankov.Xr dfstab 4 , 3463*b3cff10cSYuri Pankov.Xr acl 5 , 3464*b3cff10cSYuri Pankov.Xr attributes 5 3465