diff options
author | Martin Schwenke <martin@meltin.net> | 2020-02-17 16:20:25 +1100 |
---|---|---|
committer | Amitay Isaacs <amitay@samba.org> | 2020-02-18 02:56:38 +0000 |
commit | c9405aec703a9bb90236ddcb860301339a59fee6 (patch) | |
tree | bf16965125164bfe69102fd74e0a39648d51898a | |
parent | c16da0e8f09cb31baab7789ca8cd3bf34514bafc (diff) | |
download | samba-c9405aec703a9bb90236ddcb860301339a59fee6.tar.gz |
ctdb-daemon: Check for lock count underflow
This is a programming error.
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
-rw-r--r-- | ctdb/server/ctdb_lock.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ctdb/server/ctdb_lock.c b/ctdb/server/ctdb_lock.c index 5f032ae568b..478447d76f8 100644 --- a/ctdb/server/ctdb_lock.c +++ b/ctdb/server/ctdb_lock.c @@ -198,6 +198,9 @@ static int ctdb_lock_context_destructor(struct lock_context *lock_ctx) } else { DLIST_REMOVE(lock_ctx->ctdb->lock_current, lock_ctx); } + if (lock_ctx->ctdb_db->lock_num_current == 0) { + ctdb_fatal(NULL, "Lock count is 0 before decrement\n"); + } lock_ctx->ctdb_db->lock_num_current--; CTDB_DECREMENT_STAT(lock_ctx->ctdb, locks.num_current); CTDB_DECREMENT_DB_STAT(lock_ctx->ctdb_db, locks.num_current); |