Hello community,

here is the log from the commit of package ocfs2-tools for openSUSE:Factory 
checked in at 2015-05-10 10:47:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ocfs2-tools (Old)
 and      /work/SRC/openSUSE:Factory/.ocfs2-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ocfs2-tools"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ocfs2-tools/ocfs2-tools.changes  2015-04-25 
11:25:58.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ocfs2-tools.new/ocfs2-tools.changes     
2015-05-10 10:47:17.000000000 +0200
@@ -1,0 +2,21 @@
+Fri May  8 13:12:57 UTC 2015 - [email protected]
+
+- libo2dlm: Close file description after use
+  + 0001-libo2dlm-Close-file-description-after-use.patch
+- debugfs.ocfs2: Fix a bug in process_open_args()
+  + 0002-debugfs.ocfs2-Fix-a-bug-in-process_open_args.patch
+
+-------------------------------------------------------------------
+Thu May  7 12:26:30 UTC 2015 - [email protected]
+
+- Update ocfs2-tools.tar.bz2 to upstream v1.8.4
+- Use new ocfs2-tools git URL https://github.com/markfasheh/ocfs2-tools.git
+- Drop patches (merged upstream):
+  - 0001-Use-cmap-for-getting-cluster-name.patch
+  - 0002-Remove-controld-dependency-in-group_join-leave.patch
+  - 0003-Auto-setup-cluster_stack-based-on-what-is-on-disk.patch
+  - 0004-mkfs.ocfs2-Abort-if-cluster-information-is-not-detec.patch
+  - 0005-mkfs-Setup-cluster_stack-if-not-setup-based-on-what-.patch
+  - 0006-Auto-setup-pcmk-stack-as-default-if-no-stack-is-setu.patch
+
+-------------------------------------------------------------------

Old:
----
  0001-Use-cmap-for-getting-cluster-name.patch
  0002-Remove-controld-dependency-in-group_join-leave.patch
  0003-Auto-setup-cluster_stack-based-on-what-is-on-disk.patch
  0004-mkfs.ocfs2-Abort-if-cluster-information-is-not-detec.patch
  0005-mkfs-Setup-cluster_stack-if-not-setup-based-on-what-.patch
  0006-Auto-setup-pcmk-stack-as-default-if-no-stack-is-setu.patch
  ocfs2-tools-1.8.3+git.1418704844.65fac00.tar.gz

New:
----
  0001-libo2dlm-Close-file-description-after-use.patch
  0002-debugfs.ocfs2-Fix-a-bug-in-process_open_args.patch
  ocfs2-tools-1.8.4.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ocfs2-tools.spec ++++++
--- /var/tmp/diff_new_pack.pN7CqD/_old  2015-05-10 10:47:18.000000000 +0200
+++ /var/tmp/diff_new_pack.pN7CqD/_new  2015-05-10 10:47:18.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package ocfs2-tools
 #
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,12 +17,12 @@
 
 
 Name:           ocfs2-tools
-Version:        1.8.3+git.1418704844.65fac00
+Version:        1.8.4
 Release:        0
 Summary:        Oracle Cluster File System 2 Core Tools
 License:        GPL-2.0+
 Group:          System/Filesystems
-Url:            http://oss.oracle.com/projects/ocfs2-tools/
+Url:            https://ocfs2.wiki.kernel.org/
 Source:         ocfs2-tools-%{version}.tar.gz
 Source1:        o2cb.ocf
 Source2:        reflink.tar.bz2
@@ -35,12 +35,8 @@
 Patch204:       dont-use-var-lock-subsys.patch
 Patch205:       ocfs2-tools-kernel33.patch
 Patch206:       ocfs2-tools-resource.patch
-Patch222:       0001-Use-cmap-for-getting-cluster-name.patch
-Patch223:       0002-Remove-controld-dependency-in-group_join-leave.patch
-Patch224:       0003-Auto-setup-cluster_stack-based-on-what-is-on-disk.patch
-Patch225:       0004-mkfs.ocfs2-Abort-if-cluster-information-is-not-detec.patch
-Patch226:       0005-mkfs-Setup-cluster_stack-if-not-setup-based-on-what-.patch
-Patch227:       0006-Auto-setup-pcmk-stack-as-default-if-no-stack-is-setu.patch
+Patch301:       0001-libo2dlm-Close-file-description-after-use.patch
+Patch302:       0002-debugfs.ocfs2-Fix-a-bug-in-process_open_args.patch
 
 BuildRequires:  autoconf
 BuildRequires:  e2fsprogs-devel
@@ -139,12 +135,8 @@
 %patch204 -p1
 %patch205 -p1
 %patch206 -p1
-%patch222 -p1
-%patch223 -p1
-%patch224 -p1
-%patch225 -p1
-%patch226 -p1
-%patch227 -p1
+%patch301 -p1
+%patch302 -p1
 
 %build
 export PROJECT="ocfs2-tools"

++++++ 0001-libo2dlm-Close-file-description-after-use.patch ++++++
>From 63a8fc605fc8dc1c4e327eb17ba6a5a614928608 Mon Sep 17 00:00:00 2001
From: piaojun <[email protected]>
Date: Thu, 2 Apr 2015 20:46:47 +0800
Subject: [PATCH 1/2] libo2dlm: Close file description after use

In o2dlm_generate_random_value(), randfd should be closed after use.

Signed-off-by: Jun Piao <[email protected]>
Reviewed-by: Alex Chen <[email protected]>
Signed-off-by: Goldwyn Rodrigues <[email protected]>
---
 libo2dlm/o2dlm.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libo2dlm/o2dlm.c b/libo2dlm/o2dlm.c
index dbc642b..375f659 100644
--- a/libo2dlm/o2dlm.c
+++ b/libo2dlm/o2dlm.c
@@ -102,9 +102,10 @@ static errcode_t o2dlm_generate_random_value(int64_t 
*value)
        if ((randfd = open("/dev/urandom", O_RDONLY)) == -1)
                return O2DLM_ET_RANDOM;
 
-       if (read(randfd, value, readlen) != readlen)
+       if (read(randfd, value, readlen) != readlen) {
+               close(randfd);
                return O2DLM_ET_RANDOM;
-
+       }
        close(randfd);
 
        return 0;
-- 
2.1.2

++++++ 0002-debugfs.ocfs2-Fix-a-bug-in-process_open_args.patch ++++++
>From 41057a7eef9da9d77cde46d336a7f8a19564d7f8 Mon Sep 17 00:00:00 2001
From: piaojun <[email protected]>
Date: Wed, 6 May 2015 10:25:10 +0800
Subject: [PATCH 2/2] debugfs.ocfs2: Fix a bug in process_open_args()

In process_open_args(), 'dev' get the wrong value because getopt() will
change the value of args[1]. This problem will cause failure in
debugfs.ocfs2. ocfs2. So we should assign 'dev' before getopt().

This fix fixes the bug introduced in 9693851641bfcd0f2bab226e9f03d9ab05cb7edf

Signed-off-by: Jun Piao <[email protected]>
Reviewed-by: Alex Chen <[email protected]>
Signed-off-by: Goldwyn Rodrigues <[email protected]>
Reported-by: Gang He <[email protected]>
---
 debugfs.ocfs2/commands.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/debugfs.ocfs2/commands.c b/debugfs.ocfs2/commands.c
index 1b0b2d9..6da396a 100644
--- a/debugfs.ocfs2/commands.c
+++ b/debugfs.ocfs2/commands.c
@@ -534,6 +534,7 @@ static int process_open_args(char **args,
        int num, argc, c;
 
        for (argc = 0; (args[argc]); ++argc);
+       dev = strdup(args[1]);
        optind = 0;
        while ((c = getopt(argc, args, "is:")) != EOF) {
                switch (c) {
@@ -544,26 +545,31 @@ static int process_open_args(char **args,
                                s = strtoul(optarg, &ptr, 0);
                                break;
                        default:
-                               return 1;
+                               ret = 1;
+                               goto bail;
                                break;
                }
        }
 
-       if (!s)
-               return 0;
+       if (!s) {
+               ret = 0;
+               goto bail;
+       }
 
        num = ocfs2_get_backup_super_offsets(NULL, byte_off,
                                             ARRAY_SIZE(byte_off));
-       if (!num)
-               return -1;
+       if (!num) {
+               ret = -1;
+               goto bail;
+       }
 
        if (s < 1 || s > num) {
                fprintf(stderr, "Backup super block is outside of valid range"
                        "(between 1 and %d)\n", num);
-               return -1;
+               ret = -1;
+               goto bail;
        }
 
-       dev = strdup(args[1]);
        ret = get_blocksize(dev, byte_off[s-1], &blksize, s);
        if (ret) {
                com_err(args[0],ret, "Can't get the blocksize from the device"
-- 
2.1.2

++++++ _service ++++++
--- /var/tmp/diff_new_pack.pN7CqD/_old  2015-05-10 10:47:18.000000000 +0200
+++ /var/tmp/diff_new_pack.pN7CqD/_new  2015-05-10 10:47:18.000000000 +0200
@@ -1,9 +1,9 @@
 <services>
   <service name="tar_scm" mode="disabled">
-    <param name="url">git://oss.oracle.com/git/ocfs2-tools.git</param>
+    <param name="url">https://github.com/markfasheh/ocfs2-tools.git</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="versionformat">1.8.3+git.%ct.%h</param>
+    <param name="versionformat">1.8.4</param>
     <param name="revision">master</param>
   </service>
 

++++++ ocfs2-tools-1.8.3+git.1418704844.65fac00.tar.gz -> 
ocfs2-tools-1.8.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/Config.make.in 
new/ocfs2-tools-1.8.4/Config.make.in
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/Config.make.in 2015-01-27 
10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/Config.make.in        2015-05-08 06:54:54.000000000 
+0200
@@ -81,6 +81,7 @@
 BUILD_OCFS2_CONTROLD = @BUILD_OCFS2_CONTROLD@
 BUILD_PCMK_SUPPORT = @BUILD_PCMK_SUPPORT@
 BUILD_CMAN_SUPPORT = @BUILD_CMAN_SUPPORT@
+BUILD_CMAP_SUPPORT = @BUILD_CMAP_SUPPORT@
 BUILD_FSDLM_SUPPORT = @BUILD_FSDLM_SUPPORT@
 CPG_LDFLAGS = @CPG_LDFLAGS@
 AIS_LDFLAGS = @AIS_LDFLAGS@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocfs2-tools-1.8.3+git.1418704844.65fac00/Makefile 
new/ocfs2-tools-1.8.4/Makefile
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/Makefile       2015-01-27 
10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/Makefile      2015-05-08 06:54:54.000000000 +0200
@@ -57,6 +57,7 @@
        CREDITS                                 \
        MAINTAINERS                             \
        README                                  \
+       README.O2CB                             \
        Config.make.in                          \
        Preamble.make                           \
        Postamble.make                          \
@@ -79,6 +80,7 @@
        vendor.guess                            \
        Makepdfs                                \
        documentation/samples/cluster.conf      \
+       documentation/users_guide.txt           \
        $(PKGCONFIG_SOURCES)                    \
        $(DEBIAN_FILES)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/configure.in 
new/ocfs2-tools-1.8.4/configure.in
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/configure.in   2015-01-27 
10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/configure.in  2015-05-08 06:54:54.000000000 +0200
@@ -9,7 +9,7 @@
 # Adjust these for the software version.
 MAJOR_VERSION=1
 MINOR_VERSION=8
-MICRO_VERSION=3
+MICRO_VERSION=4
 EXTRA_VERSION=
 
 DIST_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION
@@ -382,6 +382,25 @@
 fi
 AC_SUBST(BUILD_OCFS2_CONTROLD)
 
+LIBCMAP_FOUND=
+AC_CHECK_HEADER(corosync/cmap.h, LIBCMAP_FOUND=yes,
+  [AC_MSG_WARN([corosync/cmap.h not found, cmap support will not be built. 
Older api will be used])])
+AC_SUBST(LIBCMAP_FOUND)
+
+fsdlm_found=
+if test "x$LIBCMAP_FOUND" = "xyes"; then
+  AC_CHECK_LIB(cmap, cmap_initialize, cmap_found=yes)
+  if test "x$cmap_found" = "xyes"; then
+    AC_MSG_WARN([libcmap not found, cmap support will not be built. Older api 
will be used])
+  fi
+fi
+
+BUILD_CMAP_SUPPORT=
+if test "x$cmap_found" = "xyes"; then
+  BUILD_CMAP_SUPPORT=yes
+fi
+AC_SUBST(BUILD_CMAP_SUPPORT)
+
 BUILD_PCMK_SUPPORT=
 if test "x$pcmk_found" = "xyes" -a "x$BUILD_OCFS2_CONTROLD" = "xyes"; then
   BUILD_PCMK_SUPPORT=yes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/debugfs.ocfs2/Makefile 
new/ocfs2-tools-1.8.4/debugfs.ocfs2/Makefile
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/debugfs.ocfs2/Makefile 
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/debugfs.ocfs2/Makefile        2015-05-08 
06:54:54.000000000 +0200
@@ -33,6 +33,12 @@
 
 LIBOCFS2_LIBS = -L$(TOPDIR)/libocfs2 -locfs2
 LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb
+ifneq ($(BUILD_FSDLM_SUPPORT),)
+LIBO2CB_LIBS += -ldlm_lt
+endif
+ifneq ($(BUILD_CMAP_SUPPORT),)
+LIBO2CB_LIBS += -lcmap
+endif
 
 MANS = debugfs.ocfs2.8
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/debugfs.ocfs2/commands.c 
new/ocfs2-tools-1.8.4/debugfs.ocfs2/commands.c
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/debugfs.ocfs2/commands.c       
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/debugfs.ocfs2/commands.c      2015-05-08 
06:54:54.000000000 +0200
@@ -534,7 +534,6 @@
        int num, argc, c;
 
        for (argc = 0; (args[argc]); ++argc);
-       dev = strdup(args[1]);
        optind = 0;
        while ((c = getopt(argc, args, "is:")) != EOF) {
                switch (c) {
@@ -564,6 +563,7 @@
                return -1;
        }
 
+       dev = strdup(args[1]);
        ret = get_blocksize(dev, byte_off[s-1], &blksize, s);
        if (ret) {
                com_err(args[0],ret, "Can't get the blocksize from the device"
@@ -575,6 +575,7 @@
        *superblock = byte_off[s-1]/blksize;
        ret = 0;
 bail:
+       g_free(dev);
        return ret;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/debugfs.ocfs2/main.c 
new/ocfs2-tools-1.8.4/debugfs.ocfs2/main.c
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/debugfs.ocfs2/main.c   
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/debugfs.ocfs2/main.c  2015-05-08 06:54:54.000000000 
+0200
@@ -363,7 +363,7 @@
 static int get_logmode_sysfs(const char *path, const char *name)
 {
        char *logpath;
-       char *current_mask;
+       char *current_mask = NULL;
 
        logpath = g_strdup_printf(LOG_CTL_SYSFS_FORMAT, path, name);
        if (g_file_get_contents(logpath, &current_mask,
@@ -372,6 +372,7 @@
        }
        g_free(logpath);
 
+       g_free(current_mask);
        return 0;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/fsck.ocfs2/Makefile 
new/ocfs2-tools-1.8.4/fsck.ocfs2/Makefile
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/fsck.ocfs2/Makefile    
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/fsck.ocfs2/Makefile   2015-05-08 06:54:54.000000000 
+0200
@@ -14,6 +14,12 @@
 LIBO2DLM_DEPS = $(TOPDIR)/libo2dlm/libo2dlm.a
 LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb
 LIBO2CB_DEPS = $(TOPDIR)/libo2cb/libo2cb.a
+ifneq ($(BUILD_FSDLM_SUPPORT),)
+LIBO2CB_LIBS += -ldlm_lt
+endif
+ifneq ($(BUILD_CMAP_SUPPORT),)
+LIBO2CB_LIBS += -lcmap
+endif
 LIBTOOLS_INTERNAL_LIBS = -L$(TOPDIR)/libtools-internal -ltools-internal
 LIBTOOLS_INTERNAL_DEPS = $(TOPDIR)/libtools-internal/libtools-internal.a
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/fswreck/Makefile 
new/ocfs2-tools-1.8.4/fswreck/Makefile
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/fswreck/Makefile       
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/fswreck/Makefile      2015-05-08 06:54:54.000000000 
+0200
@@ -41,7 +41,11 @@
 LIBO2DLM_LIBS = -L$(TOPDIR)/libo2dlm -lo2dlm $(DL_LIBS)
 LIBO2DLM_DEPS = $(TOPDIR)/libo2dlm/libo2dlm.a
 
+ifneq ($(BUILD_FSDLM_SUPPORT),)
+LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb -ldlm_lt
+else
 LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb
+endif
 LIBO2CB_DEPS = $(TOPDIR)/libo2cb/libo2cb.a
 
 dist-subdircreate:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/include/o2cb/o2cb.h 
new/ocfs2-tools-1.8.4/include/o2cb/o2cb.h
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/include/o2cb/o2cb.h    
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/include/o2cb/o2cb.h   2015-05-08 06:54:54.000000000 
+0200
@@ -208,5 +208,6 @@
 errcode_t o2cb_control_node_down(const char *uuid, unsigned int nodeid);
 
 errcode_t o2cb_get_hb_ctl_path(char *buf, int count);
+errcode_t o2cb_setup_stack(char *stack_name);
 
 #endif  /* _O2CB_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/libo2cb/Makefile 
new/ocfs2-tools-1.8.4/libo2cb/Makefile
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/libo2cb/Makefile       
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/libo2cb/Makefile      2015-05-08 06:54:54.000000000 
+0200
@@ -11,6 +11,14 @@
 
 CFLAGS += -fPIC
 
+ifneq ($(BUILD_CMAP_SUPPORT),)
+DEFINES += -DHAVE_CMAP
+endif
+
+ifneq ($(BUILD_FSDLM_SUPPORT),)
+DEFINES += -DHAVE_FSDLM
+endif
+
 ifneq ($(OCFS2_DEBUG_EXE),)
 DEBUG_EXE_FILES = $(shell awk '/DEBUG_EXE/{if (k[FILENAME] == 0) {print 
FILENAME; k[FILENAME] = 1;}}' $(CFILES))
 DEBUG_EXE_PROGRAMS = $(addprefix debug_,$(subst .c,,$(DEBUG_EXE_FILES)))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/libo2cb/o2cb_abi.c 
new/ocfs2-tools-1.8.4/libo2cb/o2cb_abi.c
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/libo2cb/o2cb_abi.c     
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/libo2cb/o2cb_abi.c    2015-05-08 06:54:54.000000000 
+0200
@@ -29,6 +29,7 @@
 #include <sys/ioctl.h>
 #include <sys/ipc.h>
 #include <sys/sem.h>
+#include <sys/wait.h>
 #include <dirent.h>
 #include <fcntl.h>
 #include <unistd.h>
@@ -37,6 +38,12 @@
 #include <ctype.h>
 
 #include <linux/types.h>
+#ifdef HAVE_CMAP
+#include <corosync/cmap.h>
+#endif
+#ifdef HAVE_FSDLM
+#include <libdlm.h>
+#endif
 
 #include "o2cb/o2cb.h"
 #include "o2cb/o2cb_client_proto.h"
@@ -47,6 +54,7 @@
 #define LOCKING_PROTOCOL_FILE  "/sys/fs/ocfs2/max_locking_protocol"
 #define OCFS2_STACK_LABEL_LEN  4
 #define CONTROL_DEVICE         "/dev/misc/ocfs2_control"
+#define DLM_RECOVER_CALLBACK   "/sys/fs/ocfs2/dlm_recover_callback_support"
 
 static errcode_t o2cb_validate_cluster_name(struct o2cb_cluster_desc *desc);
 static errcode_t o2cb_validate_cluster_flags(struct o2cb_cluster_desc *desc,
@@ -143,6 +151,22 @@
        return ret;
 }
 
+static int write_single_line_file(char *filename, char *line, size_t count)
+{
+       ssize_t ret = 0;
+       FILE *f;
+
+       f = fopen(filename, "w");
+       if (f) {
+               if (fputs(line, f))
+                       ret = strlen(line);
+               fclose(f);
+       } else
+               ret = -errno;
+
+       return ret;
+}
+
 static ssize_t read_stack_file(char *line, size_t count)
 {
        return read_single_line_file(CLUSTER_STACK_FILE, line, count);
@@ -153,7 +177,9 @@
        ssize_t len;
        char line[100];
        errcode_t err = O2CB_ET_SERVICE_UNAVAILABLE;
+       int setup_performed = 0;
 
+redo:
        len = read_stack_file(line, sizeof(line));
        if (len > 0) {
                if (line[len - 1] == '\n') {
@@ -173,8 +199,11 @@
                        err = 0;
                }
        } else if (len == -ENOENT) {
-               current_stack = &classic_stack;
-               err = 0;
+               if (!setup_performed) {
+                       o2cb_setup_stack(OCFS2_CLASSIC_CLUSTER_STACK);
+                       setup_performed = 1;
+                       goto redo;
+               }
        }
 
        return err;
@@ -1381,6 +1410,26 @@
        char *argv[OCFS2_CONTROLD_MAXARGS + 1];
        char buf[OCFS2_CONTROLD_MAXLINE];
 
+#ifdef HAVE_FSDLM
+       uint32_t maj, min, pat;
+
+       if (strncmp(cluster->c_stack, OCFS2_PCMK_CLUSTER_STACK, 
OCFS2_STACK_LABEL_LEN))
+                       goto no_pcmk;
+
+       rc = dlm_kernel_version(&maj, &min, &pat);
+
+       if (rc < 0)
+               return O2CB_ET_SERVICE_UNAVAILABLE;
+
+       if (read_single_line_file(DLM_RECOVER_CALLBACK, buf, 3) > 0) {
+               /* Controld is not required */
+               if (maj < 6)
+                       return O2CB_ET_INTERNAL_FAILURE;
+               return 0;
+       }
+no_pcmk:
+#endif
+
        if (control_daemon_fd != -1) {
                /* fprintf(stderr, "Join already in progress!\n"); */
                err = O2CB_ET_INTERNAL_FAILURE;
@@ -1472,6 +1521,13 @@
        char *argv[OCFS2_CONTROLD_MAXARGS + 1];
        char buf[OCFS2_CONTROLD_MAXLINE];
 
+#ifdef HAVE_FSDLM
+       if (read_single_line_file(DLM_RECOVER_CALLBACK, buf, 3) > 0) {
+               /* Controld is not required */
+               return 0;
+       }
+#endif
+
        if (control_daemon_fd == -1) {
                /* fprintf(stderr, "Join not started!\n"); */
                err = O2CB_ET_SERVICE_UNAVAILABLE;
@@ -1542,6 +1598,13 @@
        char *argv[OCFS2_CONTROLD_MAXARGS + 1];
        char buf[OCFS2_CONTROLD_MAXLINE];
 
+#ifdef HAVE_FSDLM
+       if (read_single_line_file(DLM_RECOVER_CALLBACK, buf, 3) > 0) {
+               /* Controld is not required */
+               return 0;
+       }
+#endif
+
        if (control_daemon_fd != -1) {
                /* fprintf(stderr, "Join in progress!\n"); */
                err = O2CB_ET_INTERNAL_FAILURE;
@@ -1962,6 +2025,30 @@
        return o2cb_list_dir(path, clusters);
 }
 
+#ifdef HAVE_CMAP
+static errcode_t user_list_clusters(char ***clusters)
+{
+       cmap_handle_t handle;
+       char **list;
+       int rv;
+
+       rv = cmap_initialize(&handle);
+       if (rv != CS_OK)
+               return O2CB_ET_SERVICE_UNAVAILABLE;
+
+       /* We supply only one cluster_name */
+       list = (char **)malloc(sizeof(char *) * 2);
+       rv = cmap_get_string(handle, "totem.cluster_name", &list[0]);
+       if (rv != CS_OK) {
+               free(list);
+               return O2CB_ET_INTERNAL_FAILURE;
+       }
+
+       list[1] = NULL;
+       *clusters = list;
+       return 0;
+}
+#else
 static errcode_t user_list_clusters(char ***clusters)
 {
        errcode_t err = O2CB_ET_SERVICE_UNAVAILABLE;
@@ -2011,6 +2098,7 @@
 
        return err;
 }
+#endif
 
 errcode_t o2cb_list_clusters(char ***clusters)
 {
@@ -2516,3 +2604,92 @@
 
        return 0;
 }
+
+#define MODPROBE_COMMAND       "/sbin/modprobe"
+#define USER_KERNEL_MODULE     "ocfs2_stack_user"
+#define O2CB_KERNEL_MODULE     "ocfs2_stack_o2cb"
+
+static int perform_modprobe(char *module_name)
+{
+       pid_t child;
+       int child_status;
+
+       char *argv[3];
+
+       argv[0] = MODPROBE_COMMAND;
+       argv[1] = module_name;
+       argv[2] = NULL;
+
+       child = fork();
+       if (child == 0) {
+               execv(MODPROBE_COMMAND, argv);
+               /* If execv fails, we have a problem */
+               return -EINVAL;
+       } else
+               wait(&child_status);
+
+       return child_status;
+}
+
+errcode_t o2cb_setup_stack(char *stack_name)
+{
+       char line[64];
+       int modprobe_performed = 0, write_performed = 0;
+       errcode_t err = O2CB_ET_SERVICE_UNAVAILABLE;
+       int len;
+
+redo:
+       len = read_single_line_file(CLUSTER_STACK_FILE, line, sizeof(line));
+
+       if (len > 0) {
+               if (line[len - 1] == '\n') {
+                       line[len - 1] = '\0';
+                       len--;
+               }
+
+               if (len != OCFS2_STACK_LABEL_LEN) {
+                       err = O2CB_ET_INTERNAL_FAILURE;
+                       goto out;
+               }
+
+               if (!strncmp(line, stack_name, OCFS2_STACK_LABEL_LEN)) {
+                       err = 0;
+                       goto out;
+               }
+
+               if (!write_performed) {
+                       len = write_single_line_file(CLUSTER_STACK_FILE,
+                                       stack_name, strlen(stack_name));
+                       if (len < 0)
+                               goto out;
+                       write_performed = 1;
+                       goto redo;
+               }
+
+       } else if (len == -ENOENT) {
+               if (!modprobe_performed) {
+                       perform_modprobe("ocfs2");
+                       if ((!strncmp(stack_name, OCFS2_PCMK_CLUSTER_STACK,
+                                               OCFS2_STACK_LABEL_LEN)) ||
+                               (!strncmp(stack_name, OCFS2_CMAN_CLUSTER_STACK,
+                                               OCFS2_STACK_LABEL_LEN)))
+                               perform_modprobe(USER_KERNEL_MODULE);
+                       else if (!strncmp(stack_name, classic_stack.s_name,
+                                               OCFS2_STACK_LABEL_LEN))
+                               perform_modprobe(O2CB_KERNEL_MODULE);
+
+                       write_single_line_file(CLUSTER_STACK_FILE, stack_name,
+                                       OCFS2_STACK_LABEL_LEN);
+                       write_performed = 1;
+                       goto redo;
+               } else
+                       err = O2CB_ET_INTERNAL_FAILURE;
+       } else {
+               err = O2CB_ET_INTERNAL_FAILURE;
+               goto out;
+       }
+
+       err = 0;
+out:
+       return err;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/libocfs2/Makefile 
new/ocfs2-tools-1.8.4/libocfs2/Makefile
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/libocfs2/Makefile      
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/libocfs2/Makefile     2015-05-08 06:54:54.000000000 
+0200
@@ -9,7 +9,11 @@
 LIBO2DLM_LIBS = -L$(TOPDIR)/libo2dlm -lo2dlm $(DL_LIBS)
 LIBO2DLM_DEPS = $(TOPDIR)/libo2dlm/libo2dlm.a
 
+ifneq ($(BUILD_FSDLM_SUPPORT),)
+LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb -ldlm_lt
+else
 LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb
+endif
 LIBO2CB_DEPS = $(TOPDIR)/libo2cb/libo2cb.a
 
 CFLAGS += -fPIC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/listuuid/Makefile 
new/ocfs2-tools-1.8.4/listuuid/Makefile
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/listuuid/Makefile      
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/listuuid/Makefile     2015-05-08 06:54:54.000000000 
+0200
@@ -10,7 +10,11 @@
 LIBO2DLM_LIBS = -L$(TOPDIR)/libo2dlm -lo2dlm $(DL_LIBS)
 LIBO2DLM_DEPS = $(TOPDIR)/libo2dlm/libo2dlm.a
 
+ifneq ($(BUILD_FSDLM_SUPPORT),)
+LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb -ldlm_lt
+else
 LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb
+endif
 LIBO2CB_DEPS = $(TOPDIR)/libo2cb/libo2cb.a
 
 UNINST_PROGRAMS = listuuid
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/mkfs.ocfs2/Makefile 
new/ocfs2-tools-1.8.4/mkfs.ocfs2/Makefile
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/mkfs.ocfs2/Makefile    
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/mkfs.ocfs2/Makefile   2015-05-08 06:54:54.000000000 
+0200
@@ -10,6 +10,12 @@
 
 LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb
 LIBO2CB_DEPS = $(TOPDIR)/libo2cb/libo2cb.a
+ifneq ($(BUILD_CMAP_SUPPORT),)
+LIBO2CB_LIBS += -lcmap
+endif
+ifneq ($(BUILD_FSDLM_SUPPORT),)
+LIBO2CB_LIBS += -ldlm_lt
+endif
 
 LIBO2DLM_LIBS = -L$(TOPDIR)/libo2dlm -lo2dlm $(DL_LIBS)
 LIBO2DLM_DEPS = $(TOPDIR)/libo2dlm/libo2dlm.a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/mkfs.ocfs2/check.c 
new/ocfs2-tools-1.8.4/mkfs.ocfs2/check.c
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/mkfs.ocfs2/check.c     
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/mkfs.ocfs2/check.c    2015-05-08 06:54:54.000000000 
+0200
@@ -339,6 +339,15 @@
                goto nolock;
 
        if (!s->force) {
+               if (s->cluster_stack) {
+                       ret = o2cb_setup_stack(s->cluster_stack);
+                       if (ret) {
+                               com_err(s->progname, ret,
+                                       "while setting up stack\n");
+                               return -1;
+                       }
+               }
+
                ret = o2cb_init();
                if (ret) {
                        com_err(s->progname, ret,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/mount.ocfs2/Makefile 
new/ocfs2-tools-1.8.4/mount.ocfs2/Makefile
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/mount.ocfs2/Makefile   
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/mount.ocfs2/Makefile  2015-05-08 06:54:54.000000000 
+0200
@@ -12,6 +12,12 @@
 LIBO2DLM_DEPS = $(TOPDIR)/libo2dlm/libo2dlm.a
 LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb
 LIBO2CB_DEPS = $(TOPDIR)/libo2cb/libo2cb.a
+ifneq ($(BUILD_FSDLM_SUPPORT),)
+LIBO2CB_LIBS += -ldlm_lt
+endif
+ifneq ($(BUILD_CMAP_SUPPORT),)
+LIBO2CB_LIBS += -lcmap
+endif
 
 DEFINES = -DVERSION=\"$(VERSION)\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/mount.ocfs2/mount.ocfs2.c 
new/ocfs2-tools-1.8.4/mount.ocfs2/mount.ocfs2.c
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/mount.ocfs2/mount.ocfs2.c      
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/mount.ocfs2/mount.ocfs2.c     2015-05-08 
06:54:54.000000000 +0200
@@ -358,6 +358,12 @@
        if (verbose)
                printf("device=%s\n", mo.dev);
 
+       ret = o2cb_setup_stack((char 
*)OCFS2_RAW_SB(fs->fs_super)->s_cluster_info.ci_stack);
+       if (ret) {
+               com_err(progname, ret, "while setting up stack\n");
+               goto bail;
+       }
+
        if (clustered) {
                ret = o2cb_init();
                if (ret) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/mounted.ocfs2/Makefile 
new/ocfs2-tools-1.8.4/mounted.ocfs2/Makefile
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/mounted.ocfs2/Makefile 
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/mounted.ocfs2/Makefile        2015-05-08 
06:54:54.000000000 +0200
@@ -10,6 +10,12 @@
 
 LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb
 LIBO2CB_DEPS = $(TOPDIR)/libo2cb/libo2cb.a
+ifneq ($(BUILD_FSDLM_SUPPORT),)
+LIBO2CB_LIBS += -ldlm_lt
+endif
+ifneq ($(BUILD_CMAP_SUPPORT),)
+LIBO2CB_LIBS += -lcmap
+endif
 
 LIBTOOLS_INTERNAL_LIBS = -L$(TOPDIR)/libtools-internal -ltools-internal
 LIBTOOLS_INTERNAL_DEPS = $(TOPDIR)/libtools-internal/libtools-internal.a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/o2cb_ctl/Makefile 
new/ocfs2-tools-1.8.4/o2cb_ctl/Makefile
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/o2cb_ctl/Makefile      
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/o2cb_ctl/Makefile     2015-05-08 06:54:54.000000000 
+0200
@@ -13,8 +13,14 @@
 LIBOCFS2_LIBS = -L$(TOPDIR)/libocfs2 -locfs2
 LIBOCFS2_DEPS = $(TOPDIR)/libocfs2/libocfs2.a
 
-LIBO2CB_LIBS  = -L$(TOPDIR)/libo2cb -lo2cb
+LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb
 LIBO2CB_DEPS = $(TOPDIR)/libo2cb/libo2cb.a
+ifneq ($(BUILD_FSDLM_SUPPORT),)
+LIBO2CB_LIBS += -ldlm_lt
+endif
+ifneq ($(BUILD_CMAP_SUPPORT),)
+LIBO2CB_LIBS += -lcmap
+endif
 
 LIBO2DLM_LIBS = -L$(TOPDIR)/libo2dlm -lo2dlm $(DL_LIBS)
 LIBO2DLM_DEPS = $(TOPDIR)/libo2dlm/libo2dlm.a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/o2image/Makefile 
new/ocfs2-tools-1.8.4/o2image/Makefile
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/o2image/Makefile       
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/o2image/Makefile      2015-05-08 06:54:54.000000000 
+0200
@@ -13,7 +13,11 @@
 LIBO2DLM_LIBS = -L$(TOPDIR)/libo2dlm -lo2dlm
 LIBO2DLM_DEPS = $(TOPDIR)/libo2dlm/libo2dlm.a
 
+ifneq ($(BUILD_FSDLM_SUPPORT),)
+LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb -ldlm_lt
+else
 LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb
+endif
 LIBO2CB_DEPS = $(TOPDIR)/libo2cb/libo2cb.a
 
 sbindir = $(root_sbindir)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/ocfs2_controld/Makefile 
new/ocfs2-tools-1.8.4/ocfs2_controld/Makefile
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/ocfs2_controld/Makefile        
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/ocfs2_controld/Makefile       2015-05-08 
06:54:54.000000000 +0200
@@ -18,7 +18,7 @@
 endif
 
 INCLUDES = -I$(TOPDIR)/include -I. $(PCMK_INCLUDES)
-LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb
+LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb -ldlm_lt
 LIBO2CB_DEPS = $(TOPDIR)/libo2cb/libo2cb.a
 LIBOCFS2_LIBS = -L$(TOPDIR)/libocfs2 -locfs2
 LIBOCFS2_DEPS = $(TOPDIR)/libocfs2/libocfs2.a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/ocfs2_hb_ctl/Makefile 
new/ocfs2-tools-1.8.4/ocfs2_hb_ctl/Makefile
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/ocfs2_hb_ctl/Makefile  
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/ocfs2_hb_ctl/Makefile 2015-05-08 06:54:54.000000000 
+0200
@@ -12,6 +12,12 @@
 LIBO2DLM_DEPS = $(TOPDIR)/libo2dlm/libo2dlm.a
 LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb
 LIBO2CB_DEPS = $(TOPDIR)/libo2cb/libo2cb.a
+ifneq ($(BUILD_FSDLM_SUPPORT),)
+LIBO2CB_LIBS += -ldlm_lt
+endif
+ifneq ($(BUILD_CMAP_SUPPORT),)
+LIBO2CB_LIBS += -lcmap
+endif
 
 ifndef OCFS2_DYNAMIC_CTL
 LDFLAGS += -static
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/ocfs2cdsl/Makefile 
new/ocfs2-tools-1.8.4/ocfs2cdsl/Makefile
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/ocfs2cdsl/Makefile     
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/ocfs2cdsl/Makefile    2015-05-08 06:54:54.000000000 
+0200
@@ -9,7 +9,11 @@
 LIBO2DLM_DEPS = $(TOPDIR)/libo2dlm/libo2dlm.a
 
 LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb
+ifneq ($(BUILD_FSDLM_SUPPORT),)
+LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb -ldlm_lt
+else
 LIBO2CB_DEPS = $(TOPDIR)/libo2cb/libo2cb.a
+endif
 
 sbindir = $(root_sbindir)
 SBIN_PROGRAMS = ocfs2cdsl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/ocfs2console/ocfs2interface/Makefile
 new/ocfs2-tools-1.8.4/ocfs2console/ocfs2interface/Makefile
--- 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/ocfs2console/ocfs2interface/Makefile
   2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/ocfs2console/ocfs2interface/Makefile  2015-05-08 
06:54:54.000000000 +0200
@@ -14,7 +14,11 @@
 LIBO2DLM_LIBS = -L$(TOPDIR)/libo2dlm -lo2dlm $(DL_LIBS)
 LIBO2DLM_DEPS = $(TOPDIR)/libo2dlm/libo2dlm.a
 
+ifneq ($(BUILD_FSDLM_SUPPORT),)
+LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb -ldlm_lt
+else
 LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb
+endif
 LIBO2CB_DEPS = $(TOPDIR)/libo2cb/libo2cb.a
 
 ifdef HAVE_BLKID
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ocfs2-tools-1.8.3+git.1418704844.65fac00/tunefs.ocfs2/Makefile 
new/ocfs2-tools-1.8.4/tunefs.ocfs2/Makefile
--- old/ocfs2-tools-1.8.3+git.1418704844.65fac00/tunefs.ocfs2/Makefile  
2015-01-27 10:04:16.000000000 +0100
+++ new/ocfs2-tools-1.8.4/tunefs.ocfs2/Makefile 2015-05-08 06:54:54.000000000 
+0200
@@ -13,6 +13,12 @@
 
 LIBO2CB_LIBS = -L$(TOPDIR)/libo2cb -lo2cb
 LIBO2CB_DEPS = $(TOPDIR)/libo2cb/libo2cb.a
+ifneq ($(BUILD_FSDLM_SUPPORT),)
+LIBO2CB_LIBS += -ldlm_lt
+endif
+ifneq ($(BUILD_CMAP_SUPPORT),)
+LIBO2CB_LIBS += -lcmap
+endif
 
 UNINST_LIBRARIES = libocfs2ne.a
 


Reply via email to