/* from server/ctdb_lock.c */
struct lock_request;
-int ctdb_lockall_prio(struct ctdb_context *ctdb, uint32_t priority);
-int ctdb_unlockall_prio(struct ctdb_context *ctdb, uint32_t priority);
int ctdb_lockall_mark_prio(struct ctdb_context *ctdb, uint32_t priority);
int ctdb_lockall_unmark_prio(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)
-{
- return ctdb_db_iterator(ctdb, priority, db_lock_handler, NULL);
-}
-
-static int ctdb_lockall(struct ctdb_context *ctdb)
-{
- uint32_t priority;
-
- for (priority=1; priority<=NUM_DB_PRIORITIES; priority++) {
- if (ctdb_db_iterator(ctdb, priority, db_lock_handler, NULL) != 0) {
- return -1;
- }
- }
-
- return 0;
-}
-
-
-/*
- * unlock all databases
- */
-static int db_unlock_handler(struct ctdb_db_context *ctdb_db, uint32_t priority,
- void *private_data)
-{
- if (priority == 0) {
- DEBUG(DEBUG_INFO, ("unlocking database %s\n",
- ctdb_db->db_name));
- } else {
- DEBUG(DEBUG_INFO, ("unlocking database %s, priority:%u\n",
- ctdb_db->db_name, priority));
- }
-
- if (tdb_unlockall(ctdb_db->ltdb->tdb) != 0) {
- DEBUG(DEBUG_ERR, ("Failed to unlock database %s\n",
- ctdb_db->db_name));
- return -1;
- }
-
- return 0;
-}
-
-int ctdb_unlockall_prio(struct ctdb_context *ctdb, uint32_t priority)
-{
- return ctdb_db_iterator(ctdb, priority, db_unlock_handler, NULL);
-}
-
-static int ctdb_unlockall(struct ctdb_context *ctdb)
-{
- uint32_t priority;
-
- for (priority=NUM_DB_PRIORITIES; priority>=0; priority--) {
- if (ctdb_db_iterator(ctdb, priority, db_unlock_handler, NULL) != 0) {
- return -1;
- }
- }
-
- return 0;
-}
-
-
/*
* lock all databases - mark only
*/