summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2010-02-17 12:18:33 +1030
committerRusty Russell <rusty@rustcorp.com.au>2010-02-17 12:18:33 +1030
commit7ab422d6fbd4f8be02838089a41f872d538ee7a7 (patch)
treebee48874b28925ba38e2f8049039359c2967fa73 /lib
parenta6e0ef87d25734760fe77b87a9fd11db56760955 (diff)
downloadsamba-7ab422d6fbd4f8be02838089a41f872d538ee7a7.tar.gz
samba-7ab422d6fbd4f8be02838089a41f872d538ee7a7.tar.bz2
samba-7ab422d6fbd4f8be02838089a41f872d538ee7a7.zip
tdb: cleanup: rename GLOBAL_LOCK to OPEN_LOCK.
The word global is overloaded in tdb. The GLOBAL_LOCK offset is used at open time to serialize initialization (and by the transaction code to block open). Rename it to OPEN_LOCK. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'lib')
-rw-r--r--lib/tdb/common/open.c8
-rw-r--r--lib/tdb/common/tdb_private.h2
-rw-r--r--lib/tdb/common/transaction.c24
3 files changed, 17 insertions, 17 deletions
diff --git a/lib/tdb/common/open.c b/lib/tdb/common/open.c
index 13d5c94e37..35968c9eaf 100644
--- a/lib/tdb/common/open.c
+++ b/lib/tdb/common/open.c
@@ -241,8 +241,8 @@ struct tdb_context *tdb_open_ex(const char *name, int hash_size, int tdb_flags,
fcntl(tdb->fd, F_SETFD, v | FD_CLOEXEC);
/* ensure there is only one process initialising at once */
- if (tdb->methods->brlock(tdb, F_WRLCK, GLOBAL_LOCK, 1, TDB_LOCK_WAIT) == -1) {
- TDB_LOG((tdb, TDB_DEBUG_ERROR, "tdb_open_ex: failed to get global lock on %s: %s\n",
+ if (tdb->methods->brlock(tdb, F_WRLCK, OPEN_LOCK, 1, TDB_LOCK_WAIT) == -1) {
+ TDB_LOG((tdb, TDB_DEBUG_ERROR, "tdb_open_ex: failed to get open lock on %s: %s\n",
name, strerror(errno)));
goto fail; /* errno set by tdb_brlock */
}
@@ -356,8 +356,8 @@ struct tdb_context *tdb_open_ex(const char *name, int hash_size, int tdb_flags,
internal:
/* Internal (memory-only) databases skip all the code above to
* do with disk files, and resume here by releasing their
- * global lock and hooking into the active list. */
- if (tdb->methods->brunlock(tdb, F_WRLCK, GLOBAL_LOCK, 1) == -1)
+ * open lock and hooking into the active list. */
+ if (tdb->methods->brunlock(tdb, F_WRLCK, OPEN_LOCK, 1) == -1)
goto fail;
tdb->next = tdbs;
tdbs = tdb;
diff --git a/lib/tdb/common/tdb_private.h b/lib/tdb/common/tdb_private.h
index 093dd9a137..be630e8bfa 100644
--- a/lib/tdb/common/tdb_private.h
+++ b/lib/tdb/common/tdb_private.h
@@ -102,7 +102,7 @@ void tdb_trace_2rec_retrec(struct tdb_context *tdb, const char *op,
#endif /* !TDB_TRACE */
/* lock offsets */
-#define GLOBAL_LOCK 0
+#define OPEN_LOCK 0
#define ACTIVE_LOCK 4
#define TRANSACTION_LOCK 8
diff --git a/lib/tdb/common/transaction.c b/lib/tdb/common/transaction.c
index 07935c9492..08910a74a9 100644
--- a/lib/tdb/common/transaction.c
+++ b/lib/tdb/common/transaction.c
@@ -76,7 +76,7 @@
to reduce this to 3 or even 2 with some more work.
- check for a valid recovery record on open of the tdb, while the
- global lock is held. Automatically recover from the transaction
+ open lock is held. Automatically recover from the transaction
recovery area if needed, then continue with the open as
usual. This allows for smooth crash recovery with no administrator
intervention.
@@ -135,8 +135,8 @@ struct tdb_transaction {
bool prepared;
tdb_off_t magic_offset;
- /* set when the GLOBAL_LOCK has been taken */
- bool global_lock_taken;
+ /* set when the OPEN_LOCK has been taken */
+ bool open_lock_taken;
/* old file size before transaction */
tdb_len_t old_map_size;
@@ -615,9 +615,9 @@ static int _tdb_transaction_cancel(struct tdb_context *tdb, int ltype)
}
}
- if (tdb->transaction->global_lock_taken) {
- tdb_brunlock(tdb, F_WRLCK, GLOBAL_LOCK, 1);
- tdb->transaction->global_lock_taken = false;
+ if (tdb->transaction->open_lock_taken) {
+ tdb_brunlock(tdb, F_WRLCK, OPEN_LOCK, 1);
+ tdb->transaction->open_lock_taken = false;
}
/* remove any global lock created during the transaction */
@@ -965,16 +965,16 @@ static int _tdb_transaction_prepare_commit(struct tdb_context *tdb)
return -1;
}
- /* get the global lock - this prevents new users attaching to the database
+ /* get the open lock - this prevents new users attaching to the database
during the commit */
- if (tdb_brlock(tdb, F_WRLCK, GLOBAL_LOCK, 1, TDB_LOCK_WAIT) == -1) {
- TDB_LOG((tdb, TDB_DEBUG_ERROR, "tdb_transaction_prepare_commit: failed to get global lock\n"));
+ if (tdb_brlock(tdb, F_WRLCK, OPEN_LOCK, 1, TDB_LOCK_WAIT) == -1) {
+ TDB_LOG((tdb, TDB_DEBUG_ERROR, "tdb_transaction_prepare_commit: failed to get open lock\n"));
tdb->ecode = TDB_ERR_LOCK;
_tdb_transaction_cancel(tdb, F_WRLCK);
return -1;
}
- tdb->transaction->global_lock_taken = true;
+ tdb->transaction->open_lock_taken = true;
if (!(tdb->flags & TDB_NOSYNC)) {
/* write the recovery data to the end of the file */
@@ -1001,7 +1001,7 @@ static int _tdb_transaction_prepare_commit(struct tdb_context *tdb)
methods->tdb_oob(tdb, tdb->map_size + 1, 1);
}
- /* Keep the global lock until the actual commit */
+ /* Keep the open lock until the actual commit */
return 0;
}
@@ -1129,7 +1129,7 @@ int tdb_transaction_commit(struct tdb_context *tdb)
/*
recover from an aborted transaction. Must be called with exclusive
- database write access already established (including the global
+ database write access already established (including the open
lock to prevent new processes attaching)
*/
int tdb_transaction_recover(struct tdb_context *tdb)