diff --git a/_service b/_service
index 23ec09d..ec2ed60 100644
--- a/_service
+++ b/_service
@@ -9,9 +9,9 @@
This will download branch first instead of tag.
drbd-9.0
- 9.0.22~1
+ 9.0.23~1
-->
- 9.0.22~1+git.%h
+ 9.0.23~1+git.%h
drbd-9.0
diff --git a/drbd-9.0.22~1+git.fe2b5983.tar.bz2 b/drbd-9.0.22~1+git.fe2b5983.tar.bz2
deleted file mode 100644
index 281aa27..0000000
--- a/drbd-9.0.22~1+git.fe2b5983.tar.bz2
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:2882a9f5f0b03e5aeba74abdd6f5abf0430fdc7865220ac5b93c18a2070ca461
-size 346017
diff --git a/drbd-9.0.23~1+git.d16bfab7.tar.bz2 b/drbd-9.0.23~1+git.d16bfab7.tar.bz2
new file mode 100644
index 0000000..1dd1cab
--- /dev/null
+++ b/drbd-9.0.23~1+git.d16bfab7.tar.bz2
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:49862ab5d0f4d9ad91f1030ff111f8611af2b1a4a3e84847048bdcc53507fe2b
+size 347341
diff --git a/drbd.changes b/drbd.changes
index 33472d9..219b126 100644
--- a/drbd.changes
+++ b/drbd.changes
@@ -1,3 +1,40 @@
+-------------------------------------------------------------------
+Wed Jun 10 03:33:22 UTC 2020 - nick wang
+
+- bsc#1172761, Update to drbd-9.0.23-1
+ * fix a deadlock (regression introduced in 9.0.22) that can happen when
+ new current UUID is generated while a connection gets established
+ * Do not create a new data generation if the node has
+ 'allow-remote-read = no' set, is primary, and the local disk fails
+ (because it has no access to good data anyome)
+ * fix a deadlock (regression introduced in 9.0.22) that can be
+ triggered if a minor is added into a resource with an established
+ connection
+ * generate new UUID immediately if a primary loses a disk due to an IO
+ error
+ * fix read requests on diskless nodes that hit a read error on a
+ diskful node; the retry on another diskful node works, but a bug
+ could lead to a log-storm on the diskless node
+ * fix removal of diskless nodes from clusters with quorum enabled
+ (initiated from the diskless itself)
+ * fix wrongly declined state changes if connections are established
+ concurrently
+ * fix continuation of initial resync; before that the initial resync
+ always started from the beginning if it was interrupted
+ * use rwsem _non_owner() operations to avoid false positives of
+ lock-dep when running on a debug kernel
+ * fix a sometimes missed resync if only a diskless node was primary
+ since the day0 UUID
+ * fix a corner case where a SyncSource node does not recognise
+ that a SyncTarget node declared the resync as finished
+ * update compat up to Linux 5.6
+- Remove patch without_pr_warning.patch since change in 7e6a20f7
+
+-------------------------------------------------------------------
+Wed Jun 10 02:55:39 UTC 2020 - nick wang
+
+- jsc#11801, enable buildrt for Leap15.2 but Tumbleweed.
+
-------------------------------------------------------------------
Tue Mar 10 09:03:04 UTC 2020 - nick wang
diff --git a/drbd.spec b/drbd.spec
index 47b80b7..ececf1c 100644
--- a/drbd.spec
+++ b/drbd.spec
@@ -17,13 +17,14 @@
# needssslcertforbuild
-%if ! 0%{?is_opensuse}
+# RT enabled in Leap15.2(but not in Tumbleweed)
+%if ! 0%{?is_opensuse} || 0%{?sle_version} >= 150200
%ifarch x86_64
%define buildrt 1
%endif
%endif
Name: drbd
-Version: 9.0.22~1+git.fe2b5983
+Version: 9.0.23~1+git.d16bfab7
Release: 0
Summary: Linux driver for the "Distributed Replicated Block Device"
License: GPL-2.0-or-later
@@ -37,7 +38,6 @@ 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: without_pr_warning.patch
Patch99: suse-coccinelle.patch
#https://github.com/openSUSE/rpmlint-checks/blob/master/KMPPolicyCheck.py
BuildRequires: coccinelle >= 1.0.8
@@ -74,7 +74,6 @@ installed kernel.
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
%patch99 -p1
mkdir source
diff --git a/drbd_git_revision b/drbd_git_revision
index 5b11edb..c6411d6 100644
--- a/drbd_git_revision
+++ b/drbd_git_revision
@@ -1 +1 @@
-GIT-hash: fe2b59836bdf1c7c81ccbaad8ef8016d9c3ba582
+GIT-hash: d16bfab7a4033024fed2d99d3b179aa6bb6eb300
diff --git a/without_pr_warning.patch b/without_pr_warning.patch
deleted file mode 100644
index deb64d5..0000000
--- a/without_pr_warning.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -Naur drbd-9.0.20~1+git.7dce3c8b.orig/drbd/drbd-kernel-compat/cocci/suse_pr_warning__no_present.cocci drbd-9.0.20~1+git.7dce3c8b/drbd/drbd-kernel-compat/cocci/suse_pr_warning__no_present.cocci
---- drbd-9.0.20~1+git.7dce3c8b.orig/drbd/drbd-kernel-compat/cocci/suse_pr_warning__no_present.cocci 1970-01-01 08:00:00.000000000 +0800
-+++ drbd-9.0.20~1+git.7dce3c8b/drbd/drbd-kernel-compat/cocci/suse_pr_warning__no_present.cocci 2020-01-06 14:52:30.740564872 +0800
-@@ -0,0 +1,11 @@
-+@outdate_pr_waring@
-+identifier func;
-+expression list EL;
-+@@
-+func(...) {
-+<...
-+- pr_warning(EL);
-++ pr_warn(EL);
-+...>
-+}
-+
-diff -Naur drbd-9.0.20~1+git.7dce3c8b.orig/drbd/drbd-kernel-compat/gen_patch_names.c drbd-9.0.20~1+git.7dce3c8b/drbd/drbd-kernel-compat/gen_patch_names.c
---- drbd-9.0.20~1+git.7dce3c8b.orig/drbd/drbd-kernel-compat/gen_patch_names.c 2020-01-06 14:50:00.827751099 +0800
-+++ drbd-9.0.20~1+git.7dce3c8b/drbd/drbd-kernel-compat/gen_patch_names.c 2020-01-06 14:50:41.135969904 +0800
-@@ -291,6 +291,9 @@
- patch(1, "allow_kernel_signal", true, false,
- COMPAT_HAVE_ALLOW_KERNEL_SIGNAL, "present");
-
-+ patch(1, "suse_pr_warning", true, false,
-+ COMPAT_WITH_PR_WARNING, "present");
-+
- /* #define BLKDEV_ISSUE_ZEROOUT_EXPORTED */
- /* #define BLKDEV_ZERO_NOUNMAP */
-
-diff -Naur drbd-9.0.20~1+git.7dce3c8b.orig/drbd/drbd-kernel-compat/tests/with_pr_warning.c drbd-9.0.20~1+git.7dce3c8b/drbd/drbd-kernel-compat/tests/with_pr_warning.c
---- drbd-9.0.20~1+git.7dce3c8b.orig/drbd/drbd-kernel-compat/tests/with_pr_warning.c 1970-01-01 08:00:00.000000000 +0800
-+++ drbd-9.0.20~1+git.7dce3c8b/drbd/drbd-kernel-compat/tests/with_pr_warning.c 2020-01-06 14:50:41.135969904 +0800
-@@ -0,0 +1,8 @@
-+#include
-+
-+/* pr_waring is dropped since 61ff72f401680 */
-+
-+void foo(void)
-+{
-+ pr_warning("pr_warning replaced by pr_warn since 61ff72f401680!");
-+}