Browse Source

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>
Rusty Russell 16 years ago
parent
commit
5945c4dc1e
2 changed files with 2 additions and 11 deletions
  1. 2 10
      ccan/tdb/lock.c
  2. 0 1
      ccan/tdb/tdb_private.h

+ 2 - 10
ccan/tdb/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);

+ 0 - 1
ccan/tdb/tdb_private.h

@@ -236,7 +236,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;