From 39d2fd330a60ea590d76213f8cb406a42fa8d680 Mon Sep 17 00:00:00 2001 From: Martin Schwenke Date: Tue, 27 Jan 2015 12:55:42 +1100 Subject: ctdb-recoverd: Abort when daemon can take recovery lock during recovery Signed-off-by: Martin Schwenke Reviewed-by: Amitay Isaacs Autobuild-User(master): Amitay Isaacs Autobuild-Date(master): Fri Feb 13 09:48:15 CET 2015 on sn-devel-104 --- ctdb/server/ctdb_recover.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ctdb/server/ctdb_recover.c b/ctdb/server/ctdb_recover.c index 4b9407f6c8..db88f060d1 100644 --- a/ctdb/server/ctdb_recover.c +++ b/ctdb/server/ctdb_recover.c @@ -536,11 +536,13 @@ static void set_recmode_handler(struct event_context *ev, struct fd_event *fde, */ ret = sys_read(state->fd[0], &c, 1); if (ret != 1 || c != 0) { + const char *msg = \ + "Took recovery lock from daemon - probably a cluster filesystem lock coherence problem"; ctdb_request_control_reply( state->ctdb, state->c, NULL, -1, - "Took recovery lock from daemon during recovery - probably a cluster filesystem lock coherence problem"); + msg); talloc_free(state); - return; + ctdb_die(state->ctdb, msg); } state->ctdb->recovery_mode = state->recmode; -- cgit