--- zfs.1m.new	Tue Feb  3 16:35:02 2009
+++ zfs.1m.orig	Tue Feb  3 16:30:31 2009
@@ -1,3047 +1,3036 @@
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 NAME
      zfs - configures ZFS file systems
 
 SYNOPSIS
      zfs [-?]
 
 
      zfs create	[-p] [-o property=value] ... filesystem
 
 
      zfs create	[-ps] [-b blocksize] [-o property=value] ... -V	size volume
 
 
      zfs destroy [-rRf]	filesystem|volume|snapshot
 
 
      zfs snapshot [-r] [-o property=value]...
 	  filesystem@snapname|volume@snapname
 
 
      zfs rollback [-rRf] snapshot
 
 
      zfs clone [-p] [-o	property=value]	... snapshot filesystem|volume
 
 
      zfs promote clone-filesystem
 
 
      zfs rename	filesystem|volume|snapshot
 	 filesystem|volume|snapshot
 
 
      zfs rename	[-p] filesystem|volume filesystem|volume
 
 
      zfs rename	-r snapshot snapshot
 
 
-     zfs list [-r|-d depth][-H] [-o	property[,...]]	[-t type[,...]]
+     zfs list [-rH] [-o	property[,...]]	[-t type[,...]]
 	 [-s property] ... [-S property] ... [filesystem|volume|snapshot] ...
 
 
      zfs set property=value filesystem|volume|snapshot ...
 
 
-     zfs get [-r|-d depth][-Hp] [-o	field[,...]] [-s source[,...]] "all" | property[,...]
+     zfs get [-rHp] [-o	field[,...]] [-s source[,...]] "all" | property[,...]
 	  filesystem|volume|snapshot ...
 
 
      zfs inherit [-r] property filesystem|volume|snapshot ...
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008			1
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      zfs upgrade [-v]
 
 
      zfs upgrade [-r] [-V version] -a |	filesystem
 
 
      zfs mount
 
 
      zfs mount [-vO] [-o options] -a | filesystem
 
 
      zfs unmount [-f] -a | filesystem|mountpoint
 
 
      zfs share -a | filesystem
 
 
      zfs unshare -a filesystem|mountpoint
 
 
      zfs send [-vR] [-[iI] snapshot] snapshot
 
 
      zfs receive [-vnF]	filesystem|volume|snapshot
 
 
      zfs receive [-vnF]	-d filesystem
 
 
      zfs allow [-ldug] "everyone"|user|group[,...] perm|@setname[,...]
 	 filesystem|volume
 
 
      zfs allow [-ld] -e	perm|@setname[,...] filesystem|volume
 
 
      zfs allow -c perm|@setname[,...] filesystem|volume
 
 
      zfs allow -s @setname perm|@setname[,...] filesystem|volume
 
 
      zfs unallow [-rldug] "everyone"|user|group[,...] [perm|@setname[,... ]]
 	 filesystem|volume
 
 
      zfs unallow [-rld]	-e [perm|@setname[,... ]] filesystem|volume
 
 
      zfs unallow [-r] -c [perm|@setname[ ... ]]	filesystem|volume
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008			2
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      zfs unallow [-r] -s @setname [perm|@setname[,... ]] filesystem|volume
 
 
 DESCRIPTION
      The zfs command configures	ZFS datasets within a ZFS storage
      pool,  as described in zpool(1M). A dataset is identified by
      a unique path within the ZFS namespace. For example:
 
        pool/{filesystem,volume,snapshot}
 
 
 
 
      where the maximum length of a  dataset  name  is  MAXNAMELEN
      (256 bytes).
 
 
      A dataset can be one of the following:
 
      file system
 
 	 A ZFS dataset of type "filesystem" that can  be  mounted
 	 within	 the  standard	system namespace and behaves like
 	 other file systems. While ZFS file systems are	 designed
 	 to  be	 POSIX compliant, known	issues exist that prevent
 	 compliance in some cases. Applications	 that  depend  on
 	 standards  conformance	 might	fail  due  to nonstandard
 	 behavior when checking	file system free space.
 
 
      volume
 
 	 A logical volume exported as a	raw or block device. This
 	 type  of  dataset should only be used under special cir-
 	 cumstances. File systems  are	typically  used	 in  most
 	 environments.	Volumes	 cannot	 be  used in a non-global
 	 zone.
 
 
      snapshot
 
 	 A read-only version of	a file	system	or  volume  at	a
 	 given	point in time. It is specified as filesystem@name
 	 or volume@name.
 
 
   ZFS File System Hierarchy
      A ZFS storage pool	is a logical collection	of  devices  that
      provide  space for	datasets. A storage pool is also the root
      of	the ZFS	file system hierarchy.
 
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008			3
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      The root of the pool can be accessed as a file system,  such
      as	 mounting  and	unmounting, taking snapshots, and setting
      properties. The physical storage  characteristics,	 however,
      are managed by the	zpool(1M) command.
 
 
      See zpool(1M) for more information	on creating and	 adminis-
      tering pools.
 
   Snapshots
      A snapshot	is a read-only copy of a file system  or  volume.
      Snapshots	can  be	 created extremely quickly, and	initially
      consume no	additional space within	the pool. As data  within
      the  active dataset changes, the snapshot consumes	more data
      than would	otherwise be shared with the active dataset.
 
 
      Snapshots can have	arbitrary names. Snapshots of volumes can
      be	 cloned	 or  rolled back, but cannot be	accessed indepen-
      dently.
 
 
      File  system   snapshots	can   be   accessed   under   the
      ".zfs/snapshot"  directory	 in  the root of the file system.
      Snapshots are automatically mounted on  demand  and  may  be
      unmounted at regular intervals. The visibility of the ".zfs"
      directory can be controlled by the	"snapdir" property.
 
   Clones
      A clone is	a writable volume or file  system  whose  initial
      contents are the same as another dataset. As with snapshots,
      creating a	clone is nearly	instantaneous, and initially con-
      sumes no additional space.
 
 
      Clones can	only be	created	from a snapshot. When a	 snapshot
      is	 cloned,  it  creates  an implicit dependency between the
      parent and	child. Even though the clone is	created	somewhere
      else  in the dataset hierarchy, the original snapshot cannot
      be	destroyed as long as a clone exists.  The  "origin"  pro-
      perty exposes this	dependency, and	the destroy command lists
      any such dependencies, if they exist.
 
 
      The  clone	 parent-child  dependency  relationship	 can   be
      reversed  by using	the "promote" subcommand. This causes the
      "origin" file system to become a clone of the specified file
      system,  which  makes it possible to destroy the file system
      that the clone was	created	from.
 
   Mount	Points
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008			4
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      Creating a	ZFS file system	is a  simple  operation,  so  the
      number  of	file systems per system	is likely to be	numerous.
      To	cope with this,	ZFS automatically  manages  mounting  and
      unmounting	 file  systems	without	 the  need  to	edit  the
      /etc/vfstab file. All automatically managed file systems are
      mounted by	ZFS at boot time.
 
 
      By	default, file systems are mounted under	/path, where path
      is	 the name of the file system in	the ZFS	namespace. Direc-
      tories are	created	and destroyed as needed.
 
 
      A file system can	also  have  a  mount  point  set  in  the
      "mountpoint"  property. This directory is created as needed,
      and ZFS automatically mounts the file system when	the  "zfs
      mount  -a"	command	is invoked (without editing /etc/vfstab).
      The mountpoint property can be inherited,	so  if	pool/home
      has  a  mount  point  of  /export/stuff, then pool/home/user
      automatically inherits a mount point of /export/stuff/user.
 
 
      A file system mountpoint property	of  "none"  prevents  the
      file system from being mounted.
 
 
      If	needed,	ZFS file systems can also be managed with  tradi-
      tional   tools  (mount,  umount,  /etc/vfstab).  If  a  file
      system's mount point  is  set  to	"legacy",  ZFS	makes  no
      attempt  to manage	the file system, and the administrator is
      responsible for mounting and unmounting the file system.
 
   Zones
      A ZFS file	system can be added to a non-global zone by using
      zonecfg's	"add  fs"  subcommand.	A ZFS file system that is
      added to a	non-global zone	must have its mountpoint property
      set to legacy.
 
 
      The physical properties of	an added  file	system	are  con-
      trolled  by  the  global  administrator.  However,	 the zone
      administrator can create, modify, or  destroy  files  within
      the  added	 file system, depending	on how the file	system is
      mounted.
 
 
      A dataset can also	be delegated  to  a  non-global	 zone  by
      using   zonecfg's	 "add  dataset"	 subcommand.  You  cannot
      delegate a	dataset	to one zone and	the children of	the  same
      dataset  to  another zone.	The zone administrator can change
      properties	of the dataset or any of its  children.	 However,
      the   "quota"   property	is   controlled	  by  the  global
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008			5
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      administrator.
 
 
      A ZFS volume can be added as a device to a	 non-global  zone
      by	 using	zonecfg's  "add	 device" subcommand. However, its
      physical properties can  only  be	modified  by  the  global
      administrator.
 
 
      For more information about	zonecfg	syntax,	see zonecfg(1M).
 
 
      After a dataset is	 delegated  to	a  non-global  zone,  the
      "zoned"  property	is automatically set. A	zoned file system
      cannot be	mounted	 in  the  global  zone,	 since	the  zone
      administrator  might have to set the mount	point to an unac-
      ceptable value.
 
 
      The global	administrator can forcibly clear the "zoned" pro-
      perty,  though  this  should  be done with	extreme	care. The
      global administrator should verify	that all the mount points
      are acceptable before clearing the	property.
 
   Native Properties
      Properties	are divided into two types, native properties and
      user  defined  properties.	 Native	 properties either export
      internal statistics or control ZFS	 behavior.  In	addition,
      native  properties	 are  either  editable or read-only. User
      properties	have no	effect on ZFS behavior,	but you	 can  use
      them  to  annotate	 datasets  in a	way that is meaningful in
      your environment. For more	information  about  user  proper-
      ties, see the "User Properties" section.
 
 
      Every dataset has a set of	properties that	export statistics
      about  the	dataset	as well	as control various behavior. Pro-
      perties are inherited from	the parent unless  overridden  by
      the  child.  Some	properties only	apply to certain types of
      datasets (file systems, volumes or	snapshots).
 
 
      The values	of numeric  properties	can  be	 specified  using
      human-readable  suffixes (for example, "k", "KB", "M", "Gb",
      etc, up to	Z for zettabyte). The  following  are  all  valid
      (and equal) specifications:
 
        "1536M",	"1.5g",	"1.50GB".
 
 
 
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008			6
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      The values	of non-numeric properties are case sensitive  and
      must  be  lowercase, except for "mountpoint", "sharenfs" and
      "sharesmb".
 
 
      The following native properties consist of	read-only statis-
      tics  about the dataset. These properties cannot be set, nor
      are they inherited. Native	properties apply to  all  dataset
      types unless otherwise noted.
 
      available
 
 	 The amount of space available to the dataset and all its
 	 children,  assuming  that  there is no	other activity in
 	 the pool. Because space is shared within a pool, availa-
 	 bility	 can be	limited	by any number of factors, includ-
 	 ing physical pool size, quotas, reservations,	or  other
 	 datasets within the pool.
 
 	 This property can also	be referred to by  its	shortened
 	 column	name, "avail".
 
 
      compressratio
 
 	 The  compression  ratio  achieved  for	  this	 dataset,
 	 expressed  as a multiplier. Compression can be	turned on
 	 by running "zfs set compression=on dataset". The default
 	 value is "off".
 
 
      creation
 
 	 The time this dataset was created.
 
 
      mounted
 
 	 For file systems, indicates whether the file  system  is
 	 currently  mounted. This property can be either "yes" or
 	 "no".
 
 
      origin
 
 	 For cloned file systems or volumes,  the  snapshot  from
 	 which	the  clone was created.	The origin cannot be des-
 	 troyed	(even with the -r or -f	options)  so  long  as	a
 	 clone exists.
 
 
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008			7
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      referenced
 
 	 The amount of data that is accessible by  this	 dataset,
 	 which	may  or	 may not be shared with	other datasets in
 	 the pool. When	a snapshot or clone is created,	 it  ini-
 	 tially	 references  the same amount of	space as the file
 	 system	or snapshot it was created from, since	its  con-
 	 tents are identical.
 
 	 This property can also	be referred to by  its	shortened
 	 column	name, "refer".
 
 
      type
 
 	 The type of dataset: "filesystem", "volume", "snapshot",
 	 or "clone".
 
 
      used
 
 	 The amount of space consumed by this dataset and all its
 	 descendents.  This  is	the value that is checked against
 	 this dataset's	quota and  reservation.	 The  space  used
 	 does  not  include  this dataset's reservation, but does
 	 take into account the	reservations  of  any  descendent
 	 datasets.   The  amount of space that a dataset consumes
 	 from its parent, as well as the amount	of space that are
 	 freed	if  this dataset is recursively	destroyed, is the
 	 greater of its	space used and its reservation.
 
 	 When  snapshots  (see	the  "Snapshots"   section)   are
 	 created,  their  space	 is  initially shared between the
 	 snapshot and the file system, and possibly with previous
 	 snapshots.  As	 the  file system changes, space that was
 	 previously shared becomes unique to  the  snapshot,  and
 	 counted  in  the  snapshot's  space  used. Additionally,
 	 deleting snapshots can	 increase  the	amount	of  space
 	 unique	to (and	used by) other snapshots.
 
 	 The amount of space used, available, or referenced  does
 	 not  take  into account pending changes. Pending changes
 	 are generally accounted for within a few  seconds.  Com-
 	 mitting  a  change  to	 a disk	using fsync(3c)	or O_SYNC
 	 does not necessarily  guarantee  that	the  space  usage
 	 information is	updated	immediately.
 
 
      usedby*
 
 	 The usedby* snapshots decompose  the  "used"  properties
 	 into	the   various	reasons	  that	 space	is  used.
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008			8
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	 Specifically, used = usedbychildren  +	 usedbydataset	+
 	 usedbyrefreservation  +,  usedbysnapshots. These proper-
 	 ties are only available for datasets  created	on  zpool
 	 "version 13" pools.
 
 
      usedbychildren
 
 	 The amount of space used by children  of  this	 dataset,
 	 which	would be freed if all the dataset's children were
 	 destroyed.
 
 
      usedbydataset
 
 	 The amount of space used by this dataset  itself,  which
 	 would	be  freed  if  the  dataset were destroyed (after
 	 first removing	any  refreservation  and  destroying  any
 	 necessary snapshots or	descendents).
 
 
      usedbyrefreservation
 
 	 The amount of space used by a refreservation set on this
 	 dataset,  which would be freed	if the refreservation was
 	 removed.
 
 
      usedbysnapshots
 
 	 The amount  of	 space	consumed  by  snapshots	 of  this
 	 dataset.  In  particular, it is the amount of space that
 	 would be freed	if all of this dataset's  snapshots  were
 	 destroyed.  Note  that	this is	not simply the sum of the
 	 snapshots' "used" properties because space can	be shared
 	 by multiple snapshots
 
 
      volblocksize=blocksize
 
 	 For volumes, specifies	the block size of the volume. The
 	 blocksize  cannot  be	changed	 once the volume has been
 	 written, so it	should be set at  volume  creation  time.
 	 The default blocksize for volumes is 8	Kbytes.	Any power
 	 of 2 from 512 bytes to	128 Kbytes is valid.
 
 	 This property can also	be referred to by  its	shortened
 	 column	name, "volblock".
 
 
 
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008			9
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      The following native properties can be used  to  change  the
      behavior of a ZFS dataset.
 
      aclinherit=discard	| noallow | restricted | passthrough |
      passthrough-x
 
 	 Controls how ACL entries are inherited	 when  files  and
 	 directories   are   created.	A  file	 system	 with  an
 	 "aclinherit" property of "discard" does not inherit  any
 	 ACL entries. A	file system with an "aclinherit" property
 	 value of "noallow" only inherits inheritable ACL entries
 	 that  specify	"deny"	permissions.  The  property value
 	 "restricted" (the default) removes the	 "write_acl"  and
 	 "write_owner"	permissions  when the ACL entry	is inher-
 	 ited. A file system with an "aclinherit" property  value
 	 of  "passthrough"  inherits  all inheritable ACL entries
 	 without any modifications made	to the ACL  entries  when
 	 they  are  inherited. A file system with an "aclinherit"
 	 property value	of "passthrough-x" has the  same  meaning
 	 as  "passthrough",  except  that the owner@, group@, and
 	 everyone@ ACEs	inherit	the execute  permission	 only  if
 	 the file creation mode	also requests the execute bit.
 
 	 When the property value is set	to  "passthrough,"  files
 	 are  created  with  a mode determined by the inheritable
 	 ACEs. If no inheritable ACEs exist that affect	the mode,
 	 then the mode is set in accordance to the requested mode
 	 from the application.
 
 
      aclmode=discard | groupmask | passthrough
 
 	 Controls how an ACL is	modified during	chmod(2). A  file
 	 system	 with  an "aclmode" property of	"discard" deletes
 	 all ACL entries that do not represent the  mode  of  the
 	 file. An "aclmode" property of	"groupmask" (the default)
 	 reduces user or group permissions. The	 permissions  are
 	 reduced,  such	 that  they are	no greater than	the group
 	 permission bits, unless it is a user entry that has  the
 	 same  UID as the owner	of the file or directory. In this
 	 case, the ACL permissions are reduced so that	they  are
 	 no  greater  than  owner  permission bits. A file system
 	 with an "aclmode" property  of	 "passthrough"	indicates
 	 that  no changes are made to the ACL other than generat-
 	 ing the necessary ACL entries to represent the	new  mode
 	 of the	file or	directory.
 
 
      atime=on |	off
 
 	 Controls whether the access time for  files  is  updated
 	 when  they  are  read.	 Turning this property off avoids
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       10
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	 producing write  traffic  when	 reading  files	 and  can
 	 result	in significant performance gains, though it might
 	 confuse mailers and other similar utilities. The default
 	 value is "on".
 
 
      canmount=on | off | noauto
 
 	 If this property is set to "off", the file system cannot
 	 be  mounted,  and  is ignored by "zfs mount -a". Setting
 	 this  property	 to  "off"  is	similar	 to  setting  the
 	 "mountpoint" property to "none", except that the dataset
 	 still has a normal "mountpoint" property, which  can  be
 	 inherited.   Setting	this  property	to  "off"  allows
 	 datasets to be	used solely as	a  mechanism  to  inherit
 	 properties.  One  example  of setting canmount=off is to
 	 have two datasets with	the same mountpoint, so	that  the
 	 children  of both datasets appear in the same directory,
 	 but might have	different inherited characteristics.
 
 	 When the "noauto" option is set, a dataset can	 only  be
 	 mounted  and  unmounted  explicitly.  The dataset is not
 	 mounted automatically when the	 dataset  is  created  or
 	 imported,  nor	 is it mounted by the "zfs mount -a" com-
 	 mand or unmounted by the "zfs unmount -a" command.
 
 	 This property is not inherited.
 
 
      checksum=on | off | fletcher2, | fletcher4	| sha256
 
 	 Controls the checksum used to verify data integrity. The
 	 default  value	 is  "on", which automatically selects an
 	 appropriate algorithm (currently,  fletcher2,	but  this
 	 may change in future releases). The value "off" disables
 	 integrity checking on user data. Disabling checksums  is
 	 NOT a recommended practice.
 
 
      compression=on | off | lzjb | gzip	| gzip-N
 
 	 Controls  the	compression  algorithm	used   for   this
 	 dataset.  The	"lzjb" compression algorithm is	optimized
 	 for performance while providing decent	data compression.
 	 Setting  compression to "on" uses the "lzjb" compression
 	 algorithm. The	"gzip"	compression  algorithm	uses  the
 	 same compression as the gzip(1) command. You can specify
 	 the "gzip" level by using the value "gzip-N" where N  is
 	 an  integer  from  1  (fastest)  to  9	(best compression
 	 ratio). Currently,  "gzip"  is	 equivalent  to	 "gzip-6"
 	 (which	is also	the default for	gzip(1)).
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       11
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	 This property can also	be referred to by  its	shortened
 	 column	name "compress".
 
 
      copies=1 |	2 | 3
 
 	 Controls the number of	copies of data	stored	for  this
 	 dataset.  These copies	are in addition	to any redundancy
 	 provided by the pool, for example, mirroring or  raid-z.
 	 The  copies  are stored on different disks, if	possible.
 	 The space used	by multiple  copies  is	 charged  to  the
 	 associated  file  and	dataset, changing the "used" pro-
 	 perty and counting against quotas and reservations.
 
 	 Changing this property	only affects newly-written  data.
 	 Therefore,  set  this	property  at file system creation
 	 time by using the "-o copies="	option.
 
 
      devices=on	| off
 
 	 Controls whether device nodes can be opened on	this file
 	 system. The default value is "on".
 
 
      exec=on | off
 
 	 Controls whether processes can	be executed  from  within
 	 this file system. The default value is	"on".
 
 
      mountpoint=path | none | legacy
 
 	 Controls the mount point used for this	file system.  See
 	 the  "Mount  Points" section for more information on how
 	 this property is used.
 
 	 When the mountpoint property is changed for a file  sys-
 	 tem,  the  file system	and any	children that inherit the
 	 mount point are unmounted. If the new value is	"legacy",
 	 then they remain unmounted. Otherwise,	they are automat-
 	 ically	remounted in the new location if the property was
 	 previously  "legacy"  or "none", or if	they were mounted
 	 before	the property was changed. In addition, any shared
 	 file  systems	are  unshared and shared in the	new loca-
 	 tion.
 
 
      nbmand=on | off
 
 	 Controls whether the file system should be mounted  with
 	 "nbmand"  (Non	 Blocking  mandatory locks). This is used
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       12
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	 for CIFS clients. Changes to  this  property  only  take
 	 effect	 when  the file	system is umounted and remounted.
 	 See mount(1M) for more	information on "nbmand"	mounts.
 
 
      primarycache=all |	none | metadata
 
 	 Controls what is cached in the	primary	cache  (ARC).  If
 	 this  property	 is set	to "all", then both user data and
 	 metadata is cached. If	this property is set  to  "none",
 	 then  neither	user data nor metadata is cached. If this
 	 property is set to "metadata",	 then  only  metadata  is
 	 cached. The default value is "all".
 
 
      quota=size	| none
 
 	 Limits	the amount of space a dataset and its descendents
 	 can  consume. This property enforces a	hard limit on the
 	 amount	of space used. This includes all  space	 consumed
 	 by  descendents,  including  file systems and snapshots.
 	 Setting a quota  on  a	 descendent  of	 a  dataset  that
 	 already  has  a  quota	 does not override the ancestor's
 	 quota,	but rather imposes an additional limit.
 
 	 Quotas	cannot be set on volumes, as the  "volsize"  pro-
 	 perty acts as an implicit quota.
 
 
      readonly=on | off
 
 	 Controls whether  this	 dataset  can  be  modified.  The
 	 default value is "off".
 
 	 This property can also	be referred to by  its	shortened
 	 column	name, "rdonly".
 
 
      recordsize=size
 
 	 Specifies a suggested block size for files in	the  file
 	 system.  This	property  is designed solely for use with
 	 database  workloads  that  access  files  in  fixed-size
 	 records.  ZFS	automatically tunes block sizes	according
 	 to internal algorithms	optimized for typical access pat-
 	 terns.
 
 	 For databases that create very	large  files  but  access
 	 them  in  small  random  chunks, these	algorithms may be
 	 suboptimal. Specifying	a "recordsize"	greater	 than  or
 	 equal	to  the	record size of the database can	result in
 	 significant performance gains.	Use of this property  for
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       13
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	 general  purpose  file	 systems is strongly discouraged,
 	 and may adversely affect performance.
 
 	 The size specified must be a power of two  greater  than
 	 or equal to 512 and less than or equal	to 128 Kbytes.
 
 	 Changing the file system's recordsize only affects files
 	 created afterward; existing files are unaffected.
 
 	 This property can also	be referred to by  its	shortened
 	 column	name, "recsize".
 
 
      refquota=size | none
 
 	 Limits	the amount of space a dataset can  consume.  This
 	 property  enforces  a	hard limit on the amount of space
 	 used. This hard limit does not	 include  space	 used  by
 	 descendents, including	file systems and snapshots.
 
 
      refreservation=size | none
 
 	 The minimum amount of space guaranteed	to a dataset, not
 	 including its descendents. When the amount of space used
 	 is below this value, the dataset is  treated  as  if  it
 	 were	taking	up  the	 amount	 of  space  specified  by
 	 refreservation.  The	refreservation	 reservation   is
 	 accounted  for	 in  the parent	datasets' space	used, and
 	 counts	against	the parent datasets' quotas and	 reserva-
 	 tions.
 
 	 If refreservation is set, a snapshot is only allowed  if
 	 there is enough free pool space outside of this reserva-
 	 tion to accommodate the current number	 of  "referenced"
 	 bytes in the dataset.
 
 	 This property can also	be referred to by  its	shortened
 	 column	name, "refreserv".
 
 
      reservation=size |	none
 
 	 The minimum amount of space guaranteed	to a dataset  and
 	 its  descendents. When	the amount of space used is below
 	 this value, the dataset is treated as if it were  taking
 	 up  the  amount  of  space specified by its reservation.
 	 Reservations are accounted for	in the	parent	datasets'
 	 space	used, and count	against	the parent datasets' quo-
 	 tas and reservations.
 
 	 This property can also	be referred to by  its	shortened
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       14
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	 column	name, "reserv".
 
 
      secondarycache=all	| none | metadata
 
 	 Controls what is cached in the	secondary cache	 (L2ARC).
 	 If  this  property  is	set to "all", then both	user data
 	 and metadata is cached.  If  this  property  is  set  to
 	 "none",  then	neither	user data nor metadata is cached.
 	 If this property is set to "metadata",	then  only  meta-
 	 data is cached. The default value is "all".
 
 
      setuid=on | off
 
 	 Controls whether the set-UID bit is  respected	 for  the
 	 file system. The default value	is "on".
 
 
      shareiscsi=on | off
 
 	 Like the  "sharenfs"  property,  "shareiscsi"	indicates
 	 whether a ZFS volume is exported as an	iSCSI target. The
 	 acceptable values for this property are "on", "off", and
 	 "type=disk".  The default value is "off". In the future,
 	 other target types  might  be	supported.  For	 example,
 	 "tape".
 
 	 You might want	to set "shareiscsi=on" for a file  system
 	 so  that  all	ZFS  volumes  within  the file system are
 	 shared	by default. Setting this property on a file  sys-
 	 tem has no direct effect, however.
 
 
      sharesmb=on | off | opts
 
 	 Controls whether the file system is shared by using  the
 	 Solaris CIFS service, and what	options	are to be used.	A
 	 file system with the "sharesmb" property set to "off" is
 	 managed  through traditional tools such as sharemgr(1M).
 	 Otherwise, the	file system is automatically  shared  and
 	 unshared  with	 the  "zfs  share" and "zfs unshare" com-
 	 mands.	If the property	is set to "on",	the  sharemgr(1M)
 	 command  is  invoked  with  no	 options.  Otherwise, the
 	 sharemgr(1M) command is invoked with options  equivalent
 	 to the	contents of this property.
 
 	 Because SMB shares requires a resource	 name,	a  unique
 	 resource  name	is constructed from the	dataset	name. The
 	 constructed name is a copy of the  dataset  name  except
 	 that  the characters in the dataset name, which would be
 	 illegal  in  the  resource  name,  are	  replaced   with
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       15
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	 underscore  (_)  characters. A	pseudo property	"name" is
 	 also supported	that allows you	to replace the	data  set
 	 name  with  a specified name. The specified name is then
 	 used to replace the prefix dataset in the case	of inher-
 	 itance.  For example, if the dataset "data/home/john" is
 	 set to	"name=john", then "data/home/john" has a resource
 	 name	 of    "john".	  If	a    child   dataset   of
 	 "data/home/john/backups", it  has  a  resource	 name  of
 	 "john_backups".
 
 	 When the "sharesmb" property is changed for  a	 dataset,
 	 the dataset and any children inheriting the property are
 	 re-shared with	the new	options, only if the property was
 	 previously  set  to "off", or if they were shared before
 	 the property was changed. If the new property is set  to
 	 "off",	the file systems are unshared.
 
 
      sharenfs=on | off | opts
 
 	 Controls whether the file system is shared via	NFS,  and
 	 what  options	are  used. A file system with a"sharenfs"
 	 property of "off" is managed through  traditional  tools
 	 such  as  share(1M),  unshare(1M), and	dfstab(4). Other-
 	 wise,	the  file  system  is  automatically  shared  and
 	 unshared  with	 the  "zfs  share" and "zfs unshare" com-
 	 mands.	If the property	is set	to  "on",  the	share(1M)
 	 command  is  invoked  with  no	 options.  Otherwise, the
 	 share(1M) command is invoked with options equivalent  to
 	 the contents of this property.
 
 	 When the "sharenfs" property is changed for  a	 dataset,
 	 the dataset and any children inheriting the property are
 	 re-shared with	the new	options, only if the property was
 	 previously "off", or if they were shared before the pro-
 	 perty was changed. If the new	property  is  "off",  the
 	 file systems are unshared.
 
 
      snapdir=hidden | visible
 
 	 Controls whether the ".zfs" directory is hidden or visi-
 	 ble  in  the root of the file system as discussed in the
 	 "Snapshots" section. The default value	is "hidden".
 
 
      version=1|2|current
 
 	 The on-disk  version  of  this	 file  system,	which  is
 	 independent  of the pool version. This	property can only
 	 be set	to later supported versions. See "zfs upgrade".
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       16
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      volsize=size
 
 	 For volumes, specifies	the logical size of  the  volume.
 	 By  default, creating a volume	establishes a reservation
 	 of equal size.	For storage pools with a  version  number
 	 of  9	or  higher,  a refreservation is set instead. Any
 	 changes to volsize are	reflected in an	equivalent change
 	 to  the reservation (or refreservation). The volsize can
 	 only be set to	a multiple of volblocksize, and	cannot be
 	 zero.
 
 	 The reservation is kept equal to  the	volume's  logical
 	 size  to  prevent  unexpected	behavior  for  consumers.
 	 Without the reservation, the volume  could  run  out  of
 	 space,	 resulting  in undefined behavior or data corrup-
 	 tion, depending on how	the volume is used. These effects
 	 can  also occur when the volume size is changed while it
 	 is  in	 use  (particularly  when  shrinking  the  size).
 	 Extreme  care	should	be used	when adjusting the volume
 	 size.
 
 	 Though	not recommended, a "sparse volume" (also known as
 	 "thin provisioning") can be created by	specifying the -s
 	 option	to the "zfs create -V" command,	 or  by	 changing
 	 the  reservation  after  the volume has been created.	A
 	 "sparse volume" is a volume  where  the  reservation  is
 	 less  then  the  volume  size.	Consequently, writes to	a
 	 sparse	volume can fail	with ENOSPC when the pool is  low
 	 on  space.  For  a sparse volume, changes to volsize are
 	 not reflected in the reservation.
 
 
      vscan=on|off
 
 	 Controls whether regular files	 should	 be  scanned  for
 	 viruses when a	file is	opened and closed. In addition to
 	 enabling this property, the virus scan	service	must also
 	 be  enabled  for  virus  scanning  to occur. The default
 	 value is "off".
 
 
      xattr=on |	off
 
 	 Controls whether extended  attributes	are  enabled  for
 	 this file system. The default value is	"on".
 
 
      zoned=on |	off
 
 	 Controls whether the dataset  is  managed  from  a  non-
 	 global	 zone.	See the	"Zones"	section	for more informa-
 	 tion. The default value is "off".
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       17
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      The following three properties cannot be changed  after  the
      file  system  is  created,	and therefore, should be set when
      the file system is	created. If the	properties  are	 not  set
      with the "zfs create" or "zpool create" commands, these pro-
      perties are inherited from	the parent dataset. If the parent
      dataset  lacks  these  properties due to having been created
      prior to these features being supported, the new file system
      will have the default values for these properties.
 
      casesensitivity = sensitive | insensitive | mixed
 
 	 Indicates whether the file name matching algorithm  used
 	 by  the  file	system	should	be  case-sensitive, case-
 	 insensitive, or allow a combination of	 both  styles  of
 	 matching.  The	 default  value	for the	"casesensitivity"
 	 property is "sensitive."  Traditionally, UNIX and  POSIX
 	 file systems have case-sensitive file names.
 
 	 The "mixed" value  for	 the  "casesensitivity"	 property
 	 indicates  that the file system can support requests for
 	 both  case-sensitive	and   case-insensitive	 matching
 	 behavior.  Currently, case-insensitive	matching behavior
 	 on a file system that supports	mixed behavior is limited
 	 to the	Solaris	CIFS server product. For more information
 	 about the "mixed" value behavior, see the  ZFS	 Adminis-
 	 tration Guide.
 
 
      normalization =none | formD | formKCf
 
 	 Indicates whether  the	 file  system  should  perform	a
 	 unicode  normalization	 of  file names	whenever two file
 	 names are compared, and  which	 normalization	algorithm
 	 should	be used. File names are	always stored unmodified,
 	 names are normalized as part of any comparison	 process.
 	 If  this  property  is	 set  to a legal value other than
 	 "none," and the "utf8only" property  was  left	 unspeci-
 	 fied,	the  "utf8only"	 property is automatically set to
 	 "on."	The default value of the "normalization" property
 	 is  "none."  This  property  cannot be	changed	after the
 	 file system is	created.
 
 
      utf8only =on | off
 
 	 Indicates whether the file  system  should  reject  file
 	 names	that  include  characters that are not present in
 	 the UTF-8 character code set. If this property	is expli-
 	 citly	set  to	 "off,"	 the  normalization property must
 	 either	not be explicitly set or be set	 to  "none."  The
 	 default value for the "utf8only" property is "off." This
 	 property cannot be changed  after  the	 file  system  is
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       18
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	 created.
 
 
 
      The "casesensitivity," "normalization," and "utf8only"  pro-
      perties  are  also	 new  permissions that can be assigned to
      non-privileged users by using the ZFS delegated  administra-
      tion feature.
 
   Temporary Mount Point	Properties
      When a file system	is mounted, either through mount(1M)  for
      legacy  mounts  or	 the  "zfs mount" command for normal file
      systems, its mount	options	are set	according to its  proper-
      ties.  The	 correlation between properties	and mount options
      is	as follows:
 
 	   PROPERTY		   MOUNT OPTION
 	   devices		   devices/nodevices
 	   exec			   exec/noexec
 	   readonly		   ro/rw
 	   setuid		   setuid/nosetuid
 	   xattr		   xattr/noxattr
 
 
 
 
      In	addition, these	options	can be set on a	 per-mount  basis
      using  the	-o option, without affecting the property that is
      stored on disk. The values	specified  on  the  command  line
      override  the  values  stored  in	the  dataset. The -nosuid
      option is an alias	for "nodevices,nosetuid".  These  proper-
      ties  are	reported as "temporary"	by the "zfs get" command.
      If	the properties are changed while the dataset is	 mounted,
      the new setting overrides any temporary settings.
 
   User Properties
      In	addition to the	standard native	properties, ZFS	 supports
      arbitrary user properties.	User properties	have no	effect on
      ZFS behavior, but applications  or	 administrators	 can  use
      them  to  annotate	 datasets  (file  systems,  volumes,  and
      snapshots).
 
 
      User property names must contain a	colon (":") character  to
      distinguish  them	from  native properties. They may contain
      lowercase letters,	numbers, and  the  following  punctuation
      characters:  colon	 (":"),	 dash  ("-"),  period  ("."), and
      underscore	("_"). The expected convention is that	the  pro-
      perty   name   is	 divided   into	  two  portions	 such  as
      "module:property",	but this namespace  is	not  enforced  by
      ZFS.  User	property names can be at most 256 characters, and
      cannot begin with a dash ("-").
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       19
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      When making programmatic  use  of	user  properties,  it  is
      strongly suggested	to use a reversed DNS domain name for the
      module component of property names	to reduce the chance that
      two  independently-developed  packages use	the same property
      name for different	purposes. Property names  beginning  with
      "com.sun."	are reserved for use by	Sun Microsystems.
 
 
      The values	of user	properties  are	 arbitrary  strings,  are
      always  inherited,	 and are never validated. All of the com-
      mands that	operate	on properties  ("zfs  list",  "zfs  get",
      "zfs  set", etc.) can be used to manipulate both native pro-
      perties and user properties.  Use the "zfs	inherit"  command
      to	clear a	user property .	If the property	is not defined in
      any parent	dataset, it is removed entirely. Property  values
      are limited to 1024 characters.
 
   ZFS Volumes as Swap or Dump Devices
      During an initial installation or a live upgrade from a  UFS
      file  system,  a  swap device and dump device are created on
      ZFS volumes in the	ZFS root pool. By default, the swap  area
      size  is  based  on  1/2 the size of physical memory up to	2
      Gbytes. The size of the dump device depends on the	 kernel's
      requirements at installation time.	Separate ZFS volumes must
      be	used for the swap area and dump	devices. Do not	swap to	a
      file  on a	ZFS file system. A ZFS swap file configuration is
      not supported.
 
 
      If	you need to change your	swap area or  dump  device  after
      the  system  is  installed	or upgraded, use the swap(1M) and
      dumpadm(1M) commands. If you need to change the size of your
      swap area or dump device, see the Solaris ZFS Administration
      Guide.
 
 SUBCOMMANDS
      All subcommands that modify state are logged persistently to
      the pool in their original	form.
 
      zfs ?
 
 	 Displays a help message.
 
 
      zfs create	[-p] [-o property=value] ... filesystem
 
 	 Creates a new	ZFS  file  system.  The	 file  system  is
 	 automatically mounted according to the	"mountpoint" pro-
 	 perty inherited from the parent.
 
 	 -p
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       20
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	     Creates  all  the	non-existing   parent	datasets.
 	     Datasets  created	in  this manner	are automatically
 	     mounted  according	 to  the  "mountpoint"	 property
 	     inherited	from their parent. Any property	specified
 	     on	the command line using the -o option is	 ignored.
 	     If	 the target filesystem already exists, the opera-
 	     tion completes successfully.
 
 
 	 -o property=value
 
 	     Sets  the	specified  property  as	  if   "zfs   set
 	     property=value"  was  invoked  at	the same time the
 	     dataset was created. Any editable ZFS  property  can
 	     also  be  set  at creation	time. Multiple -o options
 	     can be specified. An error	results	if the same  pro-
 	     perty is specified	in multiple -o options.
 
 
 
      zfs create	[-ps] [-b blocksize] [-o property=value] ... -V
      size volume
 
 	 Creates a volume  of  the  given  size.  The  volume  is
 	 exported as a block device in /dev/zvol/{dsk,rdsk}/path,
 	 where path  is	 the  name  of	the  volume  in	 the  ZFS
 	 namespace.  The  size	represents  the	 logical  size as
 	 exported by the device. By  default,  a  reservation  of
 	 equal size is created.
 
 	 size is automatically rounded	up  to	the  nearest  128
 	 Kbytes	 to ensure that	the volume has an integral number
 	 of blocks regardless of blocksize.
 
 	 -p
 
 	     Creates  all  the	non-existing   parent	datasets.
 	     Datasets  created	in  this manner	are automatically
 	     mounted  according	 to  the  "mountpoint"	 property
 	     inherited	from their parent. Any property	specified
 	     on	the command line using the -o option is	 ignored.
 	     If	 the target filesystem already exists, the opera-
 	     tion completes successfully.
 
 
 	 -s
 
 	     Creates a sparse volume  with  no	reservation.  See
 	     "volsize"	in the Native Properties section for more
 	     information about sparse volumes.
 
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       21
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	 -o property=value
 
 	     Sets  the	specified  property  as	  if   "zfs   set
 	     property=value"  was  invoked  at	the same time the
 	     dataset was created. Any editable ZFS  property  can
 	     also  be  set  at creation	time. Multiple -o options
 	     can be specified. An error	results	if the same  pro-
 	     perty is specified	in multiple -o options.
 
 
 	 -b blocksize
 
 	     Equivalent	to "-o volblocksize=blocksize".	 If  this
 	     option  is	 specified  in	conjunction with "-o vol-
 	     blocksize", the resulting behavior	is undefined.
 
 
 
      zfs destroy [-rRf]	filesystem|volume|snapshot
 
 	 Destroys the given  dataset.  By  default,  the  command
 	 unshares  any	file  systems  that are	currently shared,
 	 unmounts any file systems that	 are  currently	 mounted,
 	 and  refuses to destroy a dataset that	has active depen-
 	 dents (children, snapshots, clones).
 
 	 -r
 
 	     Recursively destroy all children. If a  snapshot  is
 	     specified,	 destroy  all snapshots	with this name in
 	     descendent	file systems.
 
 
 	 -R
 
 	     Recursively destroy all dependents, including cloned
 	     file  systems  outside  the  target  hierarchy. If	a
 	     snapshot is specified, destroy  all  snapshots  with
 	     this name in descendent file systems.
 
 
 	 -f
 
 	     Force an unmount  of  any	file  systems  using  the
 	     "unmount  -f"  command. This option has no	effect on
 	     non-file systems or unmounted file	systems.
 
 	 Extreme care should be	taken when applying either the -r
 	 or the	-f options, as they can	destroy	large portions of
 	 a pool	and cause unexpected behavior  for  mounted  file
 	 systems in use.
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       22
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      zfs snapshot [-r] [-o property=value] ...
      filesystem@snapname|volume@snapname
 
 	 Creates  a  snapshot  with  the  given	 name.	See   the
 	 "Snapshots" section for details.
 
 	 -r
 
 	     Recursively  create  snapshots  of	 all   descendent
 	     datasets.	Snapshots  are	taken atomically, so that
 	     all  recursive  snapshots	correspond  to	the  same
 	     moment in time.
 
 
 	 -o property=value
 
 	     Sets the specified	property; see  "zfs  create"  for
 	     details.
 
 
 
      zfs rollback [-rRf] snapshot
 
 	 Roll back the given dataset to	a previous snapshot. When
 	 a  dataset  is	 rolled	 back,	all data that has changed
 	 since the snapshot is discarded, and the dataset reverts
 	 to  the  state	 at the	time of	the snapshot. By default,
 	 the command refuses to	roll back  to  a  snapshot  other
 	 than  the most	recent one. In order to	do so, all inter-
 	 mediate snapshots must	be destroyed by	specifying the -r
 	 option.
 
 	 -r
 
 	     Recursively destroy any snapshots more  recent  than
 	     the one specified.
 
 
 	 -R
 
 	     Recursively destroy any more  recent  snapshots,  as
 	     well as any clones	of those snapshots.
 
 
 	 -f
 
 	     Used with the -R option to	force an unmount  of  any
 	     clone file	systems	that are to be destroyed.
 
 
 
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       23
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      zfs clone [-p] [-o	property=value]	... snapshot
      filesystem|volume
 
 	 Creates a clone of the	given snapshot.	See the	 "Clones"
 	 section  for  details.	The target dataset can be located
 	 anywhere in the ZFS hierarchy,	and  is	 created  as  the
 	 same type as the original.
 
 	 -p
 
 	     Creates  all  the	non-existing   parent	datasets.
 	     Datasets  created	in  this manner	are automatically
 	     mounted  according	 to  the  "mountpoint"	 property
 	     inherited	from their parent. If the target filesys-
 	     tem or volume already  exists,  the  operation  com-
 	     pletes successfully.
 
 
 	 -o property=value
 
 	     Sets the specified	property; see  "zfs  create"  for
 	     details.
 
 
 
      zfs promote clone-filesystem
 
 	 Promotes a clone file system to no longer  be	dependent
 	 on its	"origin" snapshot. This	makes it possible to des-
 	 troy the file system that the clone  was  created  from.
 	 The   clone   parent-child  dependency	 relationship  is
 	 reversed, so that the "origin"	 file  system  becomes	a
 	 clone of the specified	file system.
 
 	 The snapshot that was cloned, and any snapshots previous
 	 to  this  snapshot, are now owned by the promoted clone.
 	 The space they	use moves from the "origin"  file  system
 	 to the	promoted clone,	so enough space	must be	available
 	 to accommodate	these snapshots. No new	space is consumed
 	 by this operation, but	the space accounting is	adjusted.
 	 The  promoted	clone  must  not  have	any   conflicting
 	 snapshot  names  of its own. The "rename" subcommand can
 	 be used to rename any conflicting snapshots.
 
 
      zfs rename	filesystem|volume|snapshot
      filesystem|volume|snapshot
      zfs rename	[-p] filesystem|volume filesystem|volume
 
 	 Renames the given dataset. The	new target can be located
 	 anywhere  in  the  ZFS	 hierarchy, with the exception of
 	 snapshots. Snapshots can  only	 be  renamed  within  the
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       24
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	 parent	 file system or	volume.	When renaming a	snapshot,
 	 the parent file system	of the snapshot	does not need  to
 	 be  specified	as  part  of the second	argument. Renamed
 	 file systems can inherit new mount points, in which case
 	 they are unmounted and	remounted at the new mount point.
 
 	 -p
 
 	     Creates  all  the	non-existing   parent	datasets.
 	     Datasets  created	in  this manner	are automatically
 	     mounted  according	 to  the  "mountpoint"	 property
 	     inherited from their parent.
 
 
 
      zfs rename	-r snapshot snapshot
 
 	 Recursively  rename  the  snapshots  of  all  descendent
 	 datasets.  Snapshots  are  the	 only dataset that can be
 	 renamed recursively.
 
 
-     zfs list [-r|-d depth][-H] [-o	property[,...]]	[ -t type[,...]]
+     zfs list [-rH] [-o	property[,...]]	[ -t type[,...]]
      [ -s property ] ... [ -S property ] ...
      [filesystem|volume|snapshot] ...
 
 	 Lists the property information	for the	given datasets in
 	 tabular form. If specified, you can list property infor-
 	 mation	by the absolute	pathname or  the  relative  path-
 	 name. By default, all datasets	are displayed and contain
 	 the following fields:
 
 	   name,used,available,referenced,mountpoint
 
 
 
 	 -H
 
 	     Used for scripting	mode. Do not  print  headers  and
 	     separate fields by	a single tab instead of	arbitrary
 	     whitespace.
 
 
 	 -r
 
 	     Recursively display any children of the  dataset  on
 	     the command line.
 
-	-d depth
 
-	     Recursively display any children of the  dataset limiting
-	     the recursion to depth. A depth of 1 will only display the
-	     dataset and it's direct children.
-
 	 -o property
 
 	     A comma-separated list of properties to display. The
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       25
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	     property must be:
 
 		 o    one of  the  properties  described  in  the
 		      "Native Properties" section.
 
 		 o    a	user property.
 
 		 o    the value	"name"	to  display  the  dataset
 		      name.
 
 		 o    the value	"space"	to  display  space  usage
 		      properties  on  file  systems  and volumes.
 		      This    is    a	 shortcut     for     "-o
 		      name,avail,used,usedsnap,usedds,
 		      usedrefreserv,usedchild		       -t
 		      filesystem,volume".
 
 
 	 -s property
 
 	     A property	to use for sorting the output  by  column
 	     in	 ascending  order  based on the	value of the pro-
 	     perty. The	property must be one  of  the  properties
 	     described	in  the	"Properties" section, or the spe-
 	     cial value	"name" to sort by the dataset name.  Mul-
 	     tiple  properties can be specified	at one time using
 	     multiple -s property options.  Multiple  -s  options
 	     are evaluated from	left to	right in decreasing order
 	     of	importance.
 
 	     The following is a	list of	sorting	criteria:
 
 		 o    Numeric types sort in numeric order.
 
 		 o    String types sort	in alphabetical	order.
 
 		 o    Types inappropriate for a	row sort that row
 		      to  the  literal	bottom,	regardless of the
 		      specified	ordering.
 
 		 o    If no sorting  options  are  specified  the
 		      existing	 behavior   of	 "zfs	list"  is
 		      preserved.
 
 
 	 -S property
 
 	     Same as the -s option, but	sorts by property in des-
 	     cending order.
 
 
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       26
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	 -t type
 
 	     A comma-separated list of types  to  display,  where
 	     "type"   is   one	of  "filesystem",  "snapshot"  or
 	     "volume".	For  example,  specifying  "-t	snapshot"
 	     displays only snapshots.
 
 
 
      zfs set property=value filesystem|volume|snapshot ...
 
 	 Sets the property to the given	value for  each	 dataset.
 	 Only some properties can be edited. See the "Properties"
 	 section for more information on what properties  can  be
 	 set  and acceptable values. Numeric values can	be speci-
 	 fied as exact values, or in a human-readable form with	a
 	 suffix	 of  "B",  "K",	"M", "G", "T", "P", "E", "Z" (for
 	 bytes,	kilobytes, megabytes, gigabytes, terabytes, peta-
 	 bytes,	 exabytes,  or zettabytes, respectively). Proper-
 	 ties cannot be	set on snapshots.
 
 
-     zfs get [-r|-d depth][-Hp] [-o	field[,...] [-s	source[,...] "all" | pro-
+     zfs get [-rHp] [-o	field[,...] [-s	source[,...] "all" | pro-
      perty[,...] filesystem|volume|snapshot ...
 
 	 Displays  properties  for  the	 given	datasets.  If  no
 	 datasets  are	specified, then	the command displays pro-
 	 perties for all datasets on the system.  For  each  pro-
 	 perty,	the following columns are displayed:
 
 	       name	 Dataset name
 	       property	 Property name
 	       value	 Property value
 	       source	 Property source. Can either be	local, default,
 			 temporary, inherited, or none (-).
 
 
 	 All columns are displayed by default, though this can be
 	 controlled  by	using the -o option. This command takes	a
 	 comma-separated list of properties as described  in  the
 	 "Native Properties" and "User Properties" sections.
 
 	 The special value "all" can be	used to	display	all  pro-
 	 perties that apply to the given dataset's type	(filesys-
 	 tem, volume or	snapshot).
 
 	 -r
 
 	     Recursively display properties for	any children.
 
 
-	-d depth
 
-	     Recursively display any children of the  dataset limiting
-	     the recursion to depth. A depth of 1 will only display the
-	     dataset and it's direct children.
-
-
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       27
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	 -H
 
 	     Display output in	a  form	 more  easily  parsed  by
 	     scripts.  Any  headers  are  omitted, and fields are
 	     explicitly	separated by a single tab instead  of  an
 	     arbitrary amount of space.
 
 
 	 -o field
 
 	     A	comma-separated	 list  of  columns  to	 display.
 	     "name,property,value,source" is the default value.
 
 
 	 -s source
 
 	     A comma-separated list of sources to display.  Those
 	     properties	 coming	from a source other than those in
 	     this list are ignored. Each source	must  be  one  of
 	     the				       following:
 	     "local,default,inherited,temporary,none".	      The
 	     default value is all sources.
 
 
 	 -p
 
 	     Display numbers in	parsable (exact) values.
 
 
 
      zfs inherit [-r] property filesystem|volume|snapshot ...
 
 	 Clears	the specified property,	causing	it to  be  inher-
 	 ited  from  an	ancestor. If no	ancestor has the property
 	 set, then the default value is	used.  See  the	 "Proper-
 	 ties"	section	 for  a	 listing  of  default values, and
 	 details on which properties can be inherited.
 
 	 -r
 
 	     Recursively inherit the given property for	all chil-
 	     dren.
 
 
 
      zfs upgrade [-v]
 
 	 Displays a list of file systems that are  not	the  most
 	 recent	version.
 
 
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       28
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      zfs upgrade [-r] [-V version] [-a | filesystem]
 
 	 Upgrades file systems to a  new  on-disk  version.  Once
 	 this  is done,	the file systems will no longer	be acces-
 	 sible on systems running older	versions of the	software.
 	 "zfs send" streams generated from new snapshots of these
 	 file systems can not  be  accessed  on	 systems  running
 	 older versions	of the software.
 
 	 The file system version is independent	of the pool  ver-
 	 sion  (see  zpool(1M)	for  information  on  the  "zpool
 	 upgrade" command).
 
 	 The file system version does not  have	 to  be	 upgraded
 	 when the pool version is upgraded, and	vice versa.
 
 	 -a
 
 	     Upgrade all file systems on all imported pools.
 
 
 	 filesystem
 
 	     Upgrade the specified file	system.
 
 
 	 -r
 
 	     Upgrade the specified file	system and all descendent
 	     file systems
 
 
 	 -V version
 
 	     Upgrade to	the specified version. If the -V flag  is
 	     not  specified,  this  command  upgrades to the most
 	     recent version. This option  can  only  be	 used  to
 	     increase the version number, and only up to the most
 	     recent version supported by this software.
 
 
 
      zfs mount
 
 	 Displays all ZFS file systems currently mounted.
 
 
      zfs mount [-vO] [-o options] -a | filesystem
 
 	 Mounts	ZFS file systems. Invoked automatically	 as  part
 	 of the	boot process.
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       29
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	 -o options
 
 	     An	optional comma-separated list of mount options to
 	     use  temporarily  for the duration	of the mount. See
 	     the "Temporary Mount Point	Properties"  section  for
 	     details.
 
 
 	 -O
 
 	     Perform an	overlay	mount.	See  mount(1M)	for  more
 	     information.
 
 
 	 -v
 
 	     Report mount progress.
 
 
 	 -a
 
 	     Mount  all	 available  ZFS	 file  systems.	  Invoked
 	     automatically as part of the boot process.
 
 
 	 filesystem
 
 	     Mount the specified filesystem.
 
 
 
      zfs unmount [-f] -a | filesystem|mountpoint
 
 	 Unmounts currently mounted  ZFS  file	systems.  Invoked
 	 automatically as part of the shutdown process.
 
 	 -f
 
 	     Forcefully	unmount	the file system, even  if  it  is
 	     currently in use.
 
 
 	 -a
 
 	     Unmount all  available  ZFS  file	systems.  Invoked
 	     automatically as part of the boot process.
 
 
 	 filesystem|mountpoint
 
 	     Unmount the specified filesystem.	The  command  can
 	     also  be  given  a	 path  to a ZFS	file system mount
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       30
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	     point on the system.
 
 
 
      zfs share -a | filesystem
 
 	 Shares	available ZFS file systems.
 
 	 -a
 
 	     Share  all	 available  ZFS	 file  systems.	  Invoked
 	     automatically as part of the boot process.
 
 
 	 filesystem
 
 	     Share the	specified  filesystem  according  to  the
 	     "sharenfs"	 and  "sharesmb" properties. File systems
 	     are shared	when the "sharenfs"  or	 "sharesmb"  pro-
 	     perty is set.
 
 
 
      zfs unshare -a | filesystem|mountpoint
 
 	 Unshares currently shared  ZFS	 file  systems.	 This  is
 	 invoked automatically as part of the shutdown process.
 
 	 -a
 
 	     Unshare all  available  ZFS  file	systems.  Invoked
 	     automatically as part of the boot process.
 
 
 	 filesystem|mountpoint
 
 	     Unshare the specified filesystem.	The  command  can
 	     also  be given a path to a	ZFS file system	shared on
 	     the system.
 
 
 
      zfs send [-vR] [-[iI] snapshot] snapshot
 
 	 Creates a stream representation of the	second	snapshot,
 	 which	is  written to standard	output.	The output can be
 	 redirected to a file or to a different	system (for exam-
 	 ple,  using  ssh(1).  By  default, a full stream is gen-
 	 erated.
 
 	 -i snapshot
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       31
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	     Generate  an  incremental	stream	from  the   first
 	     snapshot  to  the	second	snapshot. The incremental
 	     source (the first snapshot) can be	specified as  the
 	     last  component  of  the snapshot name (for example,
 	     the part after the	"@"), and it  is  assumed  to  be
 	     from the same file	system as the second snapshot.
 
 	     If	the destination	is a clone, the	source may be the
 	     origin  snapshot, which must be fully specified (for
 	     example, "pool/fs@origin",	not just "@origin").
 
 
 	 -I snapshot
 
 	     Generate a	stream package that sends all  intermedi-
 	     ary  snapshots from the first snapshot to the second
 	     snapshot. For example, "-I	@a fs@d"  is  similar  to
 	     "-i  @a fs@b; -i @b fs@c; -i @c fs@d". The	incremen-
 	     tal source	snapshot may be	specified as with the  -i
 	     option.
 
 
 	 -R
 
 	     Generate a	replication stream  package,  which  will
 	     replicate	the specified filesystem, and all descen-
 	     dant file systems,	up to the  named  snapshot.  When
 	     received, all properties, snapshots, descendent file
 	     systems, and clones are preserved.
 
 	     If	the -i or -I flags are used in	conjunction  with
 	     the  -R  flag,  an	incremental replication	stream is
 	     generated.	The current  values  of	 properties,  and
 	     current  snapshot and file	system names are set when
 	     the stream	is received. If	the -F flag is	specified
 	     when  this	 stream	 is  recieved, snapshots and file
 	     systems that do not exist on the  sending	side  are
 	     destroyed.
 
 
 	 -v
 
 	     Print verbose information about the  stream  package
 	     generated.
 
 	 The format of the stream is evolving. No backwards  com-
 	 patibility is guaranteed. You may not be able to receive
 	 your streams on future	versions of ZFS.
 
 
      zfs receive [-vnF]	filesystem|volume|snapshot
      zfs receive [-vnF]	-d filesystem
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       32
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	 Creates a snapshot whose contents are	as  specified  in
 	 the  stream provided on standard input. If a full stream
 	 is received, then a new file system is	created	as  well.
 	 Streams  are  created	using  the "zfs	send" subcommand,
 	 which by default creates a full stream. "zfs  recv"  can
 	 be used as an alias for "zfs receive".
 
 	 If an incremental stream is received, then the	 destina-
 	 tion file system must already exist, and its most recent
 	 snapshot must match the incremental stream's source. For
 	 zvols,	 the destination device	link is	destroyed and re-
 	 created, which	means the zvol cannot be accessed  during
 	 the receive operation.
 
 	 The name of the snapshot (and file  system,  if  a  full
 	 stream	is received) that this subcommand creates depends
 	 on the	argument type and the -d option.
 
 	 If the	 argument  is  a  snapshot  name,  the	specified
 	 snapshot is created. If the argument is a file	system or
 	 volume	name, a	snapshot with the same name as	the  sent
 	 snapshot  is  created within the specified filesystem or
 	 volume.  If the -d option  is	specified,  the	 snapshot
 	 name is determined by appending the sent snapshot's name
 	 to the	specified filesystem. If the -d	option is  speci-
 	 fied, any required file systems within	the specified one
 	 are created.
 
 	 -d
 
 	     Use the name of the sent snapshot to  determine  the
 	     name  of  the new snapshot	as described in	the para-
 	     graph above.
 
 
 	 -v
 
 	     Print verbose information about the stream	 and  the
 	     time required to perform the receive operation.
 
 
 	 -n
 
 	     Do	not actually receive the stream. This can be use-
 	     ful  in conjunction with the -v option to verify the
 	     name the receive operation	would use.
 
 
 	 -F
 
 	     Force a rollback of the  file  system  to	the  most
 	     recent   snapshot	 before	 performing  the  receive
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       33
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	     operation.	If receiving an	 incremental  replication
 	     stream  (for  example, one	generated by "zfs send -R
 	     -[iI]"), destroy snapshots	and file systems that  do
 	     not exist on the sending side.
 
 
 
      zfs allow [-ldug] "everyone"|user|group[,...]
      perm|@setname[,...] filesystem| volume
      zfs allow [-ld] -e	perm|@setname[,...] filesystem|volume
 
 	 Delegates ZFS administration  permission  for	the  file
 	 systems to non-privileged users.
 
 	 [-ug] "everyone"|user|group[,...]
 
 	     Specifies to whom	the  permissions  are  delegated.
 	     Multiple  entities	 can  be  specified  as	 a comma-
 	     separated list. If	neither	of the	-ug  options  are
 	     specified,	 then  the  argument  is interpreted pre-
 	     ferentially as the	keyword	 "everyone",  then  as	a
 	     user  name, and lastly as a group name. To	specify	a
 	     user or group named "everyone", use  the  -u  or  -g
 	     options.  To specify a group with the same	name as	a
 	     user, use the -g options.
 
 
 	 [-e] perm|@setname[,...]
 
 	     Specifies	that  the  permissions	be  delegated  to
 	     "everyone." Multiple permissions may be specified as
 	     a comma-separated list.  Permission  names	 are  the
 	     same  as  ZFS subcommand and property names. See the
 	     property list below. Property set names, which begin
 	     with  an "at sign"	("@") ,	may be specified. See the
 	     -s	form below for details.
 
 
 	 [-ld] filesystem|volume
 
 	     Specifies where the permissions  are  delegated.  If
 	     neither  of  the  -ld options are specified, or both
 	     are, then the permissions are allowed for	the  file
 	     system  or	 volume,  and  all of its descendents. If
 	     only  the	-l  option  is	used,  then  is	  allowed
 	     "locally"	only  for  the	specified file system. If
 	     only the -d option	is used, then is allowed only for
 	     the descendent file systems.
 
 
 
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       34
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      Permissions are generally the ability to use a  ZFS  subcom-
      mand or change a ZFS property. The	following permissions are
      available:
 
        NAME	    TYPE	 NOTES
        allow	    subcommand	 Must also have	the permission
 				 that is being allowed.
        clone	    subcommand	 Must also have	the 'create' ability
 				 and the 'mount' ability in the	origin
 				 file system.
        create	    subcommand	 Must also have	the 'mount' ability.
        destroy	    subcommand	 Must also have	the 'mount' ability.
        mount	    subcommand	 Allows	mount, unmount,	and
 				 create/remove zvol device links.
        promote	    subcommand	 Must also have	the 'mount' ability and
 				 'promote' ability in the origin file system.
        receive	    subcommand	 Must also have	the 'mount' ability and
 				 the 'create' ability.
        rename	    subcommand	 Must also have	the 'mount' ability and
 				 the 'create' ability in the new parent.
        rollback	    subcommand	 Must also have	the 'mount' ability.
        snapshot	    subcommand	 Must also have	the 'mount' ability.
        share	    subcommand	 Allows	share and unshare.
        send	    subcommand
 
 
        aclinherit	property
        aclmode		property
        atime		property
        canmount		property
        checksum		property
        compression	property
        copies		property
        devices		property
        exec		property
        mountpoint	property
        primarycache	property
        quota		property
        readonly		property
        recordsize	property
        reservation	property
        secondarycache	property
        setuid		property
        shareiscsi	property
        sharenfs		property
        snapdir		property
        version		property
        volsize		property
        xattr		property
        zoned		property
        userprop		other	     Allows changing any user property.
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       35
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      zfs allow -c perm|@setname[,...] filesystem|volume
 
 	 Sets "create time" permissions.  These	 permissions  are
 	 granted  (locally)  to	 the creator of	any newly-created
 	 descendent file system.
 
 
      zfs allow -s @setname perm|@setname[,...] filesystem|volume
 
 	 Defines or adds permissions to	a permission set. The set
 	 can  be  used by other	zfs allow commands for the speci-
 	 fied file system and its descendents. Sets are	evaluated
 	 dynamically,	so  changes  to	 a  set	 are  immediately
 	 reflected. Permission sets follow the same  naming  res-
 	 trictions  as	ZFS file systems, but the name must begin
 	 with an "at sign" ("@"), and can  be  no  more	 than  64
 	 characters long.
 
 
      zfs unallow [-rldug] "everyone"|user|group[,...]
      [perm|@setname[, ...]] filesystem|volume
      zfs unallow [-rld]	-e [perm|@setname [,...]]
      filesystem|volume
      zfs unallow [-r] -c [perm|@setname[,...]]
      filesystem|volume
 
 	 Removes permissions that  were	 granted  with	the  "zfs
 	 allow"	command. No permissions	are explicitly denied, so
 	 other permissions granted are still in	effect.	For exam-
 	 ple,  if the permission is granted by an ancestor. If no
 	 permissions are specified, then all permissions for  the
 	 specified user, group,	or everyone are	removed. Specify-
 	 ing "everyone"	(or using the -e option) only removes the
 	 permissions  that  were  granted  to "everyone", not all
 	 permissions for every	user  and  group.  See	the  "zfs
 	 allow"	command	for a description of the -ldugec options.
 
 	 -r
 
 	     Recursively remove	the permissions	 from  this  file
 	     system and	all descendents.
 
 
 
      zfs unallow [-r] -s @setname [perm|@setname[,...]]
      filesystem|volume
 
 	 Removes permissions from a permission set. If no permis-
 	 sions	are  specified,	then all permissions are removed,
 	 thus removing the set entirely.
 
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       36
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 EXAMPLES
      Example 1 Creating	a ZFS File System Hierarchy
 
 
      The  following  commands  create	a   file   system   named
      "pool/home"  and  a  file	system named "pool/home/bob". The
      mount point "/export/home"	is set for the parent  file  sys-
      tem, and automatically inherited by the child file	system.
 
 
        # zfs create pool/home
        # zfs set mountpoint=/export/home pool/home
        # zfs create pool/home/bob
 
 
 
      Example 2 Creating	a ZFS Snapshot
 
 
      The following command creates a snapshot named  "yesterday".
      This  snapshot  is	 mounted on demand in the ".zfs/snapshot"
      directory at the root of the "pool/home/bob" file system.
 
 
        # zfs snapshot pool/home/bob@yesterday
 
 
 
      Example 3 Taking and destroying multiple snapshots
 
 
      The following command creates snapshots named "yesterday" of
      "pool/home"  and  all  of	its descendent file systems. Each
      snapshot is mounted on demand in the ".zfs/snapshot"  direc-
      tory at the root of its file system. The second command des-
      troys the newly created snapshots.
 
 
        # zfs snapshot -r pool/home@yesterday
        # zfs destroy -r	pool/home@yesterday
 
 
 
      Example 4 Turning Off Compression
 
 
      The following commands turn compression  off  for	all  file
      systems  under  "pool/home",  but explicitly turns	it on for
      "pool/home/anne".
 
 
        # zfs set compression=off pool/home
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       37
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
        # zfs set compression=on	pool/home/anne
 
 
 
      Example 5 Listing ZFS Datasets
 
 
      The following command lists  all  active  file  systems  and
      volumes in	the system.
 
 
        # zfs list
 
 
 	 NAME			   USED	 AVAIL	REFER  MOUNTPOINT
 	 pool			   450K	  457G	  18K  /pool
 	 pool/home		   315K	  457G	  21K  /export/home
 	 pool/home/anne		    18K	  457G	  18K  /export/home/anne
 	 pool/home/bob		   276K	  457G	 276K  /export/home/bob
 	 pool/home/bob@yesterday      0	     -	 276K  -
 
 
 
      Example 6 Setting a Quota on a ZFS	File System
 
 
      The  following  command  sets  a  quota  of  50  gbytes  for
      "pool/home/bob".
 
 
        # zfs set quota=50G pool/home/bob
 
 
 
      Example 7 Listing ZFS Properties
 
 
      The   following   command	 lists	 all	properties    for
      "pool/home/bob".
 
 
        # zfs get all pool/home/bob
 
 
 	 NAME		PROPERTY       VALUE		      SOURCE
 	 pool/home/bob	type	       filesystem	      -
 	 pool/home/bob	creation       Thu Jul 12 14:44	2007  -
 	 pool/home/bob	used	       276K		      -
 	 pool/home/bob	available      50.0G		      -
 	 pool/home/bob	referenced     276K		      -
 	 pool/home/bob	compressratio  1.00x		      -
 	 pool/home/bob	mounted	       yes		      -
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       38
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 	 pool/home/bob	quota	       50G		      local
 	 pool/home/bob	reservation    none		      default
 	 pool/home/bob	recordsize     128K		      default
 	 pool/home/bob	mountpoint     /export/home/bob	      inherited	from
 							      pool/home
 	 pool/home/bob	checksum       on		      default
 	 pool/home/bob	compression    off		      default
 	 pool/home/bob	atime	       on		      default
 	 pool/home/bob	devices	       on		      default
 	 pool/home/bob	exec	       on		      default
 	 pool/home/bob	setuid	       on		      default
 	 pool/home/bob	readonly       off		      default
 	 pool/home/bob	zoned	       off		      default
 	 pool/home/bob	snapdir	       hidden		      default
 	 pool/home/bob	aclmode	       groupmask	      default
 	 pool/home/bob	aclinherit     restricted	      default
 	 pool/home/bob	canmount       on		      default
 	 pool/home/bob	nbmand	       off		      default
 	 pool/home/bob	shareiscsi     off		      default
 	 pool/home/bob	sharesmb       off		      default
 	 pool/home/bob	sharenfs       off		      default
 	 pool/home/bob	xattr	       on		      default
 	 pool/home/bob	refquota       10M		      local
 	 pool/home/bob	refreservation none		      default
 	 pool/home/bob	copies	       1		      default
 	 pool/home/bob	version	       1		      -
 
 
 
 
 
 
      The following command gets	a single property value.
 
 
        # zfs get -H -o value compression pool/home/bob
        on
 
 
 
 
      The following command lists all properties	with  local  set-
      tings for "pool/home/bob".
 
 
        # zfs get -r -s local -o	name,property,value all	pool/home/bob
 
 	 NAME		  PROPERTY	VALUE
 	 pool		  compression	on
 	 pool/home	  checksum	off
 
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       39
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      Example 8 Rolling Back a ZFS File System
 
 
      The   following   command	 reverts    the	   contents    of
      "pool/home/anne" to the snapshot named "yesterday", deleting
      all intermediate snapshots.
 
 
        # zfs rollback -r pool/home/anne@yesterday
 
 
 
      Example 9 Creating	a ZFS Clone
 
 
      The following command creates a writable file  system  whose
      initial contents are the same as "pool/home/bob@yesterday".
 
 
        # zfs clone pool/home/bob@yesterday pool/clone
 
 
 
      Example 10	Promoting a ZFS	Clone
 
 
      The following commands illustrate how to test out changes to
      a	file  system,  and  then replace the original file system
      with the changed one, using  clones,  clone  promotion,  and
      renaming:
 
 
        # zfs create pool/project/production
 	populate /pool/project/production with data
        # zfs snapshot pool/project/production@today
        # zfs clone pool/project/production@today pool/project/beta
 	make changes to	/pool/project/beta and test them
        # zfs promote pool/project/beta
        # zfs rename pool/project/production pool/project/legacy
        # zfs rename pool/project/beta pool/project/production
 	once the legacy	version	is no longer needed, it	can be
 	destroyed
        # zfs destroy pool/project/legacy
 
 
 
      Example 11	Inheriting ZFS Properties
 
 
      The   following   command	 causes	   "pool/home/bob"    and
      "pool/home/anne"  to  inherit  the	 "checksum" property from
      their parent.
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       40
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
        # zfs inherit checksum pool/home/bob pool/home/anne
 
 
 
      Example 12	Remotely Replicating ZFS Data
 
 
      The following commands send a full	stream and then	an incre-
      mental  stream  to	 a  remote  machine,  restoring	them into
      "poolB/received/fs@a"  and	 "poolB/received/fs@b",	  respec-
      tively.	"poolB"	   must	   contain    the   file   system
      "poolB/received",	 and   must   not    initially	  contain
      "poolB/received/fs".
 
 
        # zfs send pool/fs@a | \
 	 ssh host zfs receive poolB/received/fs@a
        # zfs send -i a pool/fs@b | ssh host \
 	 zfs receive poolB/received/fs
 
 
 
      Example 13	Using the zfs receive -d Option
 
 
      The   following   command	 sends	 a   full    stream    of
      "poolA/fsA/fsB@snap"  to a	remote machine,	receiving it into
      "poolB/received/fsA/fsB@snap". The	"fsA/fsB@snap" portion of
      the  received snapshot's name is determined from the name of
      the sent snapshot.	"poolB"	 must  contain	the  file  system
      "poolB/received". If "poolB/received/fsA" does not	exist, it
      is	be created as an empty file system.
 
 
        # zfs send poolA/fsA/fsB@snap | \
 	 ssh host zfs receive -d poolB/received
 
 
 
      Example 14	Setting	User Properties
 
 
      The   following	example	   sets	   the	  user	  defined
      "com.example:department" property for a dataset.
 
 
        # zfs set com.example:department=12345 tank/accounting
 
 
 
      Example 15	Creating a ZFS Volume as a iSCSI Target	Device
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       41
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      The following example shows how to	create a ZFS volume as an
      iSCSI target.
 
 
        # zfs create -V 2g pool/volumes/vol1
        # zfs set shareiscsi=on pool/volumes/vol1
        # iscsitadm list	target
        Target: pool/volumes/vol1
        iSCSI Name:
        iqn.1986-03.com.sun:02:7b4b02a6-3277-eb1b-e686-a24762c52a8c
        Connections: 0
 
 
 
 
      After the iSCSI target is created,	set up the iSCSI  initia-
      tor. For more information about the Solaris iSCSI initiator,
      see the Solaris Administration Guide: Devices and File  Sys-
      tems.
 
      Example 16	Performing a Rolling Snapshot
 
 
      The following example shows how to	 maintain  a  history  of
      snapshots	with a consistent naming scheme. To keep a week's
      worth of snapshots, the user destroys the	oldest	snapshot,
      renames  the  remaining  snapshots,  and  then creates a new
      snapshot, as follows:
 
 
        # zfs destroy -r	pool/users@7daysago
        # zfs rename -r pool/users@6daysago @7daysago
        # zfs rename -r pool/users@5daysago @6daysago
        ...
        # zfs rename -r pool/users@yesterday @2daysago
        # zfs rename -r pool/users@today	@yesterday
        # zfs snapshot -r pool/users@today
 
 
 
      Example 17	Setting	sharenfs Property Options on a	ZFS  File
      System
 
 
      The following commands show how to	set  "sharenfs"	 property
      options to	enable rw access for a set of IP addresses and to
      enable root access	for system neo on the tank/home	file sys-
      tem.
 
 
        # zfs set sharenfs='rw=@123.123.0.0/16,root=neo'	tank/home
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       42
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      If	you are	using DNS for host name	resolution,  specify  the
      fully qualified hostname.
 
 
      Example 18	Delegating ZFS Administration  Permissions  on	a
      ZFS Dataset
 
 
      The following example shows how to	set permissions	 so  that
      user  "cindys" can	create,	destroy, mount and take	snapshots
      on	tank/cindys. The  permissions  on  tank/cindys	are  also
      displayed.
 
 
        # zfs allow cindys create,destroy,mount,snapshot	tank/cindys
        # zfs allow tank/cindys
        -------------------------------------------------------------
        Local+Descendent	permissions on (tank/cindys)
 		user cindys create,destroy,mount,snapshot
        -------------------------------------------------------------
 
 
 
 
 
      Because the tank/cindys mount point permission is set to 755
      by	default, user cindys will be unable to mount file systems
      under tank/cindys.	Set an ACL similar to the following  syn-
      tax to provide mount point	access:
 
        # chmod A+user:cindys:add_subdirectory:allow /tank/cindys
 
 
 
      Example 19	Delegating  Create  Time  Permissions  on  a  ZFS
      Dataset
 
 
      The following example shows how to	grant anyone in	the group
      staff to create file systems in tank/users. This syntax also
      allows staff members to destroy their own file systems,  but
      not  destroy  anyone  else's file system. The permissions on
      tank/users	are also displayed.
 
 
        # zfs allow staff create,mount tank/users
        # zfs allow -c destroy tank/users
        # zfs allow tank/users
        -------------------------------------------------------------
        Create time permissions on (tank/users)
 		create,destroy
        Local+Descendent	permissions on (tank/users)
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       43
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
 		group staff create,mount
        -------------------------------------------------------------
 
 
 
      Example 20	Defining and Granting a	Permission Set on  a  ZFS
      Dataset
 
 
      The following example shows how to	define and grant  a  per-
      mission  set  on the tank/users file system. The permissions
      on	tank/users are also displayed.
 
 
        # zfs allow -s @pset create,destroy,snapshot,mount tank/users
        # zfs allow staff @pset tank/users
        # zfs allow tank/users
        -------------------------------------------------------------
        Permission sets on (tank/users)
 	      @pset create,destroy,mount,snapshot
        Create time permissions on (tank/users)
 	      create,destroy
        Local+Descendent	permissions on (tank/users)
 	      group staff @pset,create,mount
        -------------------------------------------------------------
 
 
 
      Example 21	Delegating Property Permissions	on a ZFS Dataset
 
 
      The following example shows to grant the ability to set quo-
      tas and reservations on the users/home file system. The per-
      missions on users/home are	also displayed.
 
 
        # zfs allow cindys quota,reservation users/home
        # zfs allow users/home
        -------------------------------------------------------------
        Local+Descendent	permissions on (users/home)
 	      user cindys quota,reservation
        -------------------------------------------------------------
        cindys% zfs set quota=10G users/home/marks
        cindys% zfs get quota users/home/marks
        NAME		 PROPERTY  VALUE	     SOURCE
        users/home/marks	 quota	   10G		     local
 
 
 
      Example 22	Removing  ZFS  Delegated  Permissions  on  a  ZFS
      Dataset
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       44
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      The following example shows how to	remove the snapshot  per-
      mission  from the staff group on the tank/users file system.
      The permissions on	tank/users are also displayed.
 
 
        # zfs unallow staff snapshot tank/users
        # zfs allow tank/users
        -------------------------------------------------------------
        Permission sets on (tank/users)
 	      @pset create,destroy,mount,snapshot
        Create time permissions on (tank/users)
 	      create,destroy
        Local+Descendent	permissions on (tank/users)
 	      group staff @pset,create,mount
        -------------------------------------------------------------
 
 
 
 EXIT STATUS
      The following exit	values are returned:
 
      0
 
 	 Successful completion.
 
 
      1
 
 	 An error occurred.
 
 
      2
 
 	 Invalid command line options were specified.
 
 
 ATTRIBUTES
      See attributes(5) for descriptions	of the	following  attri-
      butes:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       45
 
 
 
 
 
 
 System Administration Commands				  zfs(1M)
 
 
 
      ____________________________________________________________
     |	    ATTRIBUTE TYPE	  |	  ATTRIBUTE VALUE	|
     |_____________________________|_____________________________|
     | Availability		  | SUNWzfsu			|
     |_____________________________|_____________________________|
     | Interface	Stability	  | Committed			|
     |_____________________________|_____________________________|
 
 
 SEE ALSO
      gzip(1),	ssh(1),	  mount(1M),   share(1M),   sharemgr(1M),
      unshare(1M),   zonecfg(1M),  zpool(1M),  chmod(2),	 stat(2),
      fsync(3c),	dfstab(4), attributes(5)
 
 
      For information about using  the  ZFS  web-based  management
      tool and other ZFS	features, see the Solaris ZFS Administra-
      tion Guide.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 SunOS 5.11	    Last change: 10 Nov	2008		       46
 
 
 
