[DRBD-announce] drbd-9.0.20-1

Philipp Reisner <[email protected]>
Newsgroups dev.linux.lists.drbd-announce
Message-ID <2821659.NS9FCa6JyO@fat-tyre>
Hi,

With this release the big news is the new way we deal with compatibility
for older linux kernels. It used to be a mechanism based of #IFDEFs that
tainted the main drbd code more and more.
Now the DRBD code is clean Linux-upstream compatible code. In order that
you can compile it against older and distribution kernels the build
process automatically applies a compat-patch. These compat-patches are
computed using coccinelle/spatch semantic patches. See here for more
information:

https://www.linbit.com/en/how-to-make-drbd-compatible-to-the-linux-kernel/

During the long release-candidate phase of this release we had the idea to
offer spatch as a service. I.e. make sure your build environment may connect
to the internet, building should work and you do not need to care about
installing coccinelle/spatch into your build environment.

Other than that the number of bug-fixes that landed in this release is
higher than in any previous releases. What started as a loosely knit group
of open source uses is now a group of serious enterprise users. This time
we got a lot of feedback during the RC phase that allowed us to iron out
more issues than with any previous releases.

A big thank you to our community!



Here is the changelog:

9.0.20-1 (api:genl2/proto:86-115/transport:14)
--------
 * 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

https://www.linbit.com/downloads/drbd/9.0/drbd-9.0.20-1.tar.gz
https://launchpad.net/~linbit/+archive/ubuntu/linbit-drbd9-stack
https://github.com/LINBIT/drbd/commits/7dce3c8be99f4912f1490f9bb37f5aff6c873335

cheers!
-- 
LINBIT | Keeping The Digital World Running

DRBD® and LINBIT® are registered trademarks of LINBIT, Austria.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.