Below is my list of ZFS volumes and snapshots, as well as the origin and clone for each.
I want to delete all the snapshots, but keep all the filesystems. How can I do this?
I have tried
zfs promote followed by attempting to delete each filesystem for many different combinations of the filesystems. This shifts around where the snapshots "live"; for instance,
zfs promote tank/containers/six moves snapshot
tank/containers/six@F. The live data in the filesystem isn't modified (which is what I want!), but I still can't delete the snapshot (which is not what I want).
zfs destroy attempt tells me it has dependent clones, some of which (the snapshots) I do want to destroy, but others of which (the filesystems) I do not want to destroy.
# zfs destroy tank/containers/six@A cannot destroy 'tank/containers/six@A': snapshot has dependent clones use '-R' to destroy the following datasets: tank/containers/five tank/containers/two@B tank/containers/two
In the above example, I don't want to destroy
tank/containers/two, but if I
zfs promote five and two, I still can't destroy any snapshots. Is there a solution?
# zfs list -t all -o name,origin,clones NAME ORIGIN CLONES tank - - tank/containers - - tank/containers/five tank/containers/two@B - tank/containers/four tank/containers/six@C - tank/containers/one - - tank/containers/one@E - tank/containers/three tank/containers/two tank/containers/six@A - tank/containers/two@B - tank/containers/five tank/containers/six tank/containers/three@F - tank/containers/six@A - tank/containers/two tank/containers/six@C - tank/containers/four tank/containers/three tank/containers/one@E - tank/containers/three@F - tank/containers/six