ctdb-locking: Decrement pending statistics when lock is scheduled
authorAmitay Isaacs <amitay@gmail.com>
Tue, 15 Jul 2014 04:38:52 +0000 (14:38 +1000)
committerVolker Lendecke <vl@samba.org>
Mon, 4 Aug 2014 15:59:52 +0000 (17:59 +0200)
and not when the lock is obtained.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
ctdb/server/ctdb_lock.c

index 593f48786c519dc6c236cd2b3e045e2d931a67bd..123b1dcde0ab9626396d9caca8e4e4417d6a46e4 100644 (file)
@@ -444,10 +444,8 @@ static void ctdb_lock_handler(struct tevent_context *ev,
        }
 
        /* Update statistics */
-       CTDB_DECREMENT_STAT(lock_ctx->ctdb, locks.num_pending);
        CTDB_INCREMENT_STAT(lock_ctx->ctdb, locks.num_calls);
        if (lock_ctx->ctdb_db) {
-               CTDB_DECREMENT_DB_STAT(lock_ctx->ctdb_db, locks.num_pending);
                CTDB_INCREMENT_DB_STAT(lock_ctx->ctdb_db, locks.num_calls);
        }
 
@@ -798,9 +796,11 @@ static void ctdb_lock_schedule(struct ctdb_context *ctdb)
        /* Move the context from pending to current */
        DLIST_REMOVE(ctdb->lock_pending, lock_ctx);
        DLIST_ADD_END(ctdb->lock_current, lock_ctx, NULL);
+       CTDB_DECREMENT_STAT(lock_ctx->ctdb, locks.num_pending);
        CTDB_INCREMENT_STAT(lock_ctx->ctdb, locks.num_current);
        if (lock_ctx->ctdb_db) {
                lock_ctx->ctdb_db->lock_num_current++;
+               CTDB_DECREMENT_DB_STAT(lock_ctx->ctdb_db, locks.num_pending);
                CTDB_INCREMENT_DB_STAT(lock_ctx->ctdb_db, locks.num_current);
        }
 }