Hello community,

here is the log from the commit of package drbd for openSUSE:Factory checked in 
at 2020-09-21 17:27:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/drbd (Old)
 and      /work/SRC/openSUSE:Factory/.drbd.new.4249 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "drbd"

Mon Sep 21 17:27:05 2020 rev:87 rq:835378 version:9.0.25~0+git.bd41626d

Changes:
--------
--- /work/SRC/openSUSE:Factory/drbd/drbd.changes        2020-06-11 
10:05:50.103380280 +0200
+++ /work/SRC/openSUSE:Factory/.drbd.new.4249/drbd.changes      2020-09-21 
17:32:55.084435224 +0200
@@ -1,0 +2,38 @@
+Fri Sep 18 07:38:21 UTC 2020 - nick wang <[email protected]>
+
+- bsc#1175257, update to 9.0.25-0rc1
+ * fix a race condition between receiving UUIDs and finishing a resync
+   that can lead to a false-positive split-brain detection later on
+ * fix access after free of peer_req objects, that only happened when
+   a resync target node is paused sync source at the same time
+ * fix abortion of local state changes in case they can not proceed due
+   to loss of connection
+ * fix corner cases with reconciliation resync and parallel promote
+ * fix an issue establishing a connection when the multipath feature is
+   used to connect to a stacked resource without a dedicated service IP
+ * fix sometimes a peer-disk state to another resync-target staying Outdated
+   after two resyncs from the same sync source node finish
+ * fix an (unlikely) deadlock while establishing a connection
+ * deactivate the kref_debug code, it has performance implicatios
+ * Introduce the "disconnected" hander; it receives the last connection
+   state in the evnironment variable DRBD_CSTATE
+- Changes of drbd-9.0.24-1
+ * fix deadlock when connecting drbd-9 to drbd-8.4 and the drbd-9
+   side becomes sync-source
+ * fix an issue with 3 (or more) node configurations; with a diskless node
+   and two storage nodes; if one of the storage nodes was hard rebooted
+   and came back and the diskless got primary and did not issue write
+   requests and the returning storage node established a connection with
+   the surviving storage node first, DRBD failed to upgrade the disk
+   state to UpToDate after the resync
+ * detect split-brain situations also when both nodes are primary;
+   this is how it was in drbd-8.4; up to now drbd-9 did not realize
+   the split-brain since it complains about the not allowed dual
+   primary first; for this change a new protocol version was necessary
+ * verified it compiles with Linux 5.7
+- Add compatible patches to kernel v5.8.0
+  Add patch compat_remove_include_vermagic.patch
+  Add patch compat_remove_kernel_setsockopt.patch
+  Add patch compat_remove_pgprot_88dca4c.patch
+
+-------------------------------------------------------------------

Old:
----
  drbd-9.0.23~1+git.d16bfab7.tar.bz2

New:
----
  compat_remove_include_vermagic.patch
  compat_remove_kernel_setsockopt.patch
  compat_remove_pgprot_88dca4c.patch
  drbd-9.0.25~0+git.bd41626d.tar.bz2

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

Other differences:
------------------
++++++ drbd.spec ++++++
--- /var/tmp/diff_new_pack.6kN7hj/_old  2020-09-21 17:33:04.488442042 +0200
+++ /var/tmp/diff_new_pack.6kN7hj/_new  2020-09-21 17:33:04.492442045 +0200
@@ -24,7 +24,7 @@
 %endif
 %endif
 Name:           drbd
-Version:        9.0.23~1+git.d16bfab7
+Version:        9.0.25~0+git.bd41626d
 Release:        0
 Summary:        Linux driver for the "Distributed Replicated Block Device"
 License:        GPL-2.0-or-later
@@ -37,7 +37,9 @@
 Patch1:         fix-resync-finished-with-syncs-have-bits-set.patch
 Patch2:         rely-on-sb-handlers.patch
 Patch3:         drbd-fix-zero-metadata-limit-by-page-size-misaligned.patch
-#In 61ff72f401680(v5.5-rc2), pr_warning is removed
+Patch4:         compat_remove_pgprot_88dca4c.patch
+Patch5:         compat_remove_include_vermagic.patch
+Patch6:         compat_remove_kernel_setsockopt.patch
 Patch99:        suse-coccinelle.patch
 #https://github.com/openSUSE/rpmlint-checks/blob/master/KMPPolicyCheck.py
 BuildRequires:  coccinelle >= 1.0.8
@@ -74,6 +76,9 @@
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
 %patch99 -p1
 
 mkdir source

++++++ _service ++++++
--- /var/tmp/diff_new_pack.6kN7hj/_old  2020-09-21 17:33:04.544442083 +0200
+++ /var/tmp/diff_new_pack.6kN7hj/_new  2020-09-21 17:33:04.548442086 +0200
@@ -9,9 +9,9 @@
 
     This will download branch first instead of tag.
     <param name="revision">drbd-9.0</param>
-    <param name="version">9.0.23~1</param>
+    <param name="version">9.0.25~0</param>
 -->
-    <param name="versionformat">9.0.23~1+git.%h</param>
+    <param name="versionformat">9.0.25~0+git.%h</param>
     <param name="revision">drbd-9.0</param>
   </service>
 

++++++ compat_remove_include_vermagic.patch ++++++
[   11s] In file included from 
/home/abuild/rpmbuild/BUILD/drbd-9.0.24~1+git.17730ea3/default/drbd_main.c:19:
[   11s] /usr/src/linux-5.8.0-1/include/linux/vermagic.h:6:2: error: #error 
"This header can be included from kernel/module.c or *.mod.c only"
[   11s]     6 | #error "This header can be included from kernel/module.c or 
*.mod.c only"
[   11s]       |  ^~~~~
[   11s]   CC [M]  
/home/abuild/rpmbuild/BUILD/drbd-9.0.24~1+git.17730ea3/default/drbd_strings.o

diff -Naur drbd-9.0.24~1+git.17730ea3.orig/drbd/drbd_main.c 
drbd-9.0.24~1+git.17730ea3/drbd/drbd_main.c
--- drbd-9.0.24~1+git.17730ea3.orig/drbd/drbd_main.c    2020-08-13 
14:22:17.895201728 +0800
+++ drbd-9.0.24~1+git.17730ea3/drbd/drbd_main.c 2020-08-13 14:44:14.849369576 
+0800
@@ -16,7 +16,6 @@
 #define pr_fmt(fmt)    KBUILD_MODNAME ": " fmt
 
 #include <linux/module.h>
-#include <linux/vermagic.h>
 #include <linux/jiffies.h>
 #include <linux/drbd.h>
 #include <linux/uaccess.h>
++++++ compat_remove_kernel_setsockopt.patch ++++++
kernel_setsockopt removed in cb8e59cc

[   13s] 
/home/abuild/rpmbuild/BUILD/drbd-9.0.24~1+git.17730ea3/default/drbd_transport_tcp.c:
 In function 'dtt_nodelay':
[   13s] 
/home/abuild/rpmbuild/BUILD/drbd-9.0.24~1+git.17730ea3/default/drbd_transport_tcp.c:158:9:
 error: implicit declaration of funct
ion 'kernel_setsockopt'; did you mean 'kernel_getsockname'? 
[-Werror=implicit-function-declaration]
[   13s]   158 |  (void) kernel_setsockopt(socket, SOL_TCP, TCP_NODELAY, (char 
*)&val, sizeof(val));
[   13s]       |         ^~~~~~~~~~~~~~~~~                                      
                                                        [   13s]       |        
 kernel_getsockname
[   14s] cc1: some warnings being treated as errors

diff -Naur 
drbd-9.0.24~1+git.17730ea3.orig/drbd/drbd-kernel-compat/have_kernel_setsockopt.c
 drbd-9.0.24~1+git.17730ea3/drbd/drbd-kernel-compat/have_kernel_setsockopt.c
--- 
drbd-9.0.24~1+git.17730ea3.orig/drbd/drbd-kernel-compat/have_kernel_setsockopt.c
    1970-01-01 08:00:00.000000000 +0800
+++ drbd-9.0.24~1+git.17730ea3/drbd/drbd-kernel-compat/have_kernel_setsockopt.c 
2020-08-14 10:18:35.107901337 +0800
@@ -0,0 +1,13 @@
+#include <linux/socket.h>
+
+/*
+ * kernel_setsockopt removed in cb8e59cc
+*/
+
+void test(void)
+{
+       struct socket *sock;
+       int val = 1;
+
+       (void) kernel_setsockopt(sock, 0, 0, (char *)&val, sizeof(val));
+}
diff -Naur drbd-9.0.24~1+git.17730ea3.orig/drbd/drbd_transport_tcp.c 
drbd-9.0.24~1+git.17730ea3/drbd/drbd_transport_tcp.c
--- drbd-9.0.24~1+git.17730ea3.orig/drbd/drbd_transport_tcp.c   2020-08-14 
10:15:16.122125660 +0800
+++ drbd-9.0.24~1+git.17730ea3/drbd/drbd_transport_tcp.c        2020-08-14 
10:31:16.930382120 +0800
@@ -154,8 +154,12 @@
 
 static void dtt_nodelay(struct socket *socket)
 {
+#ifdef COMPAT_HAVE_KERNEL_SETSOCKOPT
        int val = 1;
        (void) kernel_setsockopt(socket, SOL_TCP, TCP_NODELAY, (char *)&val, 
sizeof(val));
+#else
+       tcp_sock_set_nodelay(socket->sk);
+#endif
 }
 
 static int dtt_init(struct drbd_transport *transport)
@@ -889,7 +893,6 @@
        struct socket *dsocket, *csocket;
        struct net_conf *nc;
        int timeout, err;
-       int one = 1;
        bool ok;
 
        dsocket = NULL;
@@ -1071,9 +1074,14 @@
        dsocket->sk->sk_sndtimeo = timeout;
        csocket->sk->sk_sndtimeo = timeout;
 
+#ifdef COMPAT_HAVE_KERNEL_SETSOCKOPT
+       int one = 1;
        err = kernel_setsockopt(dsocket, SOL_SOCKET, SO_KEEPALIVE, (char 
*)&one, sizeof(one));
        if (err)
                tr_warn(transport, "Failed to enable SO_KEEPALIVE %d\n", err);
+#else
+       sock_set_keepalive(dsocket->sk);
+#endif
 
        return 0;
 
@@ -1213,20 +1221,32 @@
 
 static void dtt_cork(struct socket *socket)
 {
+#ifdef COMPAT_HAVE_KERNEL_SETSOCKOPT
        int val = 1;
        (void) kernel_setsockopt(socket, SOL_TCP, TCP_CORK, (char *)&val, 
sizeof(val));
+#else
+       tcp_sock_set_cork(socket->sk, true);
+#endif
 }
 
 static void dtt_uncork(struct socket *socket)
 {
+#ifdef COMPAT_HAVE_KERNEL_SETSOCKOPT
        int val = 0;
        (void) kernel_setsockopt(socket, SOL_TCP, TCP_CORK, (char *)&val, 
sizeof(val));
+#else
+       tcp_sock_set_cork(socket->sk, false);
+#endif
 }
 
 static void dtt_quickack(struct socket *socket)
 {
+#ifdef COMPAT_HAVE_KERNEL_SETSOCKOPT
        int val = 2;
        (void) kernel_setsockopt(socket, SOL_TCP, TCP_QUICKACK, (char *)&val, 
sizeof(val));
+#else
+       tcp_sock_set_quickack(socket->sk, 2);
+#endif
 }
 
 static bool dtt_hint(struct drbd_transport *transport, enum drbd_stream stream,
++++++ compat_remove_pgprot_88dca4c.patch ++++++
pgprot removed in 88dca4c

[  139s] 
/home/abuild/rpmbuild/BUILD/drbd-9.0.23~1+git.d16bfab7/default/drbd_bitmap.c: 
In function 'bm_realloc_pages':
[  139s] 
/home/abuild/rpmbuild/BUILD/drbd-9.0.23~1+git.d16bfab7/default/drbd_bitmap.c:368:15:
 error: too many arguments to function '__vmalloc'
[  139s]   368 |   new_pages = __vmalloc(bytes,
[  139s]       |               ^~~~~~~~~
[  139s] In file included from 
/home/abuild/rpmbuild/BUILD/drbd-9.0.23~1+git.d16bfab7/default/drbd_bitmap.c:16:
[  139s] /usr/src/linux-5.8.0-1/include/linux/vmalloc.h:111:14: note: declared 
here
[  139s]   111 | extern void *__vmalloc(unsigned long size, gfp_t gfp_mask);
[  139s]       |              ^~~~~~~~~

diff -Naur 
drbd-9.0.24~1+git.17730ea3.orig/drbd/drbd-kernel-compat/drbd_wrappers.h 
drbd-9.0.24~1+git.17730ea3/drbd/drbd-kernel-compat/drbd_wrappers.h
--- drbd-9.0.24~1+git.17730ea3.orig/drbd/drbd-kernel-compat/drbd_wrappers.h     
2020-08-13 14:22:17.895201728 +0800
+++ drbd-9.0.24~1+git.17730ea3/drbd/drbd-kernel-compat/drbd_wrappers.h  
2020-08-13 14:33:13.168276614 +0800
@@ -521,4 +521,8 @@
 void arch_wb_cache_pmem(void *addr, size_t size);
 #endif
 
+#ifndef COMPAT_HAVE_VMALLOC_NO_PGPROT
+#define __vmalloc(SIZE, GFP, PRGROT) __vmalloc(SIZE, GFP)
+#endif
+
 #endif
diff -Naur 
drbd-9.0.24~1+git.17730ea3.orig/drbd/drbd-kernel-compat/tests/have_vmalloc_no_pgprot.c
 
drbd-9.0.24~1+git.17730ea3/drbd/drbd-kernel-compat/tests/have_vmalloc_no_pgprot.c
--- 
drbd-9.0.24~1+git.17730ea3.orig/drbd/drbd-kernel-compat/tests/have_vmalloc_no_pgprot.c
      1970-01-01 08:00:00.000000000 +0800
+++ 
drbd-9.0.24~1+git.17730ea3/drbd/drbd-kernel-compat/tests/have_vmalloc_no_pgprot.c
   2020-08-13 14:29:04.930365926 +0800
@@ -0,0 +1,15 @@
+/*
+ * Because RHEL 7.5 chose to provide refcount.h, but not use it, we don't
+ * directly include refcount.h, but rely on the implicit include via kref.h,
+ * This way, we avoid compile time warnings about atomic_t != refcount_t.
+ */
+#include <linux/vmalloc.h>
+
+/*
+ * extern void *__vmalloc(unsigned long size, gfp_t gfp_mask);
+ * 88dca4c mm: remove the pgprot argument to __vmalloc
+*/
+void test(unsigned long bytes)
+{
+       __vmalloc(bytes, GFP_NOIO | __GFP_ZERO);
+}
++++++ drbd-9.0.23~1+git.d16bfab7.tar.bz2 -> drbd-9.0.25~0+git.bd41626d.tar.bz2 
++++++
++++ 2348 lines of diff (skipped)

++++++ drbd_git_revision ++++++
--- /var/tmp/diff_new_pack.6kN7hj/_old  2020-09-21 17:33:04.988442405 +0200
+++ /var/tmp/diff_new_pack.6kN7hj/_new  2020-09-21 17:33:04.988442405 +0200
@@ -1 +1 @@
-GIT-hash: d16bfab7a4033024fed2d99d3b179aa6bb6eb300
+GIT-hash: bd41626d3fdc7b6f575532020ff9ce1c9c4bf29b


Reply via email to