How to check that all ZFS snapshots within a pool are without holds before destroying that pool
Not sure about how this looked back in 2012 but now you can check the userrefs
property:
zfs get userrefs
To list all holds in all pools:
zfs get -Ht snapshot userrefs | grep -v $'\t'0 | cut -d $'\t' -f 1 | tr '\n' '\0' | xargs -0 zfs holds