Accepting request 737345 from network:ha-clustering:Factory

OBS-URL: https://build.opensuse.org/request/show/737345
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/drbd?expand=0&rev=81
This commit is contained in:
Dominique Leuenberger 2019-10-11 13:20:10 +00:00 committed by Git OBS Bridge
commit 76c68b5619
7 changed files with 100 additions and 54 deletions

View File

@ -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">

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3578c155c748ec0485d64a15d39734805278ba267302fe41f075fd74e367e6f5
size 338041

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d8e52116da1c4e6b4150251740944e1a0558ca69420785306c8492f6b40c58d1
size 341239

View File

@ -1,3 +1,46 @@
-------------------------------------------------------------------
Fri Oct 11 02:32:09 UTC 2019 - nick wang <nwang@suse.com>
- 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
-------------------------------------------------------------------
Wed Sep 20 08:22:12 UTC 2019 - nick wang <nwang@suse.com>

View File

@ -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 @@ ln -s ../scripts obj/
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

View File

@ -1 +1 @@
GIT-hash: 8e93a5d93b62db7cb3657557e0dafa1c8a1b0cc6
GIT-hash: 7dce3c8be99f4912f1490f9bb37f5aff6c873335

View File

@ -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 > $@.tmp 2> $(incdir)/.spatch.stderr
+ $(eval libpath := $(shell rpm -ql coccinelle|grep standard.h|xargs dirname))
+ @echo " sources: $(sources)"
+ @echo " libpath: $(libpath)"
+ @touch $@.tmp
+ @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 >> $@.tmp 2> $(incdir)/.spatch.stderr; \
+ fi
+ @if [ -e $@.tmp ]; then \
+ echo " GENSPATCHFILE $@.tmp"; \
+ cat $@.tmp; \
+ 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 >> $@.tmp; \
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;