Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package drbd for openSUSE:Factory checked in at 2021-05-07 16:45:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/drbd (Old) and /work/SRC/openSUSE:Factory/.drbd.new.2988 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "drbd" Fri May 7 16:45:44 2021 rev:92 rq:891196 version:9.0.29~0+git.9a7bc817 Changes: -------- --- /work/SRC/openSUSE:Factory/drbd/drbd.changes 2021-03-12 13:33:35.462348668 +0100 +++ /work/SRC/openSUSE:Factory/.drbd.new.2988/drbd.changes 2021-05-07 16:46:08.004215053 +0200 @@ -1,0 +2,80 @@ +Fri May 7 05:53:20 UTC 2021 - nick wang <nw...@suse.com> + +- Update to 9.0.29 + * fix data corruption when DRBD's backing disk is a degraded Linux software + raid (MD) + * add correct thawing of IO requests after IO was frozen due to loss of quorum + * fix timeout detection after idle periods and for configs with ko-count + when a disk on an a secondary stops delivering IO-completion events + * fixed an issue where UUIDs where not shifted in the history slots; that + caused false "unrelated data" events + * fix switching resync sources by letting resync requests drain before + issuing resync requests to the new source; before the fix, it could happen + that the resync does not terminate since a late reply from the previous + caused a out-of-sync bit set after the "scan point" + * fix a temporal deadlock you could trigger when you exercise promotion races + and mix some read-only openers into the test case + * fix for bitmap-copy operation in a very specific and unlikely case where + two nodes do a bitmap-based resync due to disk-states + * fix size negotiation when combining nodes of different CPU architectures + that have different page sizes + * fix a very rare race where DRBD reported wrong magic in a header + packet right after reconnecting + * fix a case where DRBD ends up reporting unrelated data; it affected + thinly allocated resources with a diskless node in a recreate from day0 + event + * speedup open() of drbd devices if promote has not chance to go through + * new option "--reset-bitmap=no" for the invalidate and invalidate-remote + commands; this allows to do a resync after online verify found differences + * changes to socket buffer sizes get applied to established connections + immediately; before it was applied after a re-connect + * add exists events for path objects + * forbid keyed hash algorithms for online verify, csyms and HMAC base alg + * fix a regression introduces with 9.0.25; it failed to determine the + right device size and the connection hangs in WFBitmapS/WFBitmapT + repl state; to trigger this you need to do a partial resync to a + new node with different backing device size + * fix an issue with netlink packets processed in parallel on multiple + CPUs; the bug caused drbdadm adjust failing in very rare cases + * fix a very rare occurrence of a reconciliation resync getting stuck + * fix a race condition that causes a detach operation to hang; it + is very hard to trigger + * fix a kernel OOPS (via a BUG()) upon adding a timer twice under very rare + timing + * fix a counter imbalance that could lead to assertion messages when a + protocol A peer disconnects with a certain timing + * fix a rare race with receiving bitmap and a state change while + establishing a connection + * fix UUID handling to avoid false split-brain detections; this bug got + triggered an isolated primary that gets demoted, and temporal network + interruptions among the remaining nodes + * fix resync decision to obey disk states when the generation UUIDs are + equal; the effect of this bug was that you could end up with two Outdated + nodes after resync + * fix concurrent disk-attach operations + * Fix possible kernel warning regarding an inbalance of backing device + link/unlink + * move some amount of kernel backward compatibility code moved from the old + method (drbd_wrappers.h) to new cocci semantic patches + * add support renaming resources while its devices might be in use and + process IO requests + * Allow setting c_max_rate to 0 with the meaning that the resync controller + has no upper limit for the resync speed + * Fix regression: allow live migration between two diskful peers again + * following upstream changes to DRBD up to Linux 5.12 and updated compat + rules to support up to Linux 5.12 +- Add patch compat_genl_maxattr_in_ops.patch (48526a0f) + Remove patch drbd-fix-zero-metadata-limit-by-page-size-misaligned.patch + Remove patch compat_remove_include_vermagic.patch + Remove patch compat-test-header.patch + Remove patch submit-bio-private-date.patch + Remove patch compat_remove_kernel_setsockopt.patch + Remove patch compat_blk_queue_stack_limits.patch + Remove patch remove_bdi_cap_stable_writes.patch + Remove patch compat_get_fs.patch + Remove patch compat_to_v5_11.patch + Modify patch suse-coccinelle.patch +- cocci apply: linux-5.12.0-2 + queue_discard_zeroes_data__no_present (48920ff2a5a9) + +------------------------------------------------------------------- Old: ---- compat-test-header.patch compat_blk_queue_stack_limits.patch compat_get_fs.patch compat_remove_include_vermagic.patch compat_remove_kernel_setsockopt.patch compat_to_v5_11.patch drbd-9.0.26~0+git.9114a038.tar.bz2 drbd-fix-zero-metadata-limit-by-page-size-misaligned.patch remove_bdi_cap_stable_writes.patch submit-bio-private-date.patch New: ---- compat_genl_maxattr_in_ops.patch drbd-9.0.29~0+git.9a7bc817.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ drbd.spec ++++++ --- /var/tmp/diff_new_pack.Skrt7g/_old 2021-05-07 16:46:08.576213255 +0200 +++ /var/tmp/diff_new_pack.Skrt7g/_new 2021-05-07 16:46:08.580213242 +0200 @@ -24,7 +24,7 @@ %endif %endif Name: drbd -Version: 9.0.26~0+git.9114a038 +Version: 9.0.29~0+git.9a7bc817 Release: 0 Summary: Linux driver for the "Distributed Replicated Block Device" License: GPL-2.0-or-later @@ -35,19 +35,7 @@ Source2: Module.supported Source3: drbd_git_revision Patch1: fix-resync-finished-with-syncs-have-bits-set.patch -Patch2: drbd-fix-zero-metadata-limit-by-page-size-misaligned.patch -#opensuse specific patch -Patch3: compat_remove_include_vermagic.patch -#compat to v5.9 -Patch4: compat-test-header.patch -Patch5: submit-bio-private-date.patch -Patch6: compat_remove_kernel_setsockopt.patch -Patch7: compat_blk_queue_stack_limits.patch -#compat to v5.10 -Patch8: remove_bdi_cap_stable_writes.patch -Patch9: compat_get_fs.patch -#compat to v5.11, no need to sle15sp3 -Patch10: compat_to_v5_11.patch +Patch2: compat_genl_maxattr_in_ops.patch Patch99: suse-coccinelle.patch #https://github.com/openSUSE/rpmlint-checks/blob/master/KMPPolicyCheck.py BuildRequires: coccinelle >= 1.0.8 @@ -83,14 +71,6 @@ %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 %patch99 -p1 mkdir source ++++++ _service ++++++ --- /var/tmp/diff_new_pack.Skrt7g/_old 2021-05-07 16:46:08.620213116 +0200 +++ /var/tmp/diff_new_pack.Skrt7g/_new 2021-05-07 16:46:08.624213104 +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.26~0</param> + <param name="version">9.0.29~0</param> --> - <param name="versionformat">9.0.26~0+git.%h</param> + <param name="versionformat">9.0.29~0+git.%h</param> <param name="revision">drbd-9.0</param> </service> ++++++ compat_genl_maxattr_in_ops.patch ++++++ 1. "policy" of "genl_ops" removed in 3b0f31f2b8c9fb348e4530b88f6b64f9621f83d6. Then add back in 48526a0f4ca2b484cab4318dc0b2c2be1d8685b7 diff -Naur drbd-9.0.29~0+git.9a7bc817.orig/drbd/drbd-kernel-compat/gen_patch_names.c drbd-9.0.29~0+git.9a7bc817/drbd/drbd-kernel-compat/gen_patch_names.c --- drbd-9.0.29~0+git.9a7bc817.orig/drbd/drbd-kernel-compat/gen_patch_names.c 2021-05-07 13:31:20.629024504 +0800 +++ drbd-9.0.29~0+git.9a7bc817/drbd/drbd-kernel-compat/gen_patch_names.c 2021-05-07 13:33:05.932908956 +0800 @@ -247,8 +247,10 @@ patch(1, "bio_free", false, true, COMPAT_HAVE_BIO_FREE, "present"); +#if !defined(COMPAT_GENL_MAXATTR_IN_OPS) patch(1, "genl_policy", false, true, COMPAT_GENL_POLICY_IN_OPS, "in_ops"); +#endif patch(1, "blk_queue_merge_bvec", false, true, COMPAT_HAVE_BLK_QUEUE_MERGE_BVEC, "present"); diff -Naur drbd-9.0.29~0+git.9a7bc817.orig/drbd/drbd-kernel-compat/tests/genl_maxattr_in_ops.c drbd-9.0.29~0+git.9a7bc817/drbd/drbd-kernel-compat/tests/genl_maxattr_in_ops.c --- drbd-9.0.29~0+git.9a7bc817.orig/drbd/drbd-kernel-compat/tests/genl_maxattr_in_ops.c 1970-01-01 08:00:00.000000000 +0800 +++ drbd-9.0.29~0+git.9a7bc817/drbd/drbd-kernel-compat/tests/genl_maxattr_in_ops.c 2021-05-07 13:32:16.452960387 +0800 @@ -0,0 +1,4 @@ +#include <net/genetlink.h> + +struct genl_ops ops = { .maxattr = 1, }; + ++++++ drbd-9.0.26~0+git.9114a038.tar.bz2 -> drbd-9.0.29~0+git.9a7bc817.tar.bz2 ++++++ ++++ 7545 lines of diff (skipped) ++++++ suse-coccinelle.patch ++++++ --- /var/tmp/diff_new_pack.Skrt7g/_old 2021-05-07 16:46:09.008211897 +0200 +++ /var/tmp/diff_new_pack.Skrt7g/_new 2021-05-07 16:46:09.008211897 +0200 @@ -1,23 +1,27 @@ -diff -Naur drbd-9.0.25~0+git.bd41626d.orig/drbd/drbd-kernel-compat/gen_compat_patch.sh drbd-9.0.25~0+git.bd41626d/drbd/drbd-kernel-compat/gen_compat_patch.sh ---- drbd-9.0.25~0+git.bd41626d.orig/drbd/drbd-kernel-compat/gen_compat_patch.sh 2020-09-19 08:34:40.643919136 +0800 -+++ drbd-9.0.25~0+git.bd41626d/drbd/drbd-kernel-compat/gen_compat_patch.sh 2020-09-19 08:50:59.095231966 +0800 -@@ -44,9 +44,15 @@ +diff -Naur drbd-9.0.29~0+git.9a7bc817.orig/drbd/drbd-kernel-compat/gen_compat_patch.sh drbd-9.0.29~0+git.9a7bc817/drbd/drbd-kernel-compat/gen_compat_patch.sh +--- drbd-9.0.29~0+git.9a7bc817.orig/drbd/drbd-kernel-compat/gen_compat_patch.sh 2021-05-07 11:24:44.877547149 +0800 ++++ drbd-9.0.29~0+git.9a7bc817/drbd/drbd-kernel-compat/gen_compat_patch.sh 2021-05-07 12:30:58.385703306 +0800 +@@ -44,9 +44,19 @@ if hash spatch && spatch_is_recent; then K=$(cat $incdir/kernelrelease.txt) ++ + echo " compat.h content "; + cat $incdir/compat.h; + echo " ------------------- "; ++ echo " GENPATCHNAMES "$K gcc -I $incdir -o $incdir/gen_patch_names -std=c99 drbd-kernel-compat/gen_patch_names.c $incdir/gen_patch_names > $incdir/applied_cocci_files.txt ++ + echo " APPLIED_COCCI_FILES "; + cat $incdir/applied_cocci_files.txt; + echo " ------------------- "; ++ rm $incdir/gen_patch_names rm -f $incdir/.compat.cocci rm -f $incdir/.compat.patch -@@ -61,29 +67,46 @@ +@@ -67,7 +77,15 @@ < drbd-kernel-compat/cocci/debugfs_compat_template.cocci.in \ >> $incdir/.compat.cocci done @@ -27,58 +31,46 @@ + echo " COCCI_LIBPATH: "$coccilibpath; + if [ -e $incdir/.compat.cocci ]; then -- echo " SPATCH $chksum "$K -- # Note: $* (or $@) is NOT make magic variable now, this is a shell script -- # make $@, the target file, was passed as $1, and is now $compat_patch -- # make $^, the source (and header) files spatch should operate on, -- # are "the rest of the shell argument array", so after shifting the first -- # argument away this is shell $@ respectively $* now. -- # we know we don't have white-space in the argument list -+ echo " GENCOCCIRULES .compat.cocci"; -+ cat $incdir/.compat.cocci; - -- command="spatch --sp-file $incdir/.compat.cocci $* --macro-file drbd-kernel-compat/cocci_macros.h --very-quiet > $compat_patch.tmp 2> $incdir/.spatch.stderr;" -+ echo " SPATCH $chksum "$K -+ # Note: $* (or $@) is NOT make magic variable now, this is a shell script -+ # make $@, the target file, was passed as $1, and is now $compat_patch -+ # make $^, the source (and header) files spatch should operate on, -+ # are "the rest of the shell argument array", so after shifting the first -+ # argument away this is shell $@ respectively $* now. -+ # we know we don't have white-space in the argument list ++ echo " GENCOCCIRULES .compat.cocci"; ++ cat $incdir/.compat.cocci; ++ + echo " SPATCH $chksum "$K + # Note: $* (or $@) is NOT make magic variable now, this is a shell script + # make $@, the target file, was passed as $1, and is now $compat_patch +@@ -77,8 +95,14 @@ + # we know we don't have white-space in the argument list -- if test -t 0; then -- $SHELL -c "$command" -- else -- # spatch is broken in a way: it "requires" a tty. -- # provide a tty using "script", so I can have several spatch in parallel. -- # They may ignore INT and TERM; if you have to, use HUP. -- </dev/null &> /dev/null script --append $incdir/.spatch.tty.out --return --quiet --command "$command" -- fi -+ command="spatch --sp-file $incdir/.compat.cocci $* --macro-file drbd-kernel-compat/cocci_macros.h --macro-file-builtins $coccilibpath/standard.h --iso-file $coccilibpath/standard.iso --very-quiet > $compat_patch.tmp 2> $incdir/.spatch.stderr;" -+ echo " SPATCH COMMAND $command "; -+ -+ if test -t 0; then -+ $SHELL -c "$command" -+ else -+ # spatch is broken in a way: it "requires" a tty. -+ # provide a tty using "script", so I can have several spatch in parallel. -+ # They may ignore INT and TERM; if you have to, use HUP. -+ </dev/null &> /dev/null script --append $incdir/.spatch.tty.out --return --quiet --command "$command" -+ fi - else -- echo " SPATCH $chksum "$K" - nothing to do" -- touch $compat_patch.tmp -+ echo " SPATCH $chksum "$K" - nothing to do" -+ touch $compat_patch.tmp -+ fi + set +e ++ ++ command="spatch --sp-file $incdir/.compat.cocci $@ --macro-file drbd-kernel-compat/cocci_macros.h --macro-file-builtins $coccilibpath/standard.h --iso-file $coccilibpath/standard.iso --very-quiet --all-includes > $compat_patch.tmp 2> $incdir/.spatch.stderr" ++ echo " SPATCH COMMAND $command "; ++ + spatch --sp-file "$incdir/.compat.cocci" "$@" \ + --macro-file drbd-kernel-compat/cocci_macros.h \ ++ --macro-file-builtins $coccilibpath/standard.h \ ++ --iso-file $coccilibpath/standard.iso \ + --very-quiet \ + --all-includes \ + > "$compat_patch.tmp" \ +@@ -94,9 +118,21 @@ + echo " SPATCH $chksum "$K" - nothing to do" + touch $compat_patch.tmp + fi + + echo " GENSPATCHFILE $compat_patch.tmp "; + cat $compat_patch.tmp; -+ if [ -e $incdir/.spatch.stderr ]; then -+ echo " GENSPATCHERR .spatch.stderr"; -+ cat $incdir/.spatch.stderr; - fi + if [ -e $incdir/.compat.patch ]; then ++ echo " EXIST $incdir/.compat.patch "; cat $incdir/.compat.patch >> $compat_patch.tmp ++ cat $compat_patch.tmp; fi ++ ++ if [ -e $incdir/.spatch.stderr ]; then ++ echo " GENSPATCHERR .spatch.stderr"; ++ cat $incdir/.spatch.stderr; ++ fi ++ + mv $compat_patch.tmp $compat_patch + # keep it around + # to better be able to match the "stderr" warnings to their source files