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 - nwang@suse.com
+
+- 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 Mon, 22 Jan 2018 13:24:51 +0100
+
+drbd (9.0.11-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Roland Kammerer 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 $@.new $@
+ mv -f $@.new $@
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
-#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
+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
++
++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 - 9.0.12-1
+- New upstream release.
+
+* Tue Jan 09 2018 Roland Kammerer - 9.0.11-1
+- New upstream release.
+
* Fri Dec 22 2017 Roland Kammerer - 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