diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2010-02-17 15:01:07 +1030 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2010-02-17 15:01:07 +1030 |
commit | 1ab8776247f89b143b6e58f4b038ab4bcea20d3a (patch) | |
tree | ddd2ace8920416e67b47ef791df8a0b760c96371 /lib/tdb/common | |
parent | d48c3e4982a38fb6b568ed3903e55e07a0fe5ca6 (diff) | |
download | samba-1ab8776247f89b143b6e58f4b038ab4bcea20d3a.tar.gz samba-1ab8776247f89b143b6e58f4b038ab4bcea20d3a.tar.bz2 samba-1ab8776247f89b143b6e58f4b038ab4bcea20d3a.zip |
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: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'lib/tdb/common')
-rw-r--r-- | lib/tdb/common/lock.c | 12 | ||||
-rw-r--r-- | lib/tdb/common/tdb_private.h | 1 |
2 files changed, 2 insertions, 11 deletions
diff --git a/lib/tdb/common/lock.c b/lib/tdb/common/lock.c index 19b92d9ae0..73d34417e7 100644 --- a/lib/tdb/common/lock.c +++ b/lib/tdb/common/lock.c @@ -277,12 +277,10 @@ int tdb_nest_lock(struct tdb_context *tdb, uint32_t offset, int ltype, return -1; } - tdb->num_locks++; - tdb->lockrecs[tdb->num_lockrecs].off = offset; tdb->lockrecs[tdb->num_lockrecs].count = 1; tdb->lockrecs[tdb->num_lockrecs].ltype = ltype; - tdb->num_lockrecs += 1; + tdb->num_lockrecs++; return 0; } @@ -368,17 +366,12 @@ int tdb_nest_unlock(struct tdb_context *tdb, uint32_t offset, int ltype, } else { ret = tdb->methods->brunlock(tdb, ltype, offset, 1); } - tdb->num_locks--; /* * Shrink the array by overwriting the element just unlocked with the * last array element. */ - - if (tdb->num_lockrecs > 1) { - *lck = tdb->lockrecs[tdb->num_lockrecs-1]; - } - tdb->num_lockrecs -= 1; + *lck = tdb->lockrecs[--tdb->num_lockrecs]; /* * 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) tdb_brunlock(tdb, lck->ltype, lck->off, 1); } } - tdb->num_locks = extra; tdb->num_lockrecs = extra; if (tdb->num_lockrecs == 0) { SAFE_FREE(tdb->lockrecs); diff --git a/lib/tdb/common/tdb_private.h b/lib/tdb/common/tdb_private.h index 2e3c30f0ed..0ac37dfa5d 100644 --- a/lib/tdb/common/tdb_private.h +++ b/lib/tdb/common/tdb_private.h @@ -204,7 +204,6 @@ struct tdb_context { struct tdb_logging_context log; unsigned int (*hash_fn)(TDB_DATA *key); 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; struct tdb_transaction *transaction; int page_size; |