Print this page
OS-1566 filesystem limits for ZFS datasets

@@ -399,12 +399,13 @@
 .sp
 .LP
 A dataset can also be delegated to a non-global zone by using the \fBzonecfg\fR
 \fBadd dataset\fR 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 \fBquota\fR
-property is controlled by the global administrator.
+properties of the dataset or any of its children. However, the \fBquota\fR,
+\fBfilesystem_limit\fR and \fBsnapshot_limit\fR properties of the delegated
+dataset can only be set from the global zone.
 .sp
 .LP
 A \fBZFS\fR volume can be added as a device to a non-global zone by using the
 \fBzonecfg\fR \fBadd device\fR subcommand. However, its physical properties can
 be modified only by the global administrator.

@@ -966,10 +967,26 @@
 .RE
 
 .sp
 .ne 2
 .na
+\fB\fBfilesystem_limit\fR=\fIcount\fR | \fBnone\fR\fR
+.ad
+.sp .6
+.RS 4n
+Limits the number of filesystems and volumes that can exist at this point in
+the dataset tree. The count of nested filesystems and volumes includes the
+filesystem on which the limit is set, thus the minimum value is 1. The limit is
+not enforced if the user is allowed to change the limit. Setting a
+filesystem_limit on a descendent of a filesystem that already has a
+filesystem_limit does not override the ancestor's filesystem_limit, but rather
+imposes an additional limit. This feature must be enabled to be used
+(see \fBzpool-features\fR(5)).
+.RE
+.sp
+.ne 2
+.na
 \fB\fBmountpoint\fR=\fIpath\fR | \fBnone\fR | \fBlegacy\fR\fR
 .ad
 .sp .6
 .RS 4n
 Controls the mount point used for this file system. See the "Mount Points"

@@ -1029,10 +1046,26 @@
 .RE
 
 .sp
 .ne 2
 .na
+\fB\fBsnapshot_limit\fR=\fIcount\fR | \fBnone\fR\fR
+.ad
+.sp .6
+.RS 4n
+Limits the number of snapshots that can be created on a dataset and its
+descendents. Setting a snapshot_limit on a descendent of a dataset that already
+has a snapshot_limit does not override the ancestor's snapshot_limit, but
+rather imposes an additional limit. The limit is not enforced if the user is
+allowed to change the limit. This means that recursive snapshots taken from the
+global zone are counted against each delegated dataset. This feature must be
+enabled to be used (see \fBzpool-features\fR(5)).
+.RE
+
+.sp
+.ne 2
+.na
 \fB\fBuserquota@\fR\fIuser\fR=\fIsize\fR | \fBnone\fR\fR
 .ad
 .sp .6
 .RS 4n
 Limits the amount of space consumed by the specified user. User space

@@ -3125,10 +3158,11 @@
 checksum         property
 compression      property
 copies           property
 devices          property
 exec             property
+filesystem_limit property
 mountpoint       property
 nbmand           property
 normalization    property
 primarycache     property
 quota            property

@@ -3141,10 +3175,11 @@
 setuid           property
 shareiscsi       property
 sharenfs         property
 sharesmb         property
 snapdir          property
+snapshot_limit   property
 utf8only         property
 version          property
 volblocksize     property
 volsize          property
 vscan            property