Commit 5945c4dc authored by Rusty Russell's avatar Rusty Russell

tdb: remove num_locks

This was redundant before this patch series: it mirrored num_lockrecs
exactly.  It still does.

Also, skip useless branch when locks == 1: unconditional assignment is
cheaper anyway.
Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
parent 564427be
...@@ -277,12 +277,10 @@ int tdb_nest_lock(struct tdb_context *tdb, uint32_t offset, int ltype, ...@@ -277,12 +277,10 @@ int tdb_nest_lock(struct tdb_context *tdb, uint32_t offset, int ltype,
return -1; return -1;
} }
tdb->num_locks++;
tdb->lockrecs[tdb->num_lockrecs].off = offset; tdb->lockrecs[tdb->num_lockrecs].off = offset;
tdb->lockrecs[tdb->num_lockrecs].count = 1; tdb->lockrecs[tdb->num_lockrecs].count = 1;
tdb->lockrecs[tdb->num_lockrecs].ltype = ltype; tdb->lockrecs[tdb->num_lockrecs].ltype = ltype;
tdb->num_lockrecs += 1; tdb->num_lockrecs++;
return 0; return 0;
} }
...@@ -368,17 +366,12 @@ int tdb_nest_unlock(struct tdb_context *tdb, uint32_t offset, int ltype, ...@@ -368,17 +366,12 @@ int tdb_nest_unlock(struct tdb_context *tdb, uint32_t offset, int ltype,
} else { } else {
ret = tdb->methods->brunlock(tdb, ltype, offset, 1); ret = tdb->methods->brunlock(tdb, ltype, offset, 1);
} }
tdb->num_locks--;
/* /*
* Shrink the array by overwriting the element just unlocked with the * Shrink the array by overwriting the element just unlocked with the
* last array element. * last array element.
*/ */
*lck = tdb->lockrecs[--tdb->num_lockrecs];
if (tdb->num_lockrecs > 1) {
*lck = tdb->lockrecs[tdb->num_lockrecs-1];
}
tdb->num_lockrecs -= 1;
/* /*
* We don't bother with realloc when the array shrinks, but if we have * We don't bother with realloc when the array shrinks, but if we have
...@@ -712,7 +705,6 @@ void tdb_release_extra_locks(struct tdb_context *tdb) ...@@ -712,7 +705,6 @@ void tdb_release_extra_locks(struct tdb_context *tdb)
tdb_brunlock(tdb, lck->ltype, lck->off, 1); tdb_brunlock(tdb, lck->ltype, lck->off, 1);
} }
} }
tdb->num_locks = extra;
tdb->num_lockrecs = extra; tdb->num_lockrecs = extra;
if (tdb->num_lockrecs == 0) { if (tdb->num_lockrecs == 0) {
SAFE_FREE(tdb->lockrecs); SAFE_FREE(tdb->lockrecs);
......
...@@ -236,7 +236,6 @@ struct tdb_context { ...@@ -236,7 +236,6 @@ struct tdb_context {
struct tdb_logging_context log; struct tdb_logging_context log;
unsigned int (*hash_fn)(TDB_DATA *key); unsigned int (*hash_fn)(TDB_DATA *key);
int open_flags; /* flags used in the open - needed by reopen */ int open_flags; /* flags used in the open - needed by reopen */
unsigned int num_locks; /* number of chain locks held */
const struct tdb_methods *methods; const struct tdb_methods *methods;
struct tdb_transaction *transaction; struct tdb_transaction *transaction;
int page_size; int page_size;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment