]> git.ozlabs.org Git - ccan/commitdiff
tdb: cleanup: rename GLOBAL_LOCK to OPEN_LOCK.
authorRusty Russell <rusty@rustcorp.com.au>
Mon, 22 Feb 2010 02:59:36 +0000 (13:29 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Mon, 22 Feb 2010 02:59:36 +0000 (13:29 +1030)
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>
ccan/tdb/open.c
ccan/tdb/tdb_private.h
ccan/tdb/transaction.c

index 64782df7fc016963a3d22dee884ce3b937a972f6..9a3457bc47555960ec0dce4b8665e3b242dfa446 100644 (file)
@@ -240,8 +240,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 */
        }
@@ -355,8 +355,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;
index a2dde30ccf145f173cb48d0c4f8846f7826dd919..975892ec2d1bfd6637153973955a207f14c4d741 100644 (file)
@@ -134,7 +134,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
 
index 261428fd9c9e5d0b902266ff3b91f9a24a37b898..ad07ad9fed1006dc41714c440395881ddc7465a3 100644 (file)
@@ -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;
@@ -504,9 +504,9 @@ 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 */
@@ -959,16 +959,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 */
@@ -995,7 +995,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;
 }
@@ -1123,7 +1123,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)