DLM 4.0.6 Upgrade for Ubuntu 16.04 LTS

The version 4.0.4 of dlm (Distributed Locking Manager) currently shipped with Ubuntu 16.04 LTS has a severe bug that causes fencing of a remote host initiated by other clustered components to fail.

This can cause an entire cluster to be stuck waiting and/or all cluster nodes disconnecting from the cluster for no reason. This fencing problem did not happen with dlm version 4.0.2 and causes the dlm_controld process to exit right after returning from the poll call due to a SIGCHLD signal.

The following patch is available since April 2016:

Index: dlm-4.0.4/dlm_controld/main.c
===================================================================
--- dlm-4.0.4.orig/dlm_controld/main.c
+++ dlm-4.0.4/dlm_controld/main.c
@@ -1028,9 +1028,10 @@ static int loop(void)
 	for (;;) {
 		rv = poll(pollfd, client_maxi + 1, poll_timeout);
 		if (rv == -1 && errno == EINTR) {
-			if (daemon_quit && list_empty(&lockspaces))
+			if (daemon_quit && list_empty(&lockspaces)) {
 				rv = 0;
 				goto out;
+			}
 			if (daemon_quit) {
 				log_error("shutdown ignored, active lockspaces");
 				daemon_quit = 0;

So there are missing braces causing this problem.

As this was affecting both our private cloud customer and also our reference cloud we have rebuilt an upgraded version (4.0.6) of the package for Ubuntu 16.04 LTS which includes this patch.

The package is available for download at:
https://www.server24.net/cp/dl.php?type=d&id=1

All Private Cloud customers that are managed directly by us will have this patch installed ASAP, customers manually managing their cloud should download the archive linked above and install the files of the archive locally. Our reference cloud was already upgraded.

Sourcecode download:
https://git.fedorahosted.org/cgit/dlm.git/

About The Author

Thomas Moroder is President and Co-Founder at Server24, Your Private Cloud Integrator. Thomas spends most of his time designing and implementing IaaS solutions based on Apache CloudStack. When not building or optimizing Private Clouds, Thomas likes to create Ansible playbooks to automate and build Clouds. And of course to explore artificial intelligence on neural networks powered by the GPUs in the Cloud.

Looking to build Your own Private Cloud? Get in touch with us. Now. We are happy to hear from You!

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.