[Ocfs2-tools-devel] [PATCH] o2cb: Handle failure to register heartbeat mode
Sunil Mushran
sunil.mushran at oracle.com
Tue Apr 5 15:28:08 PDT 2011
Kernels older than 2.6.37 do not support heartbeat mode. The o2cb tool should
ignore errors when failing to register local heartbeat in older kernels.
Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
---
o2cb_ctl/op_register.c | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/o2cb_ctl/op_register.c b/o2cb_ctl/op_register.c
index b9e4927..9dd5ace 100644
--- a/o2cb_ctl/op_register.c
+++ b/o2cb_ctl/op_register.c
@@ -224,10 +224,14 @@ static errcode_t register_heartbeat_mode(O2CBCluster *cluster,
{
errcode_t ret;
gchar *hbmode = NULL;
+ int localhb;
hbmode = o2cb_cluster_get_heartbeat_mode(cluster);
+ localhb = !strcmp(hbmode, O2CB_LOCAL_HEARTBEAT_TAG);
ret = o2cb_set_heartbeat_mode(clustername, hbmode);
+ if (ret && localhb)
+ ret = 0;
if (ret)
tcom_err(ret, "while registering heartbeat mode '%s'", hbmode);
@@ -302,10 +306,13 @@ errcode_t o2cbtool_register_cluster(struct o2cb_command *cmd)
if (ret)
goto bail;
+ verbosef(VL_DEBUG, "Registering heartbeat mode in cluster '%s'\n",
+ clustername);
ret = register_heartbeat_mode(cluster, clustername);
if (ret)
goto bail;
+ verbosef(VL_DEBUG, "Registering nodes in cluster '%s'\n", clustername);
ret = register_nodes(cluster, clustername);
if (ret)
goto bail;
@@ -393,15 +400,18 @@ errcode_t o2cbtool_unregister_cluster(struct o2cb_command *cmd)
if (ret)
goto bail;
- verbosef(VL_DEBUG, "Unregistering cluster '%s'\n", clustername);
+ verbosef(VL_DEBUG, "Looking up cluster '%s'\n", clustername);
ret = proceed_unregister(clustername);
if (ret)
goto bail;
+ verbosef(VL_DEBUG, "Unregistering nodes in cluster '%s'\n",
+ clustername);
ret = unregister_nodes(cluster, clustername, 0);
if (ret)
goto bail;
+ verbosef(VL_DEBUG, "Unregistering cluster '%s'\n", clustername);
ret = unregister_cluster(clustername);
if (ret)
goto bail;
--
1.7.1
More information about the Ocfs2-tools-devel
mailing list