After a dataset is delegated to a zone, the zone administrator can control specific dataset properties. When a dataset is delegated to a zone, all its ancestors are visible as read-only datasets, while the dataset itself is writable as are all of its children. For example, consider the following configuration:
global# zfs list -Ho name tank tank/home tank/data tank/data/matrix tank/data/zion tank/data/zion/home |
If tank/data/zion is added to a zone, each dataset would have the following properties.
Dataset |
Visible |
Writable |
Immutable Properties |
---|---|---|---|
tank |
Yes |
No |
- |
tank/home |
No |
- |
- |
tank/data |
Yes |
No |
- |
tank/data/matrix |
No |
- |
- |
tank/data/zion |
Yes |
Yes |
sharenfs, zoned, quota, reservation |
tank/data/zion/home |
Yes |
Yes |
sharenfs, zoned |
Note that every parent of tank/zone/zion is visible read-only, all children are writable, and datasets that are not part of the parent hierarchy are not visible at all. The zone administrator cannot change the sharenfs property, because non-global zones cannot act as NFS servers. Neither can the zone administrator change the zoned property, because doing so would expose a security risk as described in the next section.
Any other settable property can be changed, except for quota and reservation properties. This behavior allows the global zone administrator to control the space consumption of all datasets used by the non-global zone.
In addition, the sharenfs and mountpoint properties cannot be changed by the global zone administrator once a dataset has been delegated to a non-global zone.