diff --git a/_service b/_service index acf2f53..7319e84 100644 --- a/_service +++ b/_service @@ -9,9 +9,9 @@ This will download branch first instead of tag. drbd-9.0 - 9.0.20~1 + 9.0.21~1 --> - 9.0.20~1+git.%h + 9.0.21~1+git.%h drbd-9.0 diff --git a/drbd-9.0.20~1+git.7dce3c8b.tar.bz2 b/drbd-9.0.20~1+git.7dce3c8b.tar.bz2 deleted file mode 100644 index ffc6e0f..0000000 --- a/drbd-9.0.20~1+git.7dce3c8b.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d8e52116da1c4e6b4150251740944e1a0558ca69420785306c8492f6b40c58d1 -size 341239 diff --git a/drbd-9.0.21~1+git.449d6bf2.tar.bz2 b/drbd-9.0.21~1+git.449d6bf2.tar.bz2 new file mode 100644 index 0000000..aab0ba5 --- /dev/null +++ b/drbd-9.0.21~1+git.449d6bf2.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0a590f00b1c419cac0cd9bd961579cace01ccc54ff1a213f96a018d4f47a9ed +size 341938 diff --git a/drbd.changes b/drbd.changes index f311664..01a21f8 100644 --- a/drbd.changes +++ b/drbd.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Tue Feb 25 07:03:39 UTC 2020 - nick wang + +- Update to drbd-9.0.21-1, require coccinelle >= 1.0.8 + * fix compat for write same on linux 4.9 and the Debian users + * fix kernel compat for linux 4.8 and 4.9; this mainly affected Debian + users; The symptoms where slow resync and resync getting stuck always at + the same point + * enable resync of lost and re-created backing devices (think lost node) when + the backing device was thinly provisioned and its current uuid is pre-set + to a 'day0 UUID' (by LINSTOR); that works by copying a unused bitmap slot + which tracks all changes since day 0 + * fix attach when bitmap is on PMEM; before it was set to + 'all blocks out-of-sync' upon attach + * avoid doing reconciliation resync multiple times by updating the + resync target's dagtag after if completed successfully + * return disk-state from Outdated to UpToDate when it loses connection + while in WFBitMapT and we have a stable and UpToDate peer + * new option --force-resync flag can be passed to new-current-uuid, that + can be used to trigger initial resync without touching the role +- Remove upstream drbd-update-resync-target-s-dagtag.patch +- Modify patch suse-coccinelle.patch to adopt spaas + ------------------------------------------------------------------- Fri Jan 3 08:52:14 UTC 2020 - nick wang diff --git a/drbd.spec b/drbd.spec index 3845fd9..ef314b8 100644 --- a/drbd.spec +++ b/drbd.spec @@ -23,7 +23,7 @@ %endif %endif Name: drbd -Version: 9.0.20~1+git.7dce3c8b +Version: 9.0.21~1+git.449d6bf2 Release: 0 Summary: Linux driver for the "Distributed Replicated Block Device" License: GPL-2.0-or-later @@ -36,12 +36,11 @@ Source3: drbd_git_revision 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 -Patch4: drbd-update-resync-target-s-dagtag.patch #In 61ff72f401680(v5.5-rc2), pr_warning is removed -Patch5: without_pr_warning.patch -Patch6: suse-coccinelle.patch +Patch4: without_pr_warning.patch +Patch99: suse-coccinelle.patch #https://github.com/openSUSE/rpmlint-checks/blob/master/KMPPolicyCheck.py -BuildRequires: coccinelle +BuildRequires: coccinelle >= 1.0.8 BuildRequires: kernel-source BuildRequires: kernel-syms BuildRequires: libelf-devel @@ -76,8 +75,7 @@ installed kernel. %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 -%patch6 -p1 +%patch99 -p1 mkdir source cp -a drbd/. source/. || : diff --git a/drbd_git_revision b/drbd_git_revision index b44ca2b..afaff3e 100644 --- a/drbd_git_revision +++ b/drbd_git_revision @@ -1 +1 @@ -GIT-hash: 7dce3c8be99f4912f1490f9bb37f5aff6c873335 +GIT-hash: 449d6bf22b01af7d14a297a4ed3e281aa84c94a5 diff --git a/suse-coccinelle.patch b/suse-coccinelle.patch index 5e07dc2..4c2b814 100644 --- a/suse-coccinelle.patch +++ b/suse-coccinelle.patch @@ -1,60 +1,73 @@ -diff -Naur drbd-9.0.20~1+git.7dce3c8b.orig/drbd/drbd-kernel-compat/gen_compat_patch.sh drbd-9.0.20~1+git.7dce3c8b/drbd/drbd-kernel-compat/gen_compat_patch.sh ---- drbd-9.0.20~1+git.7dce3c8b.orig/drbd/drbd-kernel-compat/gen_compat_patch.sh 2020-01-09 13:38:00.998984586 +0800 -+++ drbd-9.0.20~1+git.7dce3c8b/drbd/drbd-kernel-compat/gen_compat_patch.sh 2020-01-09 13:38:10.407036976 +0800 -@@ -41,6 +41,15 @@ +diff -Naur drbd-9.0.21~1+git.449d6bf2.orig/drbd/drbd-kernel-compat/gen_compat_patch.sh drbd-9.0.21~1+git.449d6bf2/drbd/drbd-kernel-compat/gen_compat_patch.sh +--- drbd-9.0.21~1+git.449d6bf2.orig/drbd/drbd-kernel-compat/gen_compat_patch.sh 2019-12-16 14:42:10.832866579 +0800 ++++ drbd-9.0.21~1+git.449d6bf2/drbd/drbd-kernel-compat/gen_compat_patch.sh 2019-12-16 15:11:08.209750606 +0800 +@@ -56,29 +56,49 @@ < drbd-kernel-compat/cocci/debugfs_compat_template.cocci.in \ - >> $incdir/.compat.cocci; - done; + >> $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 script --append $incdir/.spatch.tty.out --return --quiet --command "$command" - fi + 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 +- +- command="spatch --sp-file $incdir/.compat.cocci $* --macro-file drbd-kernel-compat/cocci_macros.h --very-quiet > $compat_patch.tmp 2> $incdir/.spatch.stderr;" +- +- 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 script --append $incdir/.spatch.tty.out --return --quiet --command "$command" +- fi ++ 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 ++ # 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 ++ ++ 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 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 + + echo " GENSPATCHFILE $compat_patch.tmp "; + cat $compat_patch.tmp; + if [ -e $incdir/.spatch.stderr ]; then + echo " GENSPATCHERR .spatch.stderr"; + cat $incdir/.spatch.stderr; -+ fi + fi + if [ -e $incdir/.compat.patch ]; then - cat $incdir/.compat.patch >> $compat_patch.tmp; - fi; -diff -Naur drbd-9.0.20~1+git.7dce3c8b.orig/Makefile drbd-9.0.20~1+git.7dce3c8b/Makefile ---- drbd-9.0.20~1+git.7dce3c8b.orig/Makefile 2020-01-09 13:38:00.994984563 +0800 -+++ drbd-9.0.20~1+git.7dce3c8b/Makefile 2020-01-09 13:41:50.512262670 +0800 -@@ -310,9 +310,11 @@ - endif - - coccicheck: coccinelle/*.cocci -+ $(eval coccilibpath := $(shell rpm -ql coccinelle|grep standard.h|xargs dirname)) - @for file in $^ ; do \ - echo " COCCICHECK $$(basename $${file} .cocci)"; \ -- spatch --very-quiet drbd/drbd_*.c -D $(MODE) --sp-file $${file}; \ -+ spatch drbd/drbd_*.c --macro-file-builtins $(coccilibpath)/standard.h \ -+ --iso-file $(coccilibpath)/standard.iso -D $(MODE) --sp-file $${file}; \ - done - - Makefile: ; + cat $incdir/.compat.patch >> $compat_patch.tmp + fi