Vor kurzem musste ich ein Dataset umziehen, allerdings war dieses sehr groß, da hier regelmäßig Snapshots durchgeführt wurden. So können alle Snapshots eines Datasets rekursiv gelöscht werden:
Achtung: Durch das Löschen der Snapshots gibt es keine Möglichkeit mehr, einen Rollback des Datasets durchzuführen.
zfs destroy -rv <Name des Pools>/<Name bzw. Pfad des Datasets>@%
Der zusätzliche -v Parameter bewirkt das Auflisten aller Snapshots während der Löschung.