Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=5c5... Commit: 5c55d7d3d16caf313091daa1995a988f4c807a05 Parent: 2f0613c0bab7022236dcbfc3ef4bb124c5f874a1 Author: David Teigland teigland@redhat.com AuthorDate: Mon Feb 22 11:31:30 2010 -0600 Committer: David Teigland teigland@redhat.com CommitterDate: Mon Feb 22 11:31:30 2010 -0600
dlm_controld: check all messages against enable options
Check every plock and deadlk related message against the enable_plock and enable_deadlk options. Log error and drop any message for a feature that's not enabled.
Signed-off-by: David Teigland teigland@redhat.com --- group/dlm_controld/cpg.c | 57 ++++++++++++++++++++++++++++++++++++++------- 1 files changed, 48 insertions(+), 9 deletions(-)
diff --git a/group/dlm_controld/cpg.c b/group/dlm_controld/cpg.c index d5245ce..e01ecc2 100644 --- a/group/dlm_controld/cpg.c +++ b/group/dlm_controld/cpg.c @@ -1574,40 +1574,79 @@ static void deliver_cb(cpg_handle_t handle, break;
case DLM_MSG_PLOCK: - receive_plock(ls, hd, len); + if (cfgd_enable_plock) + receive_plock(ls, hd, len); + else + log_error("msg %d nodeid %d enable_plock %d", + hd->type, nodeid, cfgd_enable_plock); break;
case DLM_MSG_PLOCK_OWN: - receive_own(ls, hd, len); + if (cfgd_enable_plock && cfgd_plock_ownership) + receive_own(ls, hd, len); + else + log_error("msg %d nodeid %d enable_plock %d owner %d", + hd->type, nodeid, cfgd_enable_plock, + cfgd_plock_ownership); break;
case DLM_MSG_PLOCK_DROP: - receive_drop(ls, hd, len); + if (cfgd_enable_plock && cfgd_plock_ownership) + receive_drop(ls, hd, len); + else + log_error("msg %d nodeid %d enable_plock %d owner %d", + hd->type, nodeid, cfgd_enable_plock, + cfgd_plock_ownership); break;
case DLM_MSG_PLOCK_SYNC_LOCK: case DLM_MSG_PLOCK_SYNC_WAITER: - receive_sync(ls, hd, len); + if (cfgd_enable_plock && cfgd_plock_ownership) + receive_sync(ls, hd, len); + else + log_error("msg %d nodeid %d enable_plock %d owner %d", + hd->type, nodeid, cfgd_enable_plock, + cfgd_plock_ownership); break;
case DLM_MSG_PLOCKS_STORED: - receive_plocks_stored(ls, hd, len); + if (cfgd_enable_plock) + receive_plocks_stored(ls, hd, len); + else + log_error("msg %d nodeid %d enable_plock %d", + hd->type, nodeid, cfgd_enable_plock); break;
case DLM_MSG_DEADLK_CYCLE_START: - receive_cycle_start(ls, hd, len); + if (cfgd_enable_deadlk) + receive_cycle_start(ls, hd, len); + else + log_error("msg %d nodeid %d enable_deadlk %d", + hd->type, nodeid, cfgd_enable_deadlk); break;
case DLM_MSG_DEADLK_CYCLE_END: - receive_cycle_end(ls, hd, len); + if (cfgd_enable_deadlk) + receive_cycle_end(ls, hd, len); + else + log_error("msg %d nodeid %d enable_deadlk %d", + hd->type, nodeid, cfgd_enable_deadlk); break;
case DLM_MSG_DEADLK_CHECKPOINT_READY: - receive_checkpoint_ready(ls, hd, len); + if (cfgd_enable_deadlk) + receive_checkpoint_ready(ls, hd, len); + else + log_error("msg %d nodeid %d enable_deadlk %d", + hd->type, nodeid, cfgd_enable_deadlk); break;
case DLM_MSG_DEADLK_CANCEL_LOCK: - receive_cancel_lock(ls, hd, len); + if (cfgd_enable_deadlk) + receive_cancel_lock(ls, hd, len); + else + log_error("msg %d nodeid %d enable_deadlk %d", + hd->type, nodeid, cfgd_enable_deadlk); break;
default:
cluster-commits@lists.stg.fedorahosted.org