Hello community,

here is the log from the commit of package sbd for openSUSE:Factory checked in 
at 2019-07-08 15:10:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sbd (Old)
 and      /work/SRC/openSUSE:Factory/.sbd.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sbd"

Mon Jul  8 15:10:41 2019 rev:29 rq:713616 version:1.4.0+20190514.e9be8d9

Changes:
--------
--- /work/SRC/openSUSE:Factory/sbd/sbd.changes  2019-04-04 14:13:42.149336265 
+0200
+++ /work/SRC/openSUSE:Factory/.sbd.new.4615/sbd.changes        2019-07-08 
15:10:43.275327599 +0200
@@ -1,0 +2,14 @@
+Tue May 14 12:09:07 UTC 2019 - Yan Gao <[email protected]>
+
+- Update to version 1.4.0+20190514.e9be8d9:
+- sbd-inquisitor: Avoid flooding logs with messages that hint the 
default/configured timeout action (bsc#1134496)
+
+-------------------------------------------------------------------
+Tue Apr 30 09:57:01 UTC 2019 - Yan Gao <[email protected]>
+
+- Update to version 1.4.0+20190416.5e3283c:
+- sbd-inquisitor: overhaul device-list-parser
+- sbd-inquisitor: free timeout action on bail out
+- sbd-md: prevent unrealistic overflow on sector io calc
+
+-------------------------------------------------------------------

Old:
----
  sbd-1.4.0+20190326.c38c5e6.tar.xz

New:
----
  sbd-1.4.0+20190514.e9be8d9.tar.xz

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

Other differences:
------------------
++++++ sbd.spec ++++++
--- /var/tmp/diff_new_pack.ras8tg/_old  2019-07-08 15:10:44.547328820 +0200
+++ /var/tmp/diff_new_pack.ras8tg/_new  2019-07-08 15:10:44.547328820 +0200
@@ -13,7 +13,7 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
@@ -23,7 +23,7 @@
 %endif
 
 Name:           sbd
-Version:        1.4.0+20190326.c38c5e6
+Version:        1.4.0+20190514.e9be8d9
 Release:        0
 Summary:        Storage-based death
 License:        GPL-2.0-or-later

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.ras8tg/_old  2019-07-08 15:10:44.591328862 +0200
+++ /var/tmp/diff_new_pack.ras8tg/_new  2019-07-08 15:10:44.591328862 +0200
@@ -1,6 +1,6 @@
 <servicedata>
   <service name="tar_scm">
     <param name="url">https://github.com/ClusterLabs/sbd.git</param>
-    <param 
name="changesrevision">79b778debfee5b4ab2d099b2bfc7385f45597f70</param>
+    <param 
name="changesrevision">13d85f249b34e17eccf5ecb7527134c65fcf25a0</param>
   </service>
 </servicedata>
\ No newline at end of file

++++++ sbd-1.4.0+20190326.c38c5e6.tar.xz -> sbd-1.4.0+20190514.e9be8d9.tar.xz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sbd-1.4.0+20190326.c38c5e6/src/sbd-common.c 
new/sbd-1.4.0+20190514.e9be8d9/src/sbd-common.c
--- old/sbd-1.4.0+20190326.c38c5e6/src/sbd-common.c     2019-03-26 
11:38:35.000000000 +0100
+++ new/sbd-1.4.0+20190514.e9be8d9/src/sbd-common.c     2019-05-14 
14:00:48.000000000 +0200
@@ -568,13 +568,13 @@
 #define IOPRIO_PRIO_DATA(mask)  ((mask) & IOPRIO_PRIO_MASK)
 #define IOPRIO_PRIO_VALUE(class, data)  (((class) << IOPRIO_CLASS_SHIFT) | 
data)
 
-static unsigned char
+static void
 sbd_stack_hogger(unsigned char * inbuf, int kbytes)
 {
     unsigned char buf[1024];
 
     if(kbytes <= 0) {
-        return HOG_CHAR;
+        return;
     }
 
     if (inbuf == NULL) {
@@ -584,10 +584,10 @@
     }
 
     if (kbytes > 0) {
-        return sbd_stack_hogger(buf, kbytes-1);
-    } else {
-        return buf[sizeof(buf)-1];
+        sbd_stack_hogger(buf, kbytes-1);
     }
+
+    return;
 }
 
 static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sbd-1.4.0+20190326.c38c5e6/src/sbd-inquisitor.c 
new/sbd-1.4.0+20190514.e9be8d9/src/sbd-inquisitor.c
--- old/sbd-1.4.0+20190326.c38c5e6/src/sbd-inquisitor.c 2019-03-26 
11:38:35.000000000 +0100
+++ new/sbd-1.4.0+20190514.e9be8d9/src/sbd-inquisitor.c 2019-05-14 
14:00:48.000000000 +0200
@@ -780,56 +780,56 @@
 int
 parse_device_line(const char *line)
 {
-    int lpc = 0;
-    int last = 0;
-    int max = 0;
+    size_t lpc = 0;
+    size_t last = 0;
+    size_t max = 0;
     int found = 0;
+    bool skip_space = true;
+    int space_run = 0;
 
-    if(line) {
-        max = strlen(line);
+    if (!line) {
+        return 0;
     }
 
-    if (max <= 0) {
-        return found;
-    }
+    max = strlen(line);
 
-    cl_log(LOG_DEBUG, "Processing %d bytes: [%s]", max, line);
-    /* Skip initial whitespace */
-    for (lpc = 0; lpc <= max && isspace(line[lpc]); lpc++) {
-        last = lpc + 1;
-    }
+    cl_log(LOG_DEBUG, "Processing %d bytes: [%s]", (int) max, line);
 
-    /* Now the actual content */
     for (lpc = 0; lpc <= max; lpc++) {
-        int a_space = isspace(line[lpc]);
-
-        if (a_space && lpc < max && isspace(line[lpc + 1])) {
-            /* fast-forward to the end of the spaces */
+        if (isspace(line[lpc])) {
+            if (skip_space) {
+                last = lpc + 1;
+            } else {
+                space_run++;
+            }
+            continue;
+        }
+        skip_space = false;
+        if (line[lpc] == ';' || line[lpc] == 0) {
+            int rc = 0;
+            char *entry = calloc(1, 1 + lpc - last);
 
-        } else if (a_space || line[lpc] == ';' || line[lpc] == 0) {
-            int rc = 1;
-            char *entry = NULL;
-
-            if (lpc > last) {
-                entry = calloc(1, 1 + lpc - last);
-                if (!entry) {
-                    fprintf(stderr, "heap allocation failed parsing 
device-line.\n");
-                    exit(1);
-                }
+            if (entry) {
                 rc = sscanf(line + last, "%[^;]", entry);
+            } else {
+                fprintf(stderr, "Heap allocation failed parsing 
device-line.\n");
+                exit(1);
             }
 
             if (rc != 1) {
-                cl_log(LOG_WARNING, "Could not parse (%d %d): %s", last, lpc, 
line + last);
+                cl_log(LOG_WARNING, "Could not parse: '%s'", line + last);
             } else {
+                entry[strlen(entry)-space_run] = '\0';
                 cl_log(LOG_DEBUG, "Adding '%s'", entry);
                 recruit_servant(entry, 0);
                 found++;
             }
 
             free(entry);
+            skip_space = true;
             last = lpc + 1;
         }
+        space_run = 0;
     }
     return found;
 }
@@ -890,7 +890,7 @@
             int devices = parse_device_line(value);
             if(devices < 1) {
                 fprintf(stderr, "Invalid device line: %s\n", value);
-               exit_status = -2;
+                exit_status = -2;
                 goto out;
             }
 #else
@@ -1088,7 +1088,8 @@
                        break;
                case 'h':
                        usage();
-                       return (0);
+                       goto out;
+                       break;
                default:
                        exit_status = -2;
                        goto out;
@@ -1174,8 +1175,6 @@
                        goto out;
                }
        }
-       cl_log(LOG_NOTICE, "%s flush + writing \'%c\' to sysrq on timeout",
-               do_flush?"Doing":"Skipping", timeout_sysrq_char);
 
 #if SUPPORT_SHARED_DISK
        if (strcmp(argv[optind], "create") == 0) {
@@ -1237,10 +1236,15 @@
                         recruit_servant("cluster", 0);
                 }
 
+                cl_log(LOG_NOTICE, "%s flush + write \'%c\' to sysrq in case 
of timeout",
+                       do_flush?"Do":"Skip", timeout_sysrq_char);
                 exit_status = inquisitor();
         }
         
   out:
+       if (timeout_action) {
+                               free(timeout_action);
+       }
        if (exit_status < 0) {
                if (exit_status == -2) {
                        usage();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sbd-1.4.0+20190326.c38c5e6/src/sbd-md.c 
new/sbd-1.4.0+20190514.e9be8d9/src/sbd-md.c
--- old/sbd-1.4.0+20190326.c38c5e6/src/sbd-md.c 2019-03-26 11:38:35.000000000 
+0100
+++ new/sbd-1.4.0+20190514.e9be8d9/src/sbd-md.c 2019-05-14 14:00:48.000000000 
+0200
@@ -162,9 +162,9 @@
 
        memset(&st->io, 0, sizeof(struct iocb));
        if (rw) {
-               io_prep_pwrite(&st->io, st->devfd, data, sector_size, 
sector_size * sector);
+               io_prep_pwrite(&st->io, st->devfd, data, sector_size, (long 
long) sector_size * sector);
        } else {
-               io_prep_pread(&st->io, st->devfd, data, sector_size, 
sector_size * sector);
+               io_prep_pread(&st->io, st->devfd, data, sector_size, (long 
long) sector_size * sector);
        }
 
        if (io_submit(st->ioctx, 1, ios) != 1) {
@@ -373,7 +373,6 @@
        struct sector_header_s  *s_header;
        struct sector_node_s    *s_node;
        struct sector_mbox_s    *s_mbox;
-       struct stat             s;
        char                    uuid[37];
        int                     i;
        int                     rc = 0;
@@ -394,10 +393,6 @@
        uuid_generate(s_header->uuid);
        uuid_unparse_lower(s_header->uuid, uuid);
 
-       fstat(st->devfd, &s);
-       /* printf("st_size = %ld, st_blksize = %ld, st_blocks = %ld\n",
-                       s.st_size, s.st_blksize, s.st_blocks); */
-
        cl_log(LOG_INFO, "Creating version %d.%d header on device %d (uuid: 
%s)",
                        s_header->version, s_header->minor_version,
                        st->devfd, uuid);


Reply via email to