Hello community,

here is the log from the commit of package ocfs2-tools for openSUSE:Factory 
checked in at 2017-03-13 15:33:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ocfs2-tools (Old)
 and      /work/SRC/openSUSE:Factory/.ocfs2-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ocfs2-tools"

Mon Mar 13 15:33:38 2017 rev:64 rq:478931 version:1.8.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/ocfs2-tools/ocfs2-tools.changes  2016-04-28 
16:59:14.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ocfs2-tools.new/ocfs2-tools.changes     
2017-03-13 15:35:06.928438335 +0100
@@ -1,0 +2,20 @@
+Thu Mar  9 12:36:30 UTC 2017 - [email protected]
+
+- Update ocfs2-tools.tar.gz to upstream v1.8.5 (fate#322956)
+- Drop patches (merged upstream):
+  - 0001-libo2dlm-Close-file-description-after-use.patch
+  - 0002-debugfs.ocfs2-Fix-a-bug-in-process_open_args.patch
+  - 0003-o2cb-add-build-scripts-for-rhel7.patch
+  - 0004-add-systemd-support.patch
+  - 0005-do-not-write-sysconfig-if-status-not-changed.patch
+  - 0006-o2cb-mount-debugfs-when-load-config.patch
+  - 0009-o2cb-fix-systemd-o2cb.service-failure.patch
+- Add patches (from SLE12SP2):
+  + force-debug.patch
+  + extra-debug.patch
+  + bug-805764-ocfs2-controld.patch
+  + bnc804707-reduce-RR-priority.patch
+  + 0004-mkfs.ocfs2-Abort-if-cluster-information-is-not-detec.patch
+  + 0007-Improve-error-message-if-DLM-service-is-unavailable.patch
+
+-------------------------------------------------------------------

Old:
----
  0001-libo2dlm-Close-file-description-after-use.patch
  0002-debugfs.ocfs2-Fix-a-bug-in-process_open_args.patch
  0003-o2cb-add-build-scripts-for-rhel7.patch
  0004-add-systemd-support.patch
  0005-do-not-write-sysconfig-if-status-not-changed.patch
  0006-o2cb-mount-debugfs-when-load-config.patch
  0009-o2cb-fix-systemd-o2cb.service-failure.patch
  ocfs2-tools-1.8.4.tar.gz

New:
----
  0004-mkfs.ocfs2-Abort-if-cluster-information-is-not-detec.patch
  0007-Improve-error-message-if-DLM-service-is-unavailable.patch
  bnc804707-reduce-RR-priority.patch
  bug-805764-ocfs2-controld.patch
  extra-debug.patch
  force-debug.patch
  ocfs2-tools-1.8.5.tar.gz

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

Other differences:
------------------
++++++ ocfs2-tools.spec ++++++
--- /var/tmp/diff_new_pack.Idpfh1/_old  2017-03-13 15:35:08.224255211 +0100
+++ /var/tmp/diff_new_pack.Idpfh1/_new  2017-03-13 15:35:08.228254646 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package ocfs2-tools
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 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,7 +17,7 @@
 
 
 Name:           ocfs2-tools
-Version:        1.8.4
+Version:        1.8.5
 Release:        0
 Summary:        Oracle Cluster File System 2 Core Tools
 License:        GPL-2.0+
@@ -27,6 +27,8 @@
 Source1:        o2cb.ocf
 Source2:        reflink.tar.bz2
 Patch001:       auto-setup-pcmk-stack-as-default-if-no-stack-is-setup.patch
+Patch101:       force-debug.patch
+Patch102:       extra-debug.patch
 Patch103:       debug-ocfs2_hb_ctl.patch
 Patch105:       bug-470741-debug_start_failures.patch
 Patch106:       ocfs2-devel.diff
@@ -36,15 +38,12 @@
 Patch204:       dont-use-var-lock-subsys.patch
 Patch205:       ocfs2-tools-kernel33.patch
 Patch206:       ocfs2-tools-resource.patch
-Patch301:       0001-libo2dlm-Close-file-description-after-use.patch
-Patch302:       0002-debugfs.ocfs2-Fix-a-bug-in-process_open_args.patch
-Patch401:       0003-o2cb-add-build-scripts-for-rhel7.patch
-Patch402:       0004-add-systemd-support.patch 
-Patch403:       0005-do-not-write-sysconfig-if-status-not-changed.patch
-Patch404:       0006-o2cb-mount-debugfs-when-load-config.patch
+Patch212:       bug-805764-ocfs2-controld.patch
+Patch213:       bnc804707-reduce-RR-priority.patch
+Patch225:       0004-mkfs.ocfs2-Abort-if-cluster-information-is-not-detec.patch
+Patch228:       0007-Improve-error-message-if-DLM-service-is-unavailable.patch
 Patch405:       0007-vendor-Add-vendor-files-for-sles12.patch
 Patch406:       0008-ocfs2-tools-add-systemd-support-fix.patch
-Patch407:       0009-o2cb-fix-systemd-o2cb.service-failure.patch
 Patch501:       bnc#96864-ocfs2console-fix-starting-failure.patch
 
 BuildRequires:  autoconf
@@ -141,6 +140,8 @@
 %prep
 %setup -q -a 2
 %patch001 -p1
+%patch101 -p1
+%patch102 -p1
 %patch103 -p1
 %patch105 -p1
 %patch106 -p1
@@ -150,15 +151,12 @@
 %patch204 -p1
 %patch205 -p1
 %patch206 -p1
-%patch301 -p1
-%patch302 -p1
-%patch401 -p1
-%patch402 -p1
-%patch403 -p1
-%patch404 -p1
+%patch212 -p1
+%patch213 -p1
+%patch225 -p1
+%patch228 -p1
 %patch405 -p1
 %patch406 -p1
-%patch407 -p1
 %patch501 -p1
 
 %build

++++++ 0004-mkfs.ocfs2-Abort-if-cluster-information-is-not-detec.patch ++++++
>From f7ea242d2bf76c71cfe7fd9555d44c2486610486 Mon Sep 17 00:00:00 2001
From: Goldwyn Rodrigues <[email protected]>
Date: Fri, 27 Dec 2013 10:01:33 -0600
Subject: [PATCH] mkfs.ocfs2: Abort if cluster information is not detected

---
 mkfs.ocfs2/check.c | 19 +++++++++++++++----
 mkfs.ocfs2/mkfs.h  |  2 +-
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/mkfs.ocfs2/check.c b/mkfs.ocfs2/check.c
index f05dc72..75f0e7b 100644
--- a/mkfs.ocfs2/check.c
+++ b/mkfs.ocfs2/check.c
@@ -33,7 +33,7 @@ int is_classic_stack(char *stack_name)
 }
 
 /* For ocfs2_fill_cluster_information().  Errors are to be ignored */
-void cluster_fill(char **stack_name, char **cluster_name, uint8_t *stack_flags)
+errcode_t cluster_fill(char **stack_name, char **cluster_name, uint8_t 
*stack_flags)
 {
        errcode_t err;
        struct o2cb_cluster_desc cluster;
@@ -44,11 +44,11 @@ void cluster_fill(char **stack_name, char **cluster_name, 
uint8_t *stack_flags)
 
        err = o2cb_init();
        if (err)
-               return;
+               goto out;
 
        err = o2cb_running_cluster_desc(&cluster);
        if (err)
-               return;
+               goto out;
 
        if (cluster.c_stack) {
                /*
@@ -59,6 +59,8 @@ void cluster_fill(char **stack_name, char **cluster_name, 
uint8_t *stack_flags)
                *cluster_name = cluster.c_cluster;
                *stack_flags = cluster.c_flags;
        }
+out:
+       return err;
 }
 
 /* For ocfs2_fill_cluster_information().  Errors are to be ignored */
@@ -132,6 +134,7 @@ int ocfs2_fill_cluster_information(State *s)
        uint8_t user_stack_flags, o2cb_stack_flags, disk_stack_flags;
        int clusterinfo = 0, userspace = 0;
        int ret = -1;
+       errcode_t err;
 
        if (s->mount == MOUNT_LOCAL)
                return 0;
@@ -139,7 +142,15 @@ int ocfs2_fill_cluster_information(State *s)
        *user_value = *o2cb_value = *disk_value = '\0';
 
        /* get currently active cluster stack */
-       cluster_fill(&o2cb_stack_name, &o2cb_cluster_name, &o2cb_stack_flags);
+       err = cluster_fill(&o2cb_stack_name, &o2cb_cluster_name, 
&o2cb_stack_flags);
+       if (err && !s->cluster_stack) {
+               com_err(s->progname, 0, "Could not determine cluster "
+                       "information.\nEither load the correct kernel module"
+                       ", set the cluster_stack and start cluster "
+                       "services, or provide --cluster-stack and "
+                       "--cluster-name command line arguments.\n");
+               return -1;
+       }
 
        /* get cluster stack configured on disk */
        disk_fill(s->device_name, &disk_stack_name, &disk_cluster_name,
diff --git a/mkfs.ocfs2/mkfs.h b/mkfs.ocfs2/mkfs.h
index 13b4fb5..ca2004c 100644
--- a/mkfs.ocfs2/mkfs.h
+++ b/mkfs.ocfs2/mkfs.h
@@ -243,6 +243,6 @@ struct _State {
 };
 
 int is_classic_stack(char *stack_name);
-void cluster_fill(char **stack_name, char **cluster_name, uint8_t 
*stack_flags);
+errcode_t cluster_fill(char **stack_name, char **cluster_name, uint8_t 
*stack_flags);
 int ocfs2_fill_cluster_information(State *s);
 int ocfs2_check_volume(State *s);
-- 
1.8.4

++++++ 0007-Improve-error-message-if-DLM-service-is-unavailable.patch ++++++
>From 15891da74943b0f878b486741ff67507b9bd6177 Mon Sep 17 00:00:00 2001
From: Goldwyn Rodrigues <[email protected]>
Date: Fri, 23 May 2014 11:41:24 -0500
Subject: [PATCH 7/7] Improve error message if DLM service is unavailable

o2dlm_initialize_fsdlm to return O2DLM_ET_SERVICE_UNAVAILABLE if
DLM service is not running (ENOTCONN).
---
 libo2dlm/o2dlm.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libo2dlm/o2dlm.c b/libo2dlm/o2dlm.c
index dbc642b..c0fbb21 100644
--- a/libo2dlm/o2dlm.c
+++ b/libo2dlm/o2dlm.c
@@ -1035,6 +1035,9 @@ static errcode_t o2dlm_initialize_fsdlm(const char 
*domain_name,
                        case EPERM:
                                ret = O2DLM_ET_BAD_DOMAIN_DIR;
                                break;
+                       case ENOTCONN:
+                               ret = O2DLM_ET_SERVICE_UNAVAILABLE;
+                               break;
                        default:
                                ret = O2DLM_ET_INTERNAL_FAILURE;
                                break;
-- 
1.8.4.5

++++++ _service ++++++
--- /var/tmp/diff_new_pack.Idpfh1/_old  2017-03-13 15:35:08.296245038 +0100
+++ /var/tmp/diff_new_pack.Idpfh1/_new  2017-03-13 15:35:08.296245038 +0100
@@ -3,7 +3,7 @@
     <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.4</param>
+    <param name="versionformat">1.8.5</param>
     <param name="revision">master</param>
   </service>
 

++++++ auto-setup-pcmk-stack-as-default-if-no-stack-is-setup.patch ++++++
--- /var/tmp/diff_new_pack.Idpfh1/_old  2017-03-13 15:35:08.308243343 +0100
+++ /var/tmp/diff_new_pack.Idpfh1/_new  2017-03-13 15:35:08.308243343 +0100
@@ -1,8 +1,8 @@
-Index: ocfs2-tools-1.8.4/libo2cb/o2cb_abi.c
+Index: ocfs2-tools-1.8.5/libo2cb/o2cb_abi.c
 ===================================================================
 --- a/libo2cb/o2cb_abi.c
 +++ b/libo2cb/o2cb_abi.c
-@@ -200,7 +200,7 @@ redo:
+@@ -201,7 +201,7 @@ redo:
                }
        } else if (len == -ENOENT) {
                if (!setup_performed) {
@@ -10,4 +10,4 @@
 +                      o2cb_setup_stack(OCFS2_PCMK_CLUSTER_STACK);
                        setup_performed = 1;
                        goto redo;
-               }
+               } else {

++++++ bnc804707-reduce-RR-priority.patch ++++++
Index: ocfs2-tools/ocfs2_controld/main.c
===================================================================
--- ocfs2-tools.orig/ocfs2_controld/main.c
+++ ocfs2-tools/ocfs2_controld/main.c
@@ -1233,7 +1233,7 @@ static void set_scheduler(void)
        struct sched_param sched_param;
        int rv;
 
-       rv = sched_get_priority_max(SCHED_RR);
+       rv = sched_get_priority_min(SCHED_RR);
        if (rv != -1) {
                sched_param.sched_priority = rv;
                rv = sched_setscheduler(0, SCHED_RR, &sched_param);
++++++ bug-805764-ocfs2-controld.patch ++++++
Index: ocfs2-tools/ocfs2_controld/main.c
===================================================================
--- ocfs2-tools.orig/ocfs2_controld/main.c
+++ ocfs2-tools/ocfs2_controld/main.c
@@ -948,6 +948,68 @@ static void cpg_joined(int first)
        }
 }
 
+static int find_minors(void)
+{
+       FILE *fl;
+       char name[256];
+       uint32_t number;
+       int c;
+       int control_minor = 0;
+
+       if (!(fl = fopen("/proc/misc", "r"))) {
+               log_error("failed to open /proc/misc: %s", strerror(errno));
+               goto out;
+       }
+
+       while (!feof(fl)) {
+               if (fscanf(fl, "%d %255s\n", &number, &name[0]) == 2) {
+                       if (!strcmp(name, "ocfs2_control"))
+                               control_minor = number;
+               } else do {
+                       c = fgetc(fl);
+               } while (c != EOF && c != '\n');
+
+               if (control_minor)
+                       break;
+       }
+       fclose(fl);
+
+       if (!control_minor)
+               log_error("Is ocfs2 missing from kernel? No misc devices 
found");
+out:
+       return control_minor;
+}
+
+static int find_udev_device(const char *path, uint32_t minor)
+{
+       struct stat st;
+       int i;
+
+       for (i = 0; i < 10; i++) {
+               if (stat(path, &st) == 0 && minor(st.st_rdev) == minor)
+                       return 0;
+               sleep(1);
+       }
+
+       log_error("cannot find device %s with minor %d", path, minor);
+       return -1;
+}
+
+static int setup_misc_device(void)
+{
+       int rv = -1;
+       int control_minor = find_minors();
+
+       if (control_minor) {
+               rv = find_udev_device("/dev/misc/ocfs2_control", control_minor);
+               if (rv < 0)
+                       return rv;
+               log_debug("found /dev/misc/ocfs2_control %u", control_minor);
+       }
+
+       return rv;
+}
+
 static int loop(void)
 {
        int rv, i, poll_timeout = -1;
@@ -968,6 +1030,10 @@ static int loop(void)
        if (rv < 0)
                goto out;
 
+       rv = setup_misc_device();
+       if (rv < 0)
+               goto out;
+
        rv = setup_cpg(cpg_joined);
        if (rv < 0)
                goto out;
++++++ debug-ocfs2_hb_ctl.patch ++++++
--- /var/tmp/diff_new_pack.Idpfh1/_old  2017-03-13 15:35:08.348237690 +0100
+++ /var/tmp/diff_new_pack.Idpfh1/_new  2017-03-13 15:35:08.352237125 +0100
@@ -87,7 +87,7 @@
        struct hb_ctl_options hbo = {
                .action = HB_ACTION_UNKNOWN,
        };
-       char hbuuid[33];
+       char *hbuuid = NULL;
 +      char tmp[1024];
 +
 +      openlog("ocfs2_hb_ctl", LOG_CONS|LOG_NDELAY|LOG_PID, LOG_KERN);

++++++ extra-debug.patch ++++++
---
 ocfs2_controld/ckpt.c           |    2 -
 ocfs2_controld/main.c           |   53 ++++++++++++++++++++++++++++++++++------
 ocfs2_controld/mount.c          |    2 +
 ocfs2_controld/ocfs2_controld.h |    1 
 ocfs2_controld/pacemaker.c      |    2 -
 5 files changed, 51 insertions(+), 9 deletions(-)

Index: ocfs2-tools/ocfs2_controld/ckpt.c
===================================================================
--- ocfs2-tools.orig/ocfs2_controld/ckpt.c      2012-08-24 10:02:19.000000000 
-0500
+++ ocfs2-tools/ocfs2_controld/ckpt.c   2012-08-24 10:14:42.000000000 -0500
@@ -413,7 +413,7 @@ static int call_section_read(struct ckpt
 
                /* -ENOENT is a clean error for the caller to handle */
                if (rc == -ENOENT) {
-                       log_debug("Checkpoint \"%.*s\" does not have a "
+                       log_error("Checkpoint \"%.*s\" does not have a "
                                  "section named \"%s\"",
                                  handle->ch_name.length,
                                  handle->ch_name.value, name);
Index: ocfs2-tools/ocfs2_controld/main.c
===================================================================
--- ocfs2-tools.orig/ocfs2_controld/main.c      2012-08-24 10:02:19.000000000 
-0500
+++ ocfs2-tools/ocfs2_controld/main.c   2012-08-24 10:14:42.000000000 -0500
@@ -74,7 +74,7 @@ static int time_to_die = 0;
 static int sigpipe_write_fd;
 
 char *prog_name;
-int daemon_debug_opt;
+int daemon_debug_opt = 0;
 char daemon_debug_buf[1024];
 char dump_buf[DUMP_SIZE];
 int dump_point;
@@ -1030,8 +1030,7 @@ static void lockfile(void)
        fd = open(LOCKFILE_NAME, O_CREAT|O_WRONLY,
                  S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
        if (fd < 0) {
-               fprintf(stderr, "cannot open/create lock file %s\n",
-                       LOCKFILE_NAME);
+               log_error("cannot open/create lock file %s", LOCKFILE_NAME);
                exit(EXIT_FAILURE);
        }
 
@@ -1042,13 +1041,13 @@ static void lockfile(void)
 
        error = fcntl(fd, F_SETLK, &lock);
        if (error) {
-               fprintf(stderr, "ocfs2_controld is already running\n");
+               log_error("ocfs2_controld is already running");
                exit(EXIT_FAILURE);
        }
 
        error = ftruncate(fd, 0);
        if (error) {
-               fprintf(stderr, "cannot clear lock file %s\n", LOCKFILE_NAME);
+               log_error("cannot clear lock file %s", LOCKFILE_NAME);
                exit(EXIT_FAILURE);
        }
 
@@ -1056,7 +1055,7 @@ static void lockfile(void)
 
        error = write(fd, buf, strlen(buf));
        if (error <= 0) {
-               fprintf(stderr, "cannot write lock file %s\n", LOCKFILE_NAME);
+               log_error("cannot write lock file %s", LOCKFILE_NAME);
                exit(EXIT_FAILURE);
        }
 }
@@ -1066,13 +1065,13 @@ static void daemonize(void)
        int fd;
        pid_t pid = fork();
        if (pid < 0) {
+               log_error("main: cannot fork");
                perror("main: cannot fork");
                exit(EXIT_FAILURE);
        }
        if (pid)
                exit(EXIT_SUCCESS);
        setsid();
-       chdir("/");
        umask(0);
        close(0);
        close(1);
@@ -1143,6 +1142,7 @@ static void decode_arguments(int argc, c
                        break;
 
                default:
+                       log_error("unknown option: %c\n", optchar);
                        fprintf(stderr, "unknown option: %c\n", optchar);
                        exit(EXIT_FAILURE);
                        break;
@@ -1180,12 +1180,53 @@ static void set_scheduler(void)
        }
 }
 
+#include <sys/time.h>
+#include <sys/resource.h>
+
+static int
+hack_enable_coredumps(void)
+{
+       int rc;
+       struct rlimit rlim;
+       int doenable = 1;
+
+       if ((rc = getrlimit(RLIMIT_CORE, &rlim)) < 0) {
+               int errsave = errno;
+               log_error("Cannot get current core limit value. %d", errsave);
+               errno = errsave;
+               return rc;
+       }
+       if (rlim.rlim_max == 0 && geteuid() == 0) {
+               rlim.rlim_max = RLIM_INFINITY;
+       }
+
+       rlim.rlim_cur = (doenable ? rlim.rlim_max : 0);
+
+       if (doenable && rlim.rlim_max == 0) {
+               log_error("Not possible to enable core dumps (rlim_max is 0)");
+       }
+
+       if ((rc = setrlimit(RLIMIT_CORE, &rlim)) < 0) {
+               int errsave = errno;
+               log_error("Unable to enable core dumps: %d", errsave);
+               errno = errsave;
+               return rc;
+       }
+       chdir("/var/lib/openais");
+       log_debug("Core dumps enabled: /var/lib/openais");
+       return 0;
+}
+
 int main(int argc, char **argv)
 {
        errcode_t err;
        prog_name = argv[0];
        const char *stack = NULL;
 
+       decode_arguments(argc, argv);
+
+       hack_enable_coredumps();
+
        init_mounts();
 
        initialize_o2cb_error_table();
@@ -1201,13 +1242,11 @@ int main(int argc, char **argv)
                return 1;
        }
        if (strcmp(stack, stackname)) {
-               fprintf(stderr, "%s: This daemon supports the \"%s\" stack, but 
the \"%s\" stack is in use\n",
-                       prog_name, stackname, stack);
+               log_error("%s: This daemon supports the \"%s\" stack, but the 
\"%s\" stack is in use",
+                         prog_name, stackname, stack);
                return 1;
        }
 
-       decode_arguments(argc, argv);
-
        if (!daemon_debug_opt)
                daemonize();
 
Index: ocfs2-tools/ocfs2_controld/mount.c
===================================================================
--- ocfs2-tools.orig/ocfs2_controld/mount.c     2012-08-24 10:02:19.000000000 
-0500
+++ ocfs2-tools/ocfs2_controld/mount.c  2012-08-24 10:14:42.000000000 -0500
@@ -176,6 +176,8 @@ static void notify_mount_client(struct m
        else
                mg->mg_mount_notified = 1;
 
+       log_debug("Notified client: %d", mg->mg_mount_notified);
+
        /*
         * XXX If we failed to notify the client, what can we do?  I'm
         * guessing that our main loop will get POLLHUP and we'll clean
Index: ocfs2-tools/ocfs2_controld/ocfs2_controld.h
===================================================================
--- ocfs2-tools.orig/ocfs2_controld/ocfs2_controld.h    2012-08-24 
10:14:40.000000000 -0500
+++ ocfs2-tools/ocfs2_controld/ocfs2_controld.h 2012-08-24 10:14:42.000000000 
-0500
@@ -60,6 +60,7 @@ do { \
 #define log_error(fmt, args...) \
 do { \
        log_debug(fmt, ##args); \
+       fprintf(stderr, fmt "\n", ##args); \
        syslog(LOG_ERR, fmt, ##args); \
 } while (0)
 
++++++ force-debug.patch ++++++
---
 ocfs2_controld/ocfs2_controld.h |    7 +++++++
 1 file changed, 7 insertions(+)

Index: ocfs2_controld/ocfs2_controld.h
===================================================================
--- a/ocfs2_controld/ocfs2_controld.h.orig      2008-10-26 18:10:50.000000000 
+0100
+++ b/ocfs2_controld/ocfs2_controld.h   2009-03-10 22:22:52.719197000 +0100
@@ -44,12 +44,19 @@ extern void daemon_dump_save(void);
 
 #define log_debug(fmt, args...) \
 do { \
+       syslog(LOG_DEBUG, fmt, ##args); \
        snprintf(daemon_debug_buf, 1023, "%ld %s@%d: " fmt "\n", \
                 time(NULL), __FUNCTION__, __LINE__, ##args); \
        if (daemon_debug_opt) fprintf(stderr, "%s", daemon_debug_buf); \
        daemon_dump_save(); \
 } while (0)
 
+#define log_info(fmt, args...) \
+do { \
+       log_debug(fmt, ##args); \
+       syslog(LOG_INFO, fmt, ##args); \
+} while (0)
+
 #define log_error(fmt, args...) \
 do { \
        log_debug(fmt, ##args); \
++++++ ocfs2-tools-1.8.4.tar.gz -> ocfs2-tools-1.8.5.tar.gz ++++++
++++ 3597 lines of diff (skipped)


Reply via email to