Hello community, here is the log from the commit of package drbd for openSUSE:Factory checked in at 2018-01-25 12:41:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/drbd (Old) and /work/SRC/openSUSE:Factory/.drbd.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "drbd" Thu Jan 25 12:41:29 2018 rev:65 rq:569415 version:9.0.12+git.7eb4aef Changes: -------- --- /work/SRC/openSUSE:Factory/drbd/drbd.changes 2018-01-02 16:35:06.122187703 +0100 +++ /work/SRC/openSUSE:Factory/.drbd.new/drbd.changes 2018-01-25 12:41:32.383864789 +0100 @@ -1,0 +2,9 @@ +Wed Jan 24 03:44:56 UTC 2018 - [email protected] + +- bsc#1077318, Update to 9.0.12 +* Fix a race condition in the device_open code path that can cause an + internal counter to go negative +- Update to 9.0.11 +* Fix bug in compat code: Without this fix large bios are not split. + +------------------------------------------------------------------- Old: ---- drbd-9.0.10+git.b7994aa1.tar.bz2 New: ---- drbd-9.0.12+git.7eb4aef.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ drbd.spec ++++++ --- /var/tmp/diff_new_pack.zdhWTJ/_old 2018-01-25 12:41:33.135829683 +0100 +++ /var/tmp/diff_new_pack.zdhWTJ/_new 2018-01-25 12:41:33.139829496 +0100 @@ -24,7 +24,7 @@ %endif Name: drbd -Version: 9.0.10+git.b7994aa1 +Version: 9.0.12+git.7eb4aef Release: 0 Summary: DRBD driver for Linux License: GPL-2.0+ ++++++ _service ++++++ --- /var/tmp/diff_new_pack.zdhWTJ/_old 2018-01-25 12:41:33.187827255 +0100 +++ /var/tmp/diff_new_pack.zdhWTJ/_new 2018-01-25 12:41:33.187827255 +0100 @@ -7,10 +7,10 @@ To update to a new release, change "revision" to the desired git commit hash and bump "version" if necessary - <param name="version">9.0.10</param> + <param name="version">9.0.12</param> --> - <param name="versionformat">9.0.10+git.%h</param> - <param name="revision">b7994aa164158d944115dac2800e5c27ab2cd2c9</param> + <param name="versionformat">9.0.12+git.%h</param> + <param name="revision">7eb4aef4abbfba8ebb1afbcc30574df74db0063e</param> </service> <service name="recompress" mode="disabled"> ++++++ drbd-9.0.10+git.b7994aa1.tar.bz2 -> drbd-9.0.12+git.7eb4aef.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drbd-9.0.10+git.b7994aa1/.gitmodules new/drbd-9.0.12+git.7eb4aef/.gitmodules --- old/drbd-9.0.10+git.b7994aa1/.gitmodules 1970-01-01 01:00:00.000000000 +0100 +++ new/drbd-9.0.12+git.7eb4aef/.gitmodules 2018-01-24 04:48:18.161011514 +0100 @@ -0,0 +1,10 @@ +[submodule "drbd/drbd-kernel-compat"] + path = drbd/drbd-kernel-compat + url = git://github.com/LINBIT/drbd-kernel-compat.git + update = rebase + fetchRecurseSubmodules = true +[submodule "drbd-headers"] + path = drbd-headers + url = git://github.com/LINBIT/drbd-headers.git + update = rebase + fetchRecurseSubmodules = true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drbd-9.0.10+git.b7994aa1/ChangeLog new/drbd-9.0.12+git.7eb4aef/ChangeLog --- old/drbd-9.0.10+git.b7994aa1/ChangeLog 2017-12-22 13:07:34.000000000 +0100 +++ new/drbd-9.0.12+git.7eb4aef/ChangeLog 2018-01-24 04:48:18.161011514 +0100 @@ -2,6 +2,18 @@ ------ For even more detail, use "git log" or visit http://git.drbd.org/. +9.0.12-1 (api:genl2/proto:86-112/transport:14) +-------- +* Fix a race condition in the device_open code path that can cause an + internal counter to go negative; It only triggered on Ubuntu/Debian + systems since the udev there uses FMODE_NDELAY when opening the + devices; The effect was that such a device fails attempts to remove it + +9.0.11-1 (api:genl2/proto:86-112/transport:14) +-------- + * Fix bug in compat code: Without this fix large bios are not split. + The user visible behavior is then a hanging DRBD. + 9.0.10-1 (api:genl2/proto:86-112/transport:14) -------- * Fix resync of two secondary nodes in the presence of a 3rd node that is diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drbd-9.0.10+git.b7994aa1/README.md new/drbd-9.0.12+git.7eb4aef/README.md --- old/drbd-9.0.10+git.b7994aa1/README.md 2017-12-22 13:07:34.000000000 +0100 +++ new/drbd-9.0.12+git.7eb4aef/README.md 2018-01-24 04:48:18.162011514 +0100 @@ -16,4 +16,9 @@ # Contributing Development is coordinated via [mailing lists](http://lists.linbit.com). Currently, we do not intend to use -github issue tracking. +github issue tracking/github PRs. + +# Releases +Releases generated by git tags on github are snapshots of the git repository at the given time. You most +likely do not want to use these. They might lack things such as generated man pages, the `configure` script, +and other generated files. If you want to build from a tarball, use the ones [provided by us](https://www.linbit.com/en/drbd-community/drbd-download/). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drbd-9.0.10+git.b7994aa1/debian/changelog new/drbd-9.0.12+git.7eb4aef/debian/changelog --- old/drbd-9.0.10+git.b7994aa1/debian/changelog 2017-12-22 13:07:34.000000000 +0100 +++ new/drbd-9.0.12+git.7eb4aef/debian/changelog 2018-01-24 04:48:18.162011514 +0100 @@ -1,3 +1,15 @@ +drbd (9.0.12-1) unstable; urgency=medium + + * New upstream release. + + -- Philipp Reisner <[email protected]> Mon, 22 Jan 2018 13:24:51 +0100 + +drbd (9.0.11-1) unstable; urgency=medium + + * New upstream release. + + -- Roland Kammerer <[email protected]> Tue, 09 Jan 2018 13:13:07 +0100 + drbd (9.0.10-1) unstable; urgency=low * New upstream release. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drbd-9.0.10+git.b7994aa1/drbd/Kbuild new/drbd-9.0.12+git.7eb4aef/drbd/Kbuild --- old/drbd-9.0.10+git.b7994aa1/drbd/Kbuild 2017-12-22 13:07:34.000000000 +0100 +++ new/drbd-9.0.12+git.7eb4aef/drbd/Kbuild 2018-01-24 04:48:18.162011514 +0100 @@ -150,4 +150,4 @@ buildinfo="reproducible build, `date -u -d@${SOURCE_DATE_EPOCH} "+%F %T"`" ; \ fi ; \ echo -e "\t\t\" $$buildinfo\";\n}"; \ - mv --force [email protected] $@ + mv -f [email protected] $@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drbd-9.0.10+git.b7994aa1/drbd/drbd-kernel-compat/README.md new/drbd-9.0.12+git.7eb4aef/drbd/drbd-kernel-compat/README.md --- old/drbd-9.0.10+git.b7994aa1/drbd/drbd-kernel-compat/README.md 1970-01-01 01:00:00.000000000 +0100 +++ new/drbd-9.0.12+git.7eb4aef/drbd/drbd-kernel-compat/README.md 2018-01-24 04:48:27.055011536 +0100 @@ -0,0 +1,19 @@ +# drbd-kernel-compat + +This repository contains the kernel backwards compatibility tests and wrappers for DRBD. + +DRBD, developed by [LINBIT](https://www.linbit.com), is a software that allows RAID 1 functionality over +TCP/IP and RDMA for GNU/Linux. DRBD is a block device which is designed to build high availability clusters and +software defined storage by providing a virtual shared device which keeps disks in nodes synchronised using +TCP/IP or RDMA. This simulates RAID 1 but avoids the use of uncommon hardware (shared SCSI buses or Fibre Channel). + +# Using DRBD +Please read the user-guide provided at [docs.linbit.com](https://docs.linbit.com). + +# Support +For further products and professional support, please +[contact](http://links.linbit.com/support) us. + +# Contributing +Development is coordinated via [mailing lists](http://lists.linbit.com). Currently, we do not intend to use +github issue tracking. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drbd-9.0.10+git.b7994aa1/drbd/drbd-kernel-compat/drbd_wrappers.h new/drbd-9.0.12+git.7eb4aef/drbd/drbd-kernel-compat/drbd_wrappers.h --- old/drbd-9.0.10+git.b7994aa1/drbd/drbd-kernel-compat/drbd_wrappers.h 2017-12-22 13:07:34.000000000 +0100 +++ new/drbd-9.0.12+git.7eb4aef/drbd/drbd-kernel-compat/drbd_wrappers.h 2018-01-24 04:48:27.055011536 +0100 @@ -1242,7 +1242,6 @@ } while (0) #endif -/* #ifndef COMPAT_HAVE_LIST_ENTRY_RCU */ #ifndef list_entry_rcu #ifndef rcu_dereference_raw /* see c26d34a rcu: Add lockdep-enabled variants of rcu_dereference() */ @@ -1809,12 +1808,12 @@ } #endif -#if !(defined(COMPAT_HAVE_AHASH_REQEUST_ON_STACK) && \ +#if !(defined(COMPAT_HAVE_AHASH_REQUEST_ON_STACK) && \ defined(COMPAT_HAVE_SHASH_DESC_ON_STACK) && \ defined COMPAT_HAVE_SHASH_DESC_ZERO) #include <crypto/hash.h> -#ifndef COMPAT_HAVE_AHASH_REQEUST_ON_STACK +#ifndef COMPAT_HAVE_AHASH_REQUEST_ON_STACK #define AHASH_REQUEST_ON_STACK(name, ahash) \ char __##name##_desc[sizeof(struct ahash_request) + \ crypto_ahash_reqsize(ahash)] CRYPTO_MINALIGN_ATTR; \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drbd-9.0.10+git.b7994aa1/drbd/drbd-kernel-compat/tests/have_kmalloc_array.c new/drbd-9.0.12+git.7eb4aef/drbd/drbd-kernel-compat/tests/have_kmalloc_array.c --- old/drbd-9.0.10+git.b7994aa1/drbd/drbd-kernel-compat/tests/have_kmalloc_array.c 1970-01-01 01:00:00.000000000 +0100 +++ new/drbd-9.0.12+git.7eb4aef/drbd/drbd-kernel-compat/tests/have_kmalloc_array.c 2018-01-24 04:48:27.057011536 +0100 @@ -0,0 +1,18 @@ +commit a99e525b7341df6d84977e9bb47959311c94cfad +Author: Lars Ellenberg <[email protected]> +Date: Wed Aug 16 11:10:28 2017 +0200 + + compat: kmalloc_array() + +diff --git a/compat/tests/have_kmalloc_array.c b/compat/tests/have_kmalloc_array.c +new file mode 100644 +index 0000000..288f928 +--- /dev/null ++++ b/compat/tests/have_kmalloc_array.c +@@ -0,0 +1,6 @@ ++#include <linux/slab.h> ++ ++void test(void) ++{ ++ kmalloc_array(0, 0, 0); ++} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drbd-9.0.10+git.b7994aa1/drbd/drbd_int.h new/drbd-9.0.12+git.7eb4aef/drbd/drbd_int.h --- old/drbd-9.0.10+git.b7994aa1/drbd/drbd_int.h 2017-12-22 13:07:34.000000000 +0100 +++ new/drbd-9.0.12+git.7eb4aef/drbd/drbd_int.h 2018-01-24 04:48:18.164011514 +0100 @@ -767,6 +767,7 @@ /* to be used in drbd_post_work() */ TRY_BECOME_UP_TO_DATE, /* try to become D_UP_TO_DATE */ R_UNREGISTERED, + DOWN_IN_PROGRESS, }; enum which_state { NOW, OLD = NOW, NEW }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drbd-9.0.10+git.b7994aa1/drbd/drbd_main.c new/drbd-9.0.12+git.7eb4aef/drbd/drbd_main.c --- old/drbd-9.0.10+git.b7994aa1/drbd/drbd_main.c 2017-12-22 13:07:34.000000000 +0100 +++ new/drbd-9.0.12+git.7eb4aef/drbd/drbd_main.c 2018-01-24 04:48:18.165011514 +0100 @@ -2496,11 +2496,14 @@ IOC_ABORT = 2, }; -static bool inc_open_count(struct drbd_device *device, fmode_t mode) +static enum ioc_rv inc_open_count(struct drbd_device *device, fmode_t mode) { struct drbd_resource *resource = device->resource; enum ioc_rv r = mode & FMODE_NDELAY ? IOC_ABORT : IOC_SLEEP; + if (test_bit(DOWN_IN_PROGRESS, &resource->flags)) + return IOC_ABORT; + spin_lock_irq(&resource->req_lock); if (!resource->remote_state_change) { r = IOC_OK; @@ -2563,10 +2566,9 @@ goto out; } - if (test_bit(UNREGISTERED, &device->flags)) + if (test_bit(UNREGISTERED, &device->flags)) { rv = -ENODEV; - - if (mode & FMODE_WRITE) { + } else if (mode & FMODE_WRITE) { if (resource->role[NOW] != R_PRIMARY) rv = -EROFS; } else /* READ access only */ { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drbd-9.0.10+git.b7994aa1/drbd/drbd_nl.c new/drbd-9.0.12+git.7eb4aef/drbd/drbd_nl.c --- old/drbd-9.0.10+git.b7994aa1/drbd/drbd_nl.c 2017-12-22 13:07:34.000000000 +0100 +++ new/drbd-9.0.12+git.7eb4aef/drbd/drbd_nl.c 2018-01-24 04:48:18.165011514 +0100 @@ -5585,6 +5585,7 @@ resource = adm_ctx.resource; mutex_lock(&resource->adm_mutex); + set_bit(DOWN_IN_PROGRESS, &resource->flags); /* demote */ retcode = drbd_set_role(resource, R_SECONDARY, false, adm_ctx.reply_skb); if (retcode < SS_SUCCESS) { @@ -5633,6 +5634,7 @@ /* holding a reference to resource in adm_crx until drbd_adm_finish() */ mutex_unlock(&resource->conf_update); out: + clear_bit(DOWN_IN_PROGRESS, &resource->flags); mutex_unlock(&resource->adm_mutex); drbd_adm_finish(&adm_ctx, info, retcode); return 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drbd-9.0.10+git.b7994aa1/drbd/drbd_req.c new/drbd-9.0.12+git.7eb4aef/drbd/drbd_req.c --- old/drbd-9.0.10+git.b7994aa1/drbd/drbd_req.c 2017-12-22 13:07:34.000000000 +0100 +++ new/drbd-9.0.12+git.7eb4aef/drbd/drbd_req.c 2018-01-24 04:48:18.168011514 +0100 @@ -2137,8 +2137,8 @@ * f5fe1b51905d blk: Ensure users for current->bio_list can see the full list. */ #undef COMPAT_NEED_MAKE_REQUEST_RECURSION -#ifndef COMPAT_HAVE_BLK_QUEUE_SPLIT_QUEUE_BIO -#if defined(COMPAT_HAVE_BLK_QUEUE_SPLIT_QUEUE_BIO_BIOSET) +#ifndef COMPAT_HAVE_BLK_QUEUE_SPLIT_Q_BIO +#if defined(COMPAT_HAVE_BLK_QUEUE_SPLIT_Q_BIO_BIOSET) #define blk_queue_split(q,b) blk_queue_split(q,b,q->bio_split) # if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,0) # define COMPAT_NEED_MAKE_REQUEST_RECURSION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drbd-9.0.10+git.b7994aa1/drbd/linux/drbd_config.h new/drbd-9.0.12+git.7eb4aef/drbd/linux/drbd_config.h --- old/drbd-9.0.10+git.b7994aa1/drbd/linux/drbd_config.h 2017-12-22 13:07:34.000000000 +0100 +++ new/drbd-9.0.12+git.7eb4aef/drbd/linux/drbd_config.h 2018-01-24 04:48:18.170011514 +0100 @@ -32,7 +32,7 @@ /* End of external module for 2.6.33 stuff */ -#define REL_VERSION "9.0.10-1" +#define REL_VERSION "9.0.12-1" #define PRO_VERSION_MIN 86 #define PRO_VERSION_MAX 112 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/drbd-9.0.10+git.b7994aa1/drbd-kernel.spec new/drbd-9.0.12+git.7eb4aef/drbd-kernel.spec --- old/drbd-9.0.10+git.b7994aa1/drbd-kernel.spec 2017-12-22 13:07:34.000000000 +0100 +++ new/drbd-9.0.12+git.7eb4aef/drbd-kernel.spec 2018-01-24 04:48:18.162011514 +0100 @@ -1,6 +1,6 @@ Name: drbd-kernel Summary: Kernel driver for DRBD -Version: 9.0.10 +Version: 9.0.12 Release: 1%{?dist} # always require a suitable userland @@ -103,6 +103,12 @@ rm -rf %{buildroot} %changelog +* Mon Jan 22 2018 Philipp Reisner <[email protected]> - 9.0.12-1 +- New upstream release. + +* Tue Jan 09 2018 Roland Kammerer <[email protected]> - 9.0.11-1 +- New upstream release. + * Fri Dec 22 2017 Roland Kammerer <[email protected]> - 9.0.10-1 - New upstream release. ++++++ drbd_git_revision ++++++ --- /var/tmp/diff_new_pack.zdhWTJ/_old 2018-01-25 12:41:33.591808394 +0100 +++ /var/tmp/diff_new_pack.zdhWTJ/_new 2018-01-25 12:41:33.595808208 +0100 @@ -1 +1 @@ -GIT-hash: b7994aa164158d944115dac2800e5c27ab2cd2c9 +GIT-hash: 7eb4aef4abbfba8ebb1afbcc30574df74db0063e
