zfs-set is a terminal UI and scripting front-end for ZFS dataset properties
(zfs get / zfs set / zfs inherit). It lists every property of a dataset with
its value and where the value comes from (local, received, inherited,
default, temporary), explains each one, edits it through a list of the
allowed values with their meaning or a validated text field, and shows the
exact zfs set / zfs inherit commands before running them. Pre-flight checks
point out what zfs will refuse (a quota below the used space, a volsize that
is not a multiple of volblocksize, a pool feature not enabled, a property
the dataset type does not have) and what a change implies (mount point
changes remount, canmount=off unmounts, compression and checksum affect only
new data, sync=disabled is unsafe, Linux-only properties do nothing on
FreeBSD). Received values can be reverted to with zfs inherit -S. All of it
is also available non-interactively for scripts (-set, -inherit, -tree,
-where, -dump/-restore, dry run, -check).
