[ovs-dev] [PATCH] bridge: Fix race on instant_stats transactions.

Joe Stringer joestringer at nicira.com
Wed Dec 25 00:25:41 UTC 2013


Ah, I reported in the message that it fixes the issue but I am not
sure, still investigating. This somehow got dropped from earlier
versions of the patchset though, and I think should still be merged.

On 24 December 2013 16:19, Joe Stringer <joestringer at nicira.com> wrote:
> Commit 7f8f2757f3 ("bridge: Only store instant_stats on device changes")
> introduced a race condition where instant stats would sometimes not be
> updated to the database. In this case, monitor status reported by
> 'ovs-appctl bfd/show' would differ from 'ovs-vsctl list int'. This patch
> fixes the issue by ensuring that the main thread waits on
> connectivity_seqno in instant_stats_wait().
>
> Bug #22136.
>
> Signed-off-by: Joe Stringer <joestringer at nicira.com>
> ---
>  vswitchd/bridge.c |    1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
> index 6311ff3..f569699 100644
> --- a/vswitchd/bridge.c
> +++ b/vswitchd/bridge.c
> @@ -2253,6 +2253,7 @@ instant_stats_run(void)
>  static void
>  instant_stats_wait(void)
>  {
> +    seq_wait(connectivity_seq_get(), connectivity_seqno);
>      if (instant_txn) {
>          ovsdb_idl_txn_wait(instant_txn);
>      } else if (instant_stats_could_have_changed) {
> --
> 1.7.9.5
>



More information about the dev mailing list