Hello DRBD-user, Today I am announcing the drbd-9.1.14 and drbd-9.2.3 releases. In this eight-week development cycle, we fixed interesting issues in different places.
An area of attention was the "resync-after" functionality. This feature allows you to serialize resyncs of resources. That is interesting when you have many resources needing to resync when a node returns online. After rc.1 we sneaked in two minor changes on the drbd-9.1 branch. One change is how a timeout is derived, which only affects users that use non-standard timeout settings. The second one simplifies the code and potentially fixes a bug of which we have seen a single occurrence so far. On the 9.2 branch, we needed to fix a network protocol compatibility with drbd-8.4. 9.1.14 (api:genl2/proto:110-121/transport:17) -------- * fix a race with concurrent promotion and demotion, which can lead to an unexpected "split-brain" later on * fix a specific case where promotion was allowed where it should not * fix a race condition between auto-promote and a second two-phase commit that can lead to a DRBD thread locking up in an endless loop * fix several bugs with "resync-after": - missing resync-resume when minor numbers run in opposite direction as the resync-after dependencies - a race that might lead to an OOPS in add_timer() * fix an OOPS when reading from in_flight_summary in debugfs * fix a race that might lead to an endless loop of printing "postponing start_resync" while starting a resync * fix diskless node with a diskfull with a 4KiB backend * simplify remembering two-pc parents, maybe fixing a one-time-seen bug * derive abort_local_transaction timeout from ping-timeout 9.2.3 (api:genl2/proto:110-122/transport:18) -------- * improve matching ACKs to in-memory request objects; inexact matches were a source of unexpected connection losses * merge changes from drbd-9.1.14 - fix a race with concurrent promotion and demotion, which can lead to an unexpected "split-brain" later on - fix a specific case where promotion was allowed where it should not - fix a race condition between auto-promote and a second two-phase commit that can lead to a DRBD thread locking up in an endless loop - fix several bugs with "resync-after": - missing resync-resume when minor numbers run in opposite direction as the resync-after dependencies - a race that might lead to an OOPS in add_timer() - fix an OOPS when reading from in_flight_summary in debugfs - fix a race that might lead to an endless loop of printing "postponing start_resync" while starting a resync - fix diskless node with a diskfull with a 4KiB backend - simplify remembering two-pc parents, maybe fixing a one-time-seen bug - derive abort_local_transaction timeout from ping-timeout https://pkg.linbit.com/downloads/drbd/9/drbd-9.1.14.tar.gz https://github.com/LINBIT/drbd/commit/df55dfb7a93484b7d7eb0c4deac62d887cfcbf67 https://pkg.linbit.com/downloads/drbd/9/drbd-9.2.3.tar.gz https://github.com/LINBIT/drbd/commit/c142ca1280c41aee1330b980544ef276330ff6ef Philipp _______________________________________________ Star us on GITHUB: https://github.com/LINBIT drbd-user mailing list drbd-user@lists.linbit.com https://lists.linbit.com/mailman/listinfo/drbd-user