locking: Move function find_lock_context() before ctdb_lock_schedule()
authorAmitay Isaacs <amitay@gmail.com>
Fri, 2 Aug 2013 00:51:45 +0000 (10:51 +1000)
committerAmitay Isaacs <amitay@gmail.com>
Fri, 9 Aug 2013 01:04:42 +0000 (11:04 +1000)
So that ctdb_lock_schedule() can call this function without requiring extra
prototype declaration.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
server/ctdb_lock.c

index 8886ed0e675cc353e5ddbe8b7c765ef1f8c2e132..b313ed57358b0e2483f6ac7e981d8b3f8cff51d1 100644 (file)
@@ -648,6 +648,59 @@ static char **lock_helper_args(TALLOC_CTX *mem_ctx, struct lock_context *lock_ct
 }
 
 
+/*
+ * Find the lock context of a given type
+ */
+static struct lock_context *find_lock_context(struct lock_context *lock_list,
+                                             struct ctdb_db_context *ctdb_db,
+                                             TDB_DATA key,
+                                             uint32_t priority,
+                                             enum lock_type type)
+{
+       struct lock_context *lock_ctx;
+
+       /* Search active locks */
+       for (lock_ctx=lock_list; lock_ctx; lock_ctx=lock_ctx->next) {
+               if (lock_ctx->type != type) {
+                       continue;
+               }
+
+               switch (lock_ctx->type) {
+               case LOCK_RECORD:
+                       if (ctdb_db == lock_ctx->ctdb_db &&
+                           key.dsize == lock_ctx->key.dsize &&
+                           memcmp(key.dptr, lock_ctx->key.dptr, key.dsize) == 0) {
+                               goto done;
+                       }
+                       break;
+
+               case LOCK_DB:
+                       if (ctdb_db == lock_ctx->ctdb_db) {
+                               goto done;
+                       }
+                       break;
+
+               case LOCK_ALLDB_PRIO:
+                       if (priority == lock_ctx->priority) {
+                               goto done;
+                       }
+                       break;
+
+               case LOCK_ALLDB:
+                       goto done;
+                       break;
+               }
+       }
+
+       /* Did not find the lock context we are searching for */
+       lock_ctx = NULL;
+
+done:
+       return lock_ctx;
+
+}
+
+
 /*
  * Schedule a new lock child process
  * Set up callback handler and timeout handler
@@ -801,59 +854,6 @@ static void ctdb_lock_schedule(struct ctdb_context *ctdb)
 }
 
 
-/*
- * Find the lock context of a given type
- */
-static struct lock_context *find_lock_context(struct lock_context *lock_list,
-                                             struct ctdb_db_context *ctdb_db,
-                                             TDB_DATA key,
-                                             uint32_t priority,
-                                             enum lock_type type)
-{
-       struct lock_context *lock_ctx;
-
-       /* Search active locks */
-       for (lock_ctx=lock_list; lock_ctx; lock_ctx=lock_ctx->next) {
-               if (lock_ctx->type != type) {
-                       continue;
-               }
-
-               switch (lock_ctx->type) {
-               case LOCK_RECORD:
-                       if (ctdb_db == lock_ctx->ctdb_db &&
-                           key.dsize == lock_ctx->key.dsize &&
-                           memcmp(key.dptr, lock_ctx->key.dptr, key.dsize) == 0) {
-                               goto done;
-                       }
-                       break;
-
-               case LOCK_DB:
-                       if (ctdb_db == lock_ctx->ctdb_db) {
-                               goto done;
-                       }
-                       break;
-
-               case LOCK_ALLDB_PRIO:
-                       if (priority == lock_ctx->priority) {
-                               goto done;
-                       }
-                       break;
-
-               case LOCK_ALLDB:
-                       goto done;
-                       break;
-               }
-       }
-
-       /* Did not find the lock context we are searching for */
-       lock_ctx = NULL;
-
-done:
-       return lock_ctx;
-
-}
-
-
 /*
  * Lock record / db depending on type
  */