summaryrefslogtreecommitdiffstats
path: root/ctdb/server/ctdb_lock.c
diff options
context:
space:
mode:
authorAmitay Isaacs <amitay@gmail.com>2013-04-30 14:06:27 +1000
committerAmitay Isaacs <amitay@gmail.com>2013-05-24 09:06:38 +1000
commitbd6ad3f817994fa96b7e158d98f0299f6bf679f5 (patch)
treee8b12cd11bd2e74d8ec2eb5bd6c5d5979b89cc72 /ctdb/server/ctdb_lock.c
parent4581582a5ef061558a51710521d7cf89e4314583 (diff)
downloadsamba-bd6ad3f817994fa96b7e158d98f0299f6bf679f5.tar.gz
samba-bd6ad3f817994fa96b7e158d98f0299f6bf679f5.tar.xz
samba-bd6ad3f817994fa96b7e158d98f0299f6bf679f5.zip
locking: Add handler function for locking a database
Signed-off-by: Amitay Isaacs <amitay@gmail.com> (This used to be ctdb commit 2a1c933ef7c78ee071e2a640ea10941f1c12e32a)
Diffstat (limited to 'ctdb/server/ctdb_lock.c')
-rw-r--r--ctdb/server/ctdb_lock.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/ctdb/server/ctdb_lock.c b/ctdb/server/ctdb_lock.c
index 46fc57ae33f..7bbab4ce629 100644
--- a/ctdb/server/ctdb_lock.c
+++ b/ctdb/server/ctdb_lock.c
@@ -158,6 +158,26 @@ static int ctdb_db_iterator(struct ctdb_context *ctdb, uint32_t priority,
/*
* lock all databases
*/
+static int db_lock_handler(struct ctdb_db_context *ctdb_db, uint32_t priority,
+ void *private_data)
+{
+ if (priority == 0) {
+ DEBUG(DEBUG_INFO, ("locking database %s\n",
+ ctdb_db->db_name));
+ } else {
+ DEBUG(DEBUG_INFO, ("locking database %s, priority:%u\n",
+ ctdb_db->db_name, priority));
+ }
+
+ if (tdb_lockall(ctdb_db->ltdb->tdb) != 0) {
+ DEBUG(DEBUG_ERR, ("Failed to lock database %s\n",
+ ctdb_db->db_name));
+ return -1;
+ }
+
+ return 0;
+}
+
int ctdb_lockall_prio(struct ctdb_context *ctdb, uint32_t priority)
{
struct ctdb_db_context *ctdb_db;