drbd-9.2.13
Philipp Reisner
philipp.reisner at linbit.com
Mon Mar 24 14:13:28 CET 2025
Hello DRBD users,
This release brings a bunch of important fixes. The first one affects
only resources with three (or more) replicas when rs-discard-granularity
is enabled and in a specific resync scenario.
A-->B
\ |
\ |
vv
C
A has active resyncs from A to B and from A to C, while the connection
B to C is in a paused resync state.
LINSTOR enables quorum in a 3-node system. With quorum enabled, such
a resync scenario can not occur during regular operations but only when
"re-creating" a resource, e.g., restoring a backup. We discovered this
while working on tests for our CI loop and will test this scenario as
well moving forward.
The machine freezes mentioned below were a completely different story.
Only a customer was able to reproduce them about once a day. With the
information that drbd-9.1 does not produce these machine freezes, we
finally identified a wrong use of a kernel function that led to such bad
error behavior.
I recommend upgrading to this release from older 9.2.x or 9.1.x releases.
9.2.13 (api:genl2/proto:86-101,118-122/transport:19)
--------
* Fix a bug in the rs-discard-granularity feature; when having three
or more replicas and after a particular resync scenario in the
final consequence, it led to inconsistencies in the mirroring aka
data corruption
* Fix a bug that causes drbd not to finish a write request; DRBD
noticed that the request did not finish and abandoned the
connection; it happened only on resync-target primaries
* Fix a bug that causes machine freeze (without OOPS message) under
particular heavy network load conditions (a missing call to
skb_abort_seq_read())
* An up-to-date node no longer gets outdated by a far (not a
neighbor) primary that is incapable (I.e. has an inconsistent disk
and no access to up-to-date data)
* Fix for a race condition between new writes getting submitted and a
connection getting abandoned due to a send error; when it triggered,
DRBD failed to complete a (or multiple) write request(s)
* Fix a (never observed) race condition that causes false ping timeouts
* Fix a minor memory leak; it failed to free the memory allocated for
a specific class of state change log messages
* Fix a reference counting bug in the RDMA transport upon address or
route resolution errors
* Fix detecting dead peers on idle connections in the RDMA transport
* Enable TCP keepalive packets by default in the TCP transports
* Add a DKMS package for RPM-based Linux distributions
* Add a docker recipe for sles15
* Compatibility with coccinelle 1.2
* Compatibility with Linux 6.13
https://pkg.linbit.com//downloads/drbd/9/drbd-9.2.13.tar.gz
https://github.com/LINBIT/drbd/commit/0457237e0448663529fe161781873b356f17b3c5
More information about the drbd-announce
mailing list