[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