commit sbd for openSUSE:Factory
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 <ygao@suse.com> + +- 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 <ygao@suse.com> + +- 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);
participants (1)
-
root