]> 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 */
         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 */
        }
                         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
  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;
                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 */
 #endif /* !TDB_TRACE */
 
 /* lock offsets */
-#define GLOBAL_LOCK      0
+#define OPEN_LOCK        0
 #define ACTIVE_LOCK      4
 #define TRANSACTION_LOCK 8
 
 #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
     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.
     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;
 
        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;
 
        /* 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 */
        }
 
        /* remove any global lock created during the transaction */
@@ -959,16 +959,16 @@ static int _tdb_transaction_prepare_commit(struct tdb_context *tdb)
                return -1;
        }
 
                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 */
           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->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 */
 
        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);
        }
 
                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;
 }
 
        return 0;
 }
@@ -1123,7 +1123,7 @@ int tdb_transaction_commit(struct tdb_context *tdb)
 
 /*
   recover from an aborted transaction. Must be called with exclusive
 
 /*
   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)
   lock to prevent new processes attaching)
 */
 int tdb_transaction_recover(struct tdb_context *tdb)