On Tue, Jun 10, 2014 at 10:03:52AM -0700, Alex Wang wrote:
> This commit adds logic that checks the return value of status_txn
> transaction and runs the update again if the transaction fails
> (transaction status is not 'TXN_SUCCESS', 'TXN_UNCHANGED', or
> 'TXN_INCOMPLETE').
> 
> To keep the code simple, the re-run of update on transaction failure
> will extracts the status from all interfaces, rather than just those
> that have status change.  Since the transaction failure is considered
> to be very rare, such overhead is deemed to be affordable.
> 
> Bug #1256577
> 
> Signed-off-by: Alex Wang <al...@nicira.com>

TXN_UNCOMMITTED should not be possible here (because we just committed
it).  If you want to check for it (I probably wouldn't bother) then
I'd use an assertion:
> +            /* Sets the 'status_txn_try_again' if the transaction fails. */
> +            if (status == TXN_SUCCESS || status == TXN_UNCOMMITTED) {
> +                status_txn_try_again = false;
> +            } else {
> +                status_txn_try_again = true;
> +            }

Acked-by: Ben Pfaff <b...@nicira.com>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to