[DRBD-announce] drbd-9.0.20-0rc1

Philipp Reisner philipp.reisner at linbit.com
Fri Sep 20 14:49:27 CEST 2019


Hi,

a lot has happened since the last release. We rolled in a new way how
kernel compatibility is handled. It is based on spatch/coccinelle
now. While it was painful to switch we hope that the compat layer
is now easier to understand while we move forward.
Here is a blog-post that describes that in more detail:
https://www.linbit.com/en/how-to-make-drbd-compatible-to-the-linux-kernel/

In this cycle we have a bit more bug fixes that usual. As the bugs
are more sophisticated and non obvious, out method transforms into a
test-driven approach to development. See the new tests in the drbd9
testsuite.

A number of corner-cases that lead to false split-brains has been
resolved.

Please help testing this pre-release.


9.0.20-0rc1 (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
 * 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
 * compat with up to Linux-5.3-rc2


https://www.linbit.com/downloads/drbd/9.0/drbd-9.0.20-0rc1.tar.gz
https://launchpad.net/~linbit/+archive/ubuntu/linbit-drbd9-stack
https://github.com/LINBIT/drbd/commit/1370004953ad8dad28a0ea4cdab3f9e685f5e47e

best regards,
 Phil
-- 
LINBIT | Keeping The Digital World Running

DRBD® and LINBIT® are registered trademarks of LINBIT, Austria.





More information about the drbd-announce mailing list