diff options
author | Amitay Isaacs <amitay@gmail.com> | 2013-04-30 14:06:27 +1000 |
---|---|---|
committer | Amitay Isaacs <amitay@gmail.com> | 2013-05-24 09:06:38 +1000 |
commit | bd6ad3f817994fa96b7e158d98f0299f6bf679f5 (patch) | |
tree | e8b12cd11bd2e74d8ec2eb5bd6c5d5979b89cc72 /ctdb/server/ctdb_lock.c | |
parent | 4581582a5ef061558a51710521d7cf89e4314583 (diff) | |
download | samba-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.c | 20 |
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; |