avg-I commented on this pull request.


>        */
-       error = dmu_tx_assign(tx, TXG_WAITED);
-       if (error != 0) {
-               ASSERT3S(error, ==, EIO);
-               dmu_tx_abort(tx);
-               return (NULL);
-       }
+       VERIFY0(dmu_tx_assign(tx, TXG_WAITED));

Can't `dmu_tx_assign` -> `dmu_tx_try_assign` return `EIO` ?
I think that that still can happen if `spa_suspended` is true and 
`spa_get_failmode(spa) == ZIO_FAILURE_MODE_CONTINUE`, because `TXG_WAITED` != 
`TXG_WAIT`.

Perhaps, we also need to change the condition from `txg_how != TXG_WAIT` to 
`txg_how == TXG_NOWAIT` in the relevant clause in  `dmu_tx_try_assign` like you 
did in `dmu_tx_assign` ?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/492#pullrequestreview-73957784
------------------------------------------
openzfs-developer
Archives: 
https://openzfs.topicbox.com/groups/developer/discussions/T9576260544d0d727-M39293d969f5864bc3e527995
Powered by Topicbox: https://topicbox.com

Reply via email to