dmu_tx_hold_dnode_impl
txh = dmu_tx_hold_dnode_impl(tx, dn, type, arg1, arg2);
(void) dmu_tx_hold_dnode_impl(tx, dn, THT_NEWOBJECT, 0, 0);
txh = dmu_tx_hold_dnode_impl(tx, dn, THT_WRITE, off, len);
txh = dmu_tx_hold_dnode_impl(tx, dn, THT_FREE, off, len);
txh = dmu_tx_hold_dnode_impl(tx, dn, THT_ZAP, add, (uintptr_t)name);
txh = dmu_tx_hold_dnode_impl(tx, dn, THT_BONUS, 0, 0);