I am not an expert but I think the correct sequence is : 1. dmu_tx_create() 2. dmu_tx_hold_xxxx() 3. dmu_tx_assign() 4. modify the objects as part of the transaction 5. dmu_tx_commit()
see comments in common/fs/zfs/sys/dmu.h Thanks Bhaskar
I am not an expert but I think the correct sequence is : 1. dmu_tx_create() 2. dmu_tx_hold_xxxx() 3. dmu_tx_assign() 4. modify the objects as part of the transaction 5. dmu_tx_commit()
see comments in common/fs/zfs/sys/dmu.h Thanks Bhaskar