ctdbd: locking: Provide non-blocking API for locking of TDB record/db/alldb
authorAmitay Isaacs <amitay@gmail.com>
Thu, 11 Oct 2012 00:29:29 +0000 (11:29 +1100)
committerAmitay Isaacs <amitay@gmail.com>
Fri, 19 Oct 2012 15:48:44 +0000 (02:48 +1100)
commit1af99cf0de9919dd89af1feab6d1bd18b95d82ff
treeca8b203d54fbecf26c98dfdfcbbfca6ae3d1d6bf
parentbe4051326b0c6a0fd301561af10fd15a0e90023b
ctdbd: locking: Provide non-blocking API for locking of TDB record/db/alldb

This introduces a consistent API for handling locks on single record, complete
db or all dbs. The locks are taken out in a child process. In cases of timeout,
find the processes that currently hold the lock and log.

Callback functions for locking requests take locked boolean to indicate
whether the lock was successfully obtained or not.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Makefile.in
doc/ctdbd.1
doc/ctdbd.1.html
doc/ctdbd.1.xml
include/ctdb_private.h
include/ctdb_protocol.h
server/ctdb_lock.c [new file with mode: 0644]
server/ctdb_tunables.c