On Sun, Apr 6, 2014 at 6:29 PM, Jorgen Lundman <[email protected]> wrote:
> > If indeed nested dmu_txg is not feasible. > A given thread can only process one transaction at a time. I.e. it is not valid for a given thread to do: dmu_tx_assign(tx1) dmu_tx_assign(tx2) dmu_tx_commit(...) Because this could result in deadlock. The 2nd dmu_tx_assign() could need to wait for a txg to sync, which could need to wait for tx1's txg to quiesce, which would wait for tx1 to commit. You must do: dmu_tx_assign(tx1) dmu_tx_commit(tx1) dmu_tx_assign(tx2) dmu_tx_commit(tx2) --matt
_______________________________________________ developer mailing list [email protected] http://lists.open-zfs.org/mailman/listinfo/developer
