Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package drbd for openSUSE:Factory checked in 
at 2023-09-07 21:13:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/drbd (Old)
 and      /work/SRC/openSUSE:Factory/.drbd.new.1766 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "drbd"

Thu Sep  7 21:13:08 2023 rev:104 rq:1109379 version:9.1.16

Changes:
--------
--- /work/SRC/openSUSE:Factory/drbd/drbd.changes        2023-03-11 
18:24:43.095092688 +0100
+++ /work/SRC/openSUSE:Factory/.drbd.new.1766/drbd.changes      2023-09-07 
21:14:18.868680178 +0200
@@ -1,0 +2,254 @@
+Mon Sep 04 11:35:00 UTC 2023 - Heming Zhao <heming.z...@suse.com>
+
+- Update DRBD version from 9.0.30+ to 9.1.16 (PED-6362)
+
+  * 9.1.16 (api:genl2/proto:86-121/transport:18)
+    * shorten times DRBD keeps IRQs on one CPU disabled. Could lead
+      to connection interruption under specific conditions
+    * fix a corner case where resync did not start after resync-pause
+      state flapped
+    * fix online adding of volumes/minors to an already connected resource
+    * fix a possible split-brain situation with quorum enabled with
+      ping-timeout set to (unusual) high value
+    * fix a locking problem that could lead to kernel OOPS
+    * ensure resync can continue (bitmap-based) after interruption
+      also when it started as a full-resync first
+    * correctly handle meta-data when forgetting diskless peers
+    * fix a possibility of getting a split-brain although quorum enabled
+    * correctly propagate UUIDs after resync following a resize operation.
+      Consequence could be a full resync instead of a bitmap-based one
+    * fix a rare race condition that can cause a drbd device to end up
+      with WFBitMapS/Established replication states
+
+  * 9.1.15 (api:genl2/proto:86-121/transport:18)
+    * fix how flush requests are marked when submitted to the Linux IO
+      stack on the secondary node
+    * when establishing a connection failed with a two-pc timeout, a
+      receiver thread deadlocked, causing drbdsetup calls to block on
+      that resource (difficult to trigger)
+    * fixed a NULL-ptr deref (a OOPS) caused by a rare race condition
+      while taking a resource down
+    * fix a possible hard kernel-lockup, can only be triggerd when a
+      CPU-mask is configured
+    * updated kernel compatibility to at least Linux head and also fixed
+      a bug in the compat checks/rules that caused OOPSes of the previous
+      drbd releases when compiled with Linux-6.2 (or on RHEL 9.2 kernel).
+    * fix an aspect of the data-generation (UUID) handling where DRBD
+      failed to do a resync when a diskless node in the remaining
+      partition promotes and demotes while a diskful node is isolated
+    * fix an aspect of the data-generation (UUID) handling where DRBD
+      considered a node to have unrelated data; this bug was triggered by
+      a sequence involving removing two nodes from a cluster and readding
+      one with the "day-0" UUIDs.
+    * do not block specific state changes (promote, demote, attach, and
+      detach) when only some nodes add a new minor
+
+  * 9.1.14 (api:genl2/proto:86-121/transport:18)
+    * fix a race with concurrent promotion and demotion, which can
+      lead to an unexpected "split-brain" later on
+    * fix a specific case where promotion was allowed where it should not
+    * fix a race condition between auto-promote and a second two-phase
+      commit that can lead to a DRBD thread locking up in an endless loop
+    * fix several bugs with "resync-after":
+      - missing resync-resume when minor numbers run in opposite
+        direction as the resync-after dependencies
+      - a race that might lead to an OOPS in add_timer()
+    * fix an OOPS when reading from in_flight_summary in debugfs
+    * fix a race that might lead to an endless loop of printing
+      "postponing start_resync" while starting a resync
+    * fix diskless node with a diskfull with a 4KiB backend
+    * simplify remembering two-pc parents, maybe fixing a one-time-seen bug
+    * derive abort_local_transaction timeout from ping-timeout
+
+  * 9.1.13 (api:genl2/proto:86-121/transport:18)
+    * when calculating if a partition has quorum, take into account if
+      the missing nodes might have quorum
+    * fix forget-peer for diskless peers
+    * clear the resync_again counter upon disconnect
+    * also call the unfence handler when no resync happens
+    * do not set bitmap bits when attaching to an up-to-date disk (late)
+    * work on bringing the out-of-tree DRBD9 closer to DRBD in the upstream
+      kernel; Use lru_cahche.ko from the installed kernel whenever possible
+
+  * 9.1.12 (api:genl2/proto:86-121/transport:18)
+    * fix a race that could result in connection attempts getting aborted
+      with the message "sock_recvmsg returned -11"
+    * rate limit messages in case the peer can not write the backing storage
+      and it does not finish the necessary state transitions
+    * reduced the receive timeout during connecting to the intended 5 seconds
+      (ten times ping-ack timeout)
+    * losing the connection at a specific point in time during establishing
+      a connection could cause a transition to StandAlone; fixed that, so
+      that it keeps trying to connect
+    * fix a race that could lead to a fence-peer handler being called
+      unexpectedly when the fencing policy is changed at the moment before
+      promoting
+
+  * 9.1.11 (api:genl2/proto:86-121/transport:18)
+    * The change introduced with 9.1.10 created another problem that might
+      lead to premature request completion (kernel crash); reverted that
+      change and fix it in another way
+
+  * 9.1.10 (api:genl2/proto:86-121/transport:18)
+    * fix a regression introduced with 9.1.9; using protocol A on SMP
+      with heavy IO can might cause kernel crash
+
+  * 9.1.9 (api:genl2/proto:86-121/transport:18)
+    * fix a mistake in the compat generation code; it broke DRBD on
+      partitions on kernel older than linux 5.10 (this was introduced
+      with drbd-9.1.8; not affected: logical volumes)
+    * fix for a bug (introduced with drbd-9.0.0), that caused possible
+      inconsistencies in the mirror when using the 'resync-after' option
+    * fix a bug that could cause a request to get stuck after an unlucky
+      timing with a loss of connection
+    * close a very small timing window between connect and promote that
+      could lead to the new-current-uuid not being transmitted to the
+      concurrently connecting peer, which might lead to denied connections
+      later on
+    * fix a recently introduced OOPS when adding new volumes to a
+      connected resource
+    * fix online attach when the connection to a 3rd node is down
+
+  * 9.1.8 (api:genl2/proto:86-121/transport:18)
+    * restore protocol compatibility with drbd-8.4
+    * detect peers that died silently when starting a two-phase-commit
+    * correctly abort two-phase-commits when a connection breaks between
+      phases 1 and 2
+    * allow re-connect to a node that was forced into secondary role and
+      where an opener is still present from the last time it was primary
+    * fix a race condition that allowed to configure two peers with the
+      same node id
+    * ensure that an open() call fails within the auto-promote timeout
+      if it can not succeed
+    * build fixes for RHEL9
+    * following upstream changes to DRBD up to Linux 5.17 and updated compat
+
+  * 9.1.7 (api:genl2/proto:110-121/transport:18)
+    * avoid deadlock upon trying to down an io-frozen DRBD device that
+      has a file system mounted
+    * fix DRBD to not send too large resync requests at multiples of 8TiB
+    * fix for a "forgotten" resync after IO was suspended due to lack of quorum
+    * refactored IO suspend/resume fixing several bugs; the worst one could
+      lead to premature request completion
+    * disable discards on diskless if diskful peers do not support it
+    * make demote to secondary a two-phase state transition; that guarantees 
that
+      after demotion, DRBD will not write to any meta-data in the cluster
+    * enable "--force primary" in for no-quorum situations
+    * allow graceful recovery of primary lacking quorum and therefore
+      have forzen IO requests; that includes "--force secondary"
+    * following upstream changes to DRBD up to Linux 5.15 and updated compat
+
+  * 9.1.6 (api:genl2/proto:110-121/transport:17)
+    * fix IO to internal meta-data for backing device larger than 128TB
+    * fix resending requests towards diskless peers, this is relevant when
+      fencing is enabled, but the connection is re-established before fencing
+      succeeds; when the bug triggered it lead to "stuck" requests
+    * remove lockless buffer pages handling; it still contained very hard to
+      trigger bugs
+    * make sure DRBD's resync does not cause unnecessary allocation in
+      a thinly provisioned backing device on a resync target node
+    * avoid unnecessary resync (or split-brain) due to a wrongly generated
+      new current UUID when an already IO frozen DBRD gets new writes
+    * small fix to autopromote, when an application tries a read-only open
+      before it does a read-write open immediately after the peer primary
+      vanished ungracefully
+    * split out the secure boot key into a package on its own, that is
+      necessary to allow installation of multiple drbd kernel module packages
+    * Support for building containers for flacar linux
+
+  * 9.1.5 (api:genl2/proto:110-121/transport:17)
+    * merged all changes from drbd-9.0.32
+      - fix a read-access-after-free, that could cause an OOPs; triggers with
+        an unusual configuration with a secondary having a smaller AL than
+        the primary or a diskless primary and heavy IO
+      - avoid a livelock that can cause long IO delays during resync on a
+        primary resync-target node
+      - following upstream changes to DRBD up to Linux 5.14 and updated compat
+        (including RHEL9-beta)
+      - fix module override for Oracle-Linux
+    * fixed a locking regression of the 9.1 branch, only relevant in
+      the moment a local backing device delivers an IO error to drbd
+    * removed compat support for kernel older than Linux-3.10 (RHEL7)
+    * code cleanups and refactoring
+
+  * 9.1.4 (api:genl2/proto:110-121/transport:17)
+    * merged all changes from drbd-9.0.31
+    * enabled dynamic debug on some additional log messages
+    * remove (broken) write conflict resolution, replace it with warning
+      about the fact
+    * debugfs entry for the interval tree
+
+  * 9.1.3 (api:genl2/proto:110-120/transport:17)
+    * merged all fixes from drbd-9.0.30-0rc1
+    * fix a corner-case NULL deref in the lockless buffer pages handling; the
+      regression was introduced with 9.1.0 (released Feb 2021); To my knowledge
+      it took 6 months until someone triggered it for the first time
+    * fix sending a P_PEERS_IN_SYNC packet into a fresh connection (before
+      handshake packets); this problem was introduced when the drbd-8.x
+      compatibility code was removed
+    * remove sending a DRBD-barrier packet when processing a REQ_PREFLUSH
+      request, that improves IO-depth and improves performance with that
+
+  * 9.1.2 (api:genl2/proto:110-120/transport:17)
+    * merged all fixes from drbd-9.0.29; other than that no changes in this 
branch
+
+  * 9.1.1 (api:genl2/proto:110-119/transport:17)
+    * fix a temporal deadlock you could trigger when you exercise promotion 
races
+      and mix some read-only openers into the test case
++++ 57 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/drbd/drbd.changes
++++ and /work/SRC/openSUSE:Factory/.drbd.new.1766/drbd.changes

Old:
----
  bsc-1192929_01-make_block_holder_optional.patch
  bsc-1192929_02-move_kvmalloc_related_to_slab.patch
  bsc-1192929_03-polling_to_bio_base.patch
  bsc-1192929_04-pass_gend_to_blk_queue_update_readahead.patch
  bsc-1192929_07-add_disk_error_handle.patch
  bsc-1192929_08-have_void_drbd_submit_bio.patch
  bsc-1192929_09-remove_bdgrab.patch
  bsc-1201335_01-compat-test-and-cocci-patch-for-bdi-in-gendisk.patch
  bsc-1201335_02-compat-only-apply-bdi-pointer-patch-if-bdi-is-in-req.patch
  bsc-1201335_03-genhd.patch
  bsc-1201335_04-bio_alloc_bioset.patch
  bsc-1201335_05-bio_alloc.patch
  bsc-1201335_06-bdi.patch
  bsc-1201335_07-write-same.patch
  bsc-1201335_08-bio_clone_fast.patch
  bsc-1202600_01-remove-QUEUE_FLAG_DISCARD.patch
  bsc-1202600_02-dax-introduce-DAX_RECOVERY_WRITE-dax-access-mode.patch
  bsc-1202600_03-block-decouple-REQ_OP_SECURE_ERASE-from-REQ_OP_DISCA.patch
  bsc-1202600_04-remove-assign_p_sizes_qlim.patch
  bsc-1204596_01-block-remove-blk_cleanup_disk.patch
  bsc-1204596_02-drbd-remove-usage-of-bdevname.patch
  bsc-1206791-01-drbd-add-comments-explaining-removal-of-bdi-congesti.patch
  bsc-1206791-02-drbd-fix-static-analysis-warnings.patch
  bsc-1206791-03-drbd-fix-warning-about-initializing-multiple-struct-.patch
  bsc-1206791-04-blk_queue_split__no_present.patch
  bsc-1206791-05-prandom_u32_max.patch
  bsc-1206791-06-write_zeroes__no_capable.patch
  bsc-1206791-07-drbd-fix-use-after-free-bugs-in-get_initial_state.patch
  bsc-1206791-08-lib-lru_cache-Fixed-array-overflow-caused-by-incorre.patch
  bsc-1206791-09-pmem-use-fs_dax_get_by_bdev-instead-of-dax_get_by_ho.patch
  drbd-9.0.30~1+git.8e9c0812.tar.bz2
  fix-resync-finished-with-syncs-have-bits-set.patch

New:
----
  bsc-1025089_fix-resync-finished-with-syncs-have-bits-set.patch
  drbd-9.1.16.tar.gz

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

Other differences:
------------------
++++++ drbd.spec ++++++
--- /var/tmp/diff_new_pack.6hpRt2/_old  2023-09-07 21:14:22.352804728 +0200
+++ /var/tmp/diff_new_pack.6hpRt2/_new  2023-09-07 21:14:22.352804728 +0200
@@ -24,48 +24,19 @@
 %endif
 %endif
 Name:           drbd
-Version:        9.0.30~1+git.8e9c0812
+Version:        9.1.16
 Release:        0
 Summary:        Linux driver for the "Distributed Replicated Block Device"
 License:        GPL-2.0-or-later
 URL:            https://drbd.linbit.com/
-Source:         %{name}-%{version}.tar.bz2
+Source:         %{name}-%{version}.tar.gz
 Source1:        preamble
-#In kernel is: kernel/drivers/block/drbd/drbd.ko
 Source2:        Module.supported
 Source3:        drbd_git_revision
-Patch1:         fix-resync-finished-with-syncs-have-bits-set.patch
-Patch2:         bsc-1192929_01-make_block_holder_optional.patch
-Patch3:         bsc-1192929_02-move_kvmalloc_related_to_slab.patch
-Patch4:         bsc-1192929_03-polling_to_bio_base.patch
-Patch5:         bsc-1192929_04-pass_gend_to_blk_queue_update_readahead.patch
-Patch6:         bsc-1192929_07-add_disk_error_handle.patch
-Patch7:         bsc-1192929_08-have_void_drbd_submit_bio.patch
-Patch8:         bsc-1192929_09-remove_bdgrab.patch
-Patch9:         
bsc-1201335_01-compat-test-and-cocci-patch-for-bdi-in-gendisk.patch
-Patch10:        
bsc-1201335_02-compat-only-apply-bdi-pointer-patch-if-bdi-is-in-req.patch
-Patch11:        bsc-1201335_03-genhd.patch
-Patch12:        bsc-1201335_04-bio_alloc_bioset.patch
-Patch13:        bsc-1201335_05-bio_alloc.patch
-Patch14:        bsc-1201335_06-bdi.patch
-Patch15:        bsc-1201335_07-write-same.patch
-Patch16:        bsc-1201335_08-bio_clone_fast.patch
-Patch17:        bsc-1202600_01-remove-QUEUE_FLAG_DISCARD.patch
-Patch18:        
bsc-1202600_02-dax-introduce-DAX_RECOVERY_WRITE-dax-access-mode.patch
-Patch19:        
bsc-1202600_03-block-decouple-REQ_OP_SECURE_ERASE-from-REQ_OP_DISCA.patch
-Patch20:        bsc-1202600_04-remove-assign_p_sizes_qlim.patch
-Patch21:        bsc-1204596_01-block-remove-blk_cleanup_disk.patch
-Patch22:        bsc-1204596_02-drbd-remove-usage-of-bdevname.patch
-Patch23:        
bsc-1206791-01-drbd-add-comments-explaining-removal-of-bdi-congesti.patch
-Patch24:        bsc-1206791-02-drbd-fix-static-analysis-warnings.patch
-Patch25:        
bsc-1206791-03-drbd-fix-warning-about-initializing-multiple-struct-.patch
-Patch26:        bsc-1206791-04-blk_queue_split__no_present.patch
-Patch27:        bsc-1206791-05-prandom_u32_max.patch
-Patch28:        bsc-1206791-06-write_zeroes__no_capable.patch
-Patch29:        
bsc-1206791-07-drbd-fix-use-after-free-bugs-in-get_initial_state.patch
-Patch30:        
bsc-1206791-08-lib-lru_cache-Fixed-array-overflow-caused-by-incorre.patch
-Patch31:        
bsc-1206791-09-pmem-use-fs_dax_get_by_bdev-instead-of-dax_get_by_ho.patch
+
+Patch1:         bsc-1025089_fix-resync-finished-with-syncs-have-bits-set.patch
 Patch99:        suse-coccinelle.patch
+
 #https://github.com/openSUSE/rpmlint-checks/blob/master/KMPPolicyCheck.py
 BuildRequires:  coccinelle >= 1.0.8
 BuildRequires:  kernel-source
@@ -73,8 +44,8 @@
 BuildRequires:  libelf-devel
 BuildRequires:  modutils
 BuildRequires:  %kernel_module_package_buildreqs
-Requires:       drbd-utils >= 9.2.0
-Supplements:    drbd-utils >= 9.2.0
+Requires:       drbd-utils >= 9.3.0
+Supplements:    drbd-utils >= 9.3.0
 Obsoletes:      drbd-kmp < %{version}
 ExcludeArch:    i586 s390
 %kernel_module_package -n drbd -p %{_sourcedir}/preamble
@@ -100,36 +71,6 @@
 %prep
 %setup -q -n drbd-%{version}
 %patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
-%patch17 -p1
-%patch18 -p1
-%patch19 -p1
-%patch20 -p1
-%patch21 -p1
-%patch22 -p1
-%patch23 -p1
-%patch24 -p1
-%patch25 -p1
-%patch26 -p1
-%patch27 -p1
-%patch28 -p1
-%patch29 -p1
-%patch30 -p1
-%patch31 -p1
 %patch99 -p1
 
 mkdir source

++++++ bsc-1025089_fix-resync-finished-with-syncs-have-bits-set.patch ++++++
diff -Naur drbd-9.0.7rc1+git.093821cd.orig/drbd/drbd_receiver.c 
drbd-9.0.7rc1+git.093821cd/drbd/drbd_receiver.c
--- drbd-9.0.7rc1+git.093821cd.orig/drbd/drbd_receiver.c        2017-03-24 
16:55:42.169376092 +0800
+++ drbd-9.0.7rc1+git.093821cd/drbd/drbd_receiver.c     2017-03-24 
16:56:51.137239174 +0800
@@ -6240,7 +6240,8 @@
                /* if peer_state changes to connected at the same time,
                 * it explicitly notifies us that it finished resync.
                 * Maybe we should finish it up, too? */
-               else if (peer_state.conn == L_ESTABLISHED) {
+               else if (peer_state.conn == L_ESTABLISHED &&
+                       peer_disk_state > D_NEGOTIATING) {
                        bool finish_now = false;
 
                        if (old_peer_state.conn == L_WF_BITMAP_S) {

++++++ drbd_git_revision ++++++
--- /var/tmp/diff_new_pack.6hpRt2/_old  2023-09-07 21:14:22.416807015 +0200
+++ /var/tmp/diff_new_pack.6hpRt2/_new  2023-09-07 21:14:22.416807015 +0200
@@ -1,2 +1,2 @@
-GIT-hash: 8e9c08122ae738eec189abe402ba7358b57182cd
+GIT-hash: 288abda1fb8c93e385960af01ab28729fefdaa38
 

Reply via email to