Hello community, here is the log from the commit of package drbd for openSUSE:Factory checked in at 2019-10-11 15:20:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/drbd (Old) and /work/SRC/openSUSE:Factory/.drbd.new.2352 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "drbd" Fri Oct 11 15:20:10 2019 rev:81 rq:737345 version:9.0.20~1+git.7dce3c8b Changes: -------- --- /work/SRC/openSUSE:Factory/drbd/drbd.changes 2019-09-23 12:46:35.545519393 +0200 +++ /work/SRC/openSUSE:Factory/.drbd.new.2352/drbd.changes 2019-10-11 15:20:48.719527156 +0200 @@ -1,0 +2,43 @@ +Fri Oct 11 02:32:09 UTC 2019 - nick wang <[email protected]> + +- Update to drbd-9.0.20-1 + * fix a case of false split brain detection if a diskless node promotes + multiple times, by aligning the rules for generating a new current-UUID + on a diskless nodes with them on a node with disk + * check if we still have quorum by exchanging a drbd-ping with peers + before creating new current UUID after loosing one peer + * fix after weak handling to not interfere with reconciliation resyncs + * retry connect when one of the relevant flags changes during UUID exchange + * fix reconciliation resync if one of the secondary got an current-UUID update + * fix resync to make progress after it was paused by an other resync operation + * fix false split-brains when a resync source changes current-UUID during + resync operation + * fix restore of D_OUTDATED when the resource first only attached and + then the peer objects are created (in contrast to the usual, new-peer, + attach, connect) + * abort creating new current-UUID when writing to meta-data fails in + the moment where the new-current-UUID should be written + * removed DRBD marking itself as read-only when secondary; this flag + was exposed using the BLKROGET ioctl; that should be left to user-land + use; recent KVM checks that flag, and does not dare auto-promote when + set by DRBD + * fix a small memory-leak when creating peer devices + * fix a possible information leak of kernel memory that pads net-link packets + * completing implications of "allow-remote-read=no"; i.e. when not to + create a new-current-UUID as read-write access to the data set was lost; + also fail both reads and writes if reads are no longer possible + * new option value "rr-conflict=retry-connect"; that helps in scenarios with + quorum where stopping a service takes longer than a temporarily network + outage and DRBD's reconnect + * code cleanups, introduced enums for remaining magic numbers + * new kernel-backward-compatibility framework based on spatch/coccinelle, + replacing an unmaintainable moloch of C preprocessor hell; Merged the + complete kernel-compat submodule + * ships with pre-computed compat-patches for main distros' kernels; in case + an other kernel is found it tries to use local spatch, if that is not + installed the build process tries to use a LINBIT hosted web service + to create the compat patch ("spatch-as-a-service"). + * compat with up to Linux-5.3-rc2 +- Modify patch suse-coccinelle.patch to adopt spaas + +------------------------------------------------------------------- Old: ---- drbd-9.0.19~1+git.8e93a5d9.tar.bz2 New: ---- drbd-9.0.20~1+git.7dce3c8b.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ drbd.spec ++++++ --- /var/tmp/diff_new_pack.gmqozw/_old 2019-10-11 15:20:52.423516974 +0200 +++ /var/tmp/diff_new_pack.gmqozw/_new 2019-10-11 15:20:52.423516974 +0200 @@ -23,7 +23,7 @@ %endif %endif Name: drbd -Version: 9.0.19~1+git.8e93a5d9 +Version: 9.0.20~1+git.7dce3c8b Release: 0 Summary: Linux driver for the "Distributed Replicated Block Device" License: GPL-2.0-or-later @@ -86,14 +86,16 @@ export WANT_DRBD_REPRODUCIBLE_BUILD=1 export CONFIG_BLK_DEV_DRBD=m export EXTRA_CFLAGS='-DVERSION=\"%{version}\"' -export ALWAYS_WANT_SPATCH='yes' +# Unset SPAAS or set as 'true' will use `spatch-as-a-service` from drbd.io +# when "coccinelle" not installed. Set SPAAS to 'false' to force an ERROR. +export SPAAS='false' for flavor in %{flavors_to_build}; do rm -rf $flavor cp -r source $flavor cp %{_sourcedir}/Module.supported $flavor export DRBDSRC="$PWD/obj/$flavor" - make %{?_smp_mflags} -C %{kernel_source $flavor} modules M=$PWD/$flavor + make %{?_smp_mflags} -C %{kernel_source $flavor} modules M=$PWD/$flavor SPAAS=${SPAAS} #Check the compat result cat $PWD/$flavor/compat.h ++++++ _service ++++++ --- /var/tmp/diff_new_pack.gmqozw/_old 2019-10-11 15:20:52.475516831 +0200 +++ /var/tmp/diff_new_pack.gmqozw/_new 2019-10-11 15:20:52.475516831 +0200 @@ -7,11 +7,12 @@ To update to a new release, change "revision" to the desired git commit hash and bump "version" if necessary + This will download branch first instead of tag. <param name="revision">drbd-9.0</param> - <param name="version">9.0.19~1</param> + <param name="version">9.0.20~1</param> --> - <param name="versionformat">9.0.19~1+git.%h</param> - <param name="revision">8e93a5d93b62db7cb3657557e0dafa1c8a1b0cc6</param> + <param name="versionformat">9.0.20~1+git.%h</param> + <param name="revision">drbd-9.0</param> </service> <service name="recompress" mode="disabled"> ++++++ drbd-9.0.19~1+git.8e93a5d9.tar.bz2 -> drbd-9.0.20~1+git.7dce3c8b.tar.bz2 ++++++ ++++ 7861 lines of diff (skipped) ++++++ drbd_git_revision ++++++ --- /var/tmp/diff_new_pack.gmqozw/_old 2019-10-11 15:20:52.871515743 +0200 +++ /var/tmp/diff_new_pack.gmqozw/_new 2019-10-11 15:20:52.871515743 +0200 @@ -1 +1 @@ -GIT-hash: 8e93a5d93b62db7cb3657557e0dafa1c8a1b0cc6 +GIT-hash: 7dce3c8be99f4912f1490f9bb37f5aff6c873335 ++++++ suse-coccinelle.patch ++++++ --- /var/tmp/diff_new_pack.gmqozw/_old 2019-10-11 15:20:52.891515688 +0200 +++ /var/tmp/diff_new_pack.gmqozw/_new 2019-10-11 15:20:52.891515688 +0200 @@ -1,44 +1,44 @@ -diff -Naur drbd-9.0.19~1+git.8e93a5d9.orig/drbd/Makefile drbd-9.0.19~1+git.8e93a5d9/drbd/Makefile ---- drbd-9.0.19~1+git.8e93a5d9.orig/drbd/Makefile 2019-09-23 13:27:35.397783666 +0800 -+++ drbd-9.0.19~1+git.8e93a5d9/drbd/Makefile 2019-09-23 13:30:43.378710223 +0800 -@@ -170,6 +170,9 @@ - ifeq ($(DRBD_BUILD_FROM_GIT),yes) - sources := $(filter-out drbd_strings.c drbd_buildtag.c,$(wildcard *.c)) - sources += $(wildcard drbd-headers/linux/*.h) -+else ifeq ($(ALWAYS_WANT_SPATCH),yes) -+ sources := $(filter-out drbd_strings.c drbd_buildtag.c,$(wildcard *.c)) -+ sources += $(wildcard drbd-headers/linux/*.h) - else - sources := - endif -@@ -196,9 +199,27 @@ - fi \ - done - @echo " SPATCH $(chksum)" -- @spatch --sp-file $(incdir)/.compat.cocci \ -- $(sources) \ -- --macro-file drbd-kernel-compat/cocci_macros.h > [email protected] 2> $(incdir)/.spatch.stderr -+ $(eval libpath := $(shell rpm -ql coccinelle|grep standard.h|xargs dirname)) -+ @echo " sources: $(sources)" -+ @echo " libpath: $(libpath)" -+ @touch [email protected] -+ @if [ -e $(incdir)/.compat.cocci ]; then \ -+ echo " GENCOCCIRULES .compat.cocci"; \ -+ cat $(incdir)/.compat.cocci; \ -+ spatch --sp-file $(incdir)/.compat.cocci \ -+ $(sources) \ -+ --macro-file drbd-kernel-compat/cocci_macros.h \ -+ --macro-file-builtins $(libpath)/standard.h \ -+ --iso-file $(libpath)/standard.iso >> [email protected] 2> $(incdir)/.spatch.stderr; \ -+ fi -+ @if [ -e [email protected] ]; then \ -+ echo " GENSPATCHFILE [email protected]"; \ -+ cat [email protected]; \ -+ fi -+ @if [ -e $(incdir)/.spatch.stderr ]; then \ -+ echo " GENSPATCHERR .spatch.stderr"; \ -+ cat $(incdir)/.spatch.stderr; \ -+ fi - @if [ -e $(incdir)/.compat.patch ]; then \ - cat $(incdir)/.compat.patch >> [email protected]; \ - fi +diff -Naur drbd-9.0.20~0rc3+git.9c642cce.orig/drbd/drbd-kernel-compat/gen_compat_patch.sh drbd-9.0.20~0rc3+git.9c642cce/drbd/drbd-kernel-compat/gen_compat_patch.sh +--- drbd-9.0.20~0rc3+git.9c642cce.orig/drbd/drbd-kernel-compat/gen_compat_patch.sh 2019-10-09 15:10:24.932509799 +0800 ++++ drbd-9.0.20~0rc3+git.9c642cce/drbd/drbd-kernel-compat/gen_compat_patch.sh 2019-10-10 17:51:46.280918975 +0800 +@@ -41,6 +41,15 @@ + < drbd-kernel-compat/cocci/debugfs_compat_template.cocci.in \ + >> $incdir/.compat.cocci; + done; ++ ++ echo " APPLIED_COCCI_FILES "; ++ cat $incdir/applied_cocci_files.txt; ++ coccilibpath=$(rpm -ql coccinelle|grep standard.h|xargs dirname); ++ echo " SPATCH_SOURCES: "$*; ++ echo " COCCI_LIBPATH: "$coccilibpath; ++ 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 +@@ -49,7 +58,8 @@ + # argument away this is shell $@ respectively $* now. + # we know we don't have white-space in the argument list + +- command="spatch --sp-file $incdir/.compat.cocci $* --macro-file drbd-kernel-compat/cocci_macros.h --very-quiet > $compat_patch.tmp 2> $incdir/.spatch.stderr;" ++ 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" +@@ -59,6 +69,14 @@ + # 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 ++ ++ 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 + cat $incdir/.compat.patch >> $compat_patch.tmp; + fi;
