|
Description
|
"zfs destroy -r" will iterate over all filesystems for every origin snapshot to be destroyed, to determine if we are allowed to do the destroy (we aren't if there are clones that won't be destroyed). So "zfs destroy -r" is potentially O(snaps to be destroyed * filesystems in the pool).
We should be optimistic and just search the tree to be destroyed, and verify that all origins are accounted for there. Only if that fails should we go and search the whole pool.
(Also, the bp rewrite work will include a much faster way to get the list of clones of a given origin, which should be used once available.)
|