ZFS Experts, Is it possible to use DMU as general purpose transaction engine? More specifically, in following order:
1. Create transaction: tx = dmu_tx_create(os); error = dmu_tx_assign(tx, TXG_WAIT) 2. Decide what to modify(say create new object): dmu_tx_hold_bonus(tx, DMU_NEW_OBJECT); dmu_tx_hold_bonus(tx, dzp->z_id); dmu_tx_hold_zap(tx, dzp->z_id, TRUE, name); | | 3. Commit transaction: dmu_tx_commit(tx); The reason I am asking for this particular order because I may not know the intent of transaction till late in the process. If it is not possible, can I at least declare that the transaction is going to change N objects (without specification of each object) and each change is M blocks at most (without specification of object and offset). If yes, how? Thanks, -Atul -- Atul Vidwansa Cluster File Systems Inc. http://www.clusterfs.com