diff mbox

[ovs-dev,1/3] ovsdb: Fix one off error in tracking monitor changes

Message ID 1456131994-377-1-git-send-email-azhou@ovn.org
State Superseded
Headers show

Commit Message

Andy Zhou Feb. 22, 2016, 9:06 a.m. UTC
dbmon's changes should be stored with the new transaction number,
rather than the current transaction number.

Signed-off-by: Andy Zhou <azhou@ovn.org>
---
 ovsdb/monitor.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Andy Zhou Feb. 23, 2016, 12:31 a.m. UTC | #1
Please ignore this series. An updated version has been posted at:
http://openvswitch.org/pipermail/dev/2016-February/066596.html

On Mon, Feb 22, 2016 at 1:06 AM, Andy Zhou <azhou@ovn.org> wrote:

> dbmon's changes should be stored with the new transaction number,
> rather than the current transaction number.
>
> Signed-off-by: Andy Zhou <azhou@ovn.org>
> ---
>  ovsdb/monitor.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/ovsdb/monitor.c b/ovsdb/monitor.c
> index 5ae9cdb..ef96ca2 100644
> --- a/ovsdb/monitor.c
> +++ b/ovsdb/monitor.c
> @@ -1121,11 +1121,13 @@ ovsdb_monitor_commit(struct ovsdb_replica *replica,
>      struct ovsdb_monitor_aux aux;
>
>      ovsdb_monitor_init_aux(&aux, m);
> +    /* Update ovsdb_monitor's transaction number for
> +     * each transaction, before calling ovsdb_monitor_change_cb().  */
> +    m->n_transactions++;
>      ovsdb_txn_for_each_change(txn, ovsdb_monitor_change_cb, &aux);
>
>      if (aux.efficacy == OVSDB_CHANGES_REQUIRE_EXTERNAL_UPDATE) {
>          ovsdb_monitor_json_cache_flush(m);
> -        m->n_transactions++;
>      }
>
>      return NULL;
> --
> 1.9.1
>
>
diff mbox

Patch

diff --git a/ovsdb/monitor.c b/ovsdb/monitor.c
index 5ae9cdb..ef96ca2 100644
--- a/ovsdb/monitor.c
+++ b/ovsdb/monitor.c
@@ -1121,11 +1121,13 @@  ovsdb_monitor_commit(struct ovsdb_replica *replica,
     struct ovsdb_monitor_aux aux;
 
     ovsdb_monitor_init_aux(&aux, m);
+    /* Update ovsdb_monitor's transaction number for
+     * each transaction, before calling ovsdb_monitor_change_cb().  */
+    m->n_transactions++;
     ovsdb_txn_for_each_change(txn, ovsdb_monitor_change_cb, &aux);
 
     if (aux.efficacy == OVSDB_CHANGES_REQUIRE_EXTERNAL_UPDATE) {
         ovsdb_monitor_json_cache_flush(m);
-        m->n_transactions++;
     }
 
     return NULL;