@stefano It's not well documented, but zfs
also supports taking atomic snapshots of collections of datasets. The underling snapshot ioctl that the zfs
command uses takes an nvlist of snapshots to create.
This means that you don't need pool snapshots to create a consistent atomic snapshot of a set of filesystems and can create a snapshot of a subset of all of your ZFS filesystems (for example, all of the ones that contain system data, but not home directories, allowing you to roll back base-system + ports upgrades, without losing user data).