To destroy a ZFS file system, use the zfs destroy command. By default, all of the snapshots for the dataset will be destroyed. The destroyed file system is automatically unmounted and unshared. For more information about automatically managed mounts or automatically managed shares, see Automatic Mount Points.
# zfs destroy tank/home/mark
Caution - No confirmation prompt appears with the destroy subcommand. Use it with extreme caution.
Caution - No confirmation prompt appears with the –f, –r, or –R options to the zfs destroy command, so use these options carefully.
If the file system to be destroyed is busy and cannot be unmounted, the zfs destroy command fails. To destroy an active file system, use the –f option. Use this option with caution as it can unmount, unshare, and destroy active file systems, causing unexpected application behavior.
# zfs destroy -f tank/home/mattExample 30 Destroying a ZFS File System with Descendents
The zfs destroy command also fails if a file system has descendents. To recursively destroy a file system and all its descendents, use the –r option.
# zfs destroy tank/ws cannot destroy 'tank/ws': filesystem has children use '-r' to destroy the following datasets: tank/ws/jeff tank/ws/bill tank/ws/mark # zfs destroy -r tank/wsExample 31 Destroying a ZFS File System with Dependents
If the file system to be destroyed has indirect dependents, even the recursive destroy command fails. To force the destruction of all dependents, including cloned file systems outside the target hierarchy, the –R option must be used. Use extreme caution with this option.
# zfs destroy -r tank/home/eric cannot destroy 'tank/home/eric': filesystem has dependent clones use '-R' to destroy the following datasets: tank//home/eric-clone # zfs destroy -R tank/home/eric