# drbd-9.2.13

**URL:** <https://forums.linbit.com/t/drbd-9-2-13/692>\
**Category:** Release Announcements\
**Tags:** drbd\
**Created:** [March 24, 2025, 1:13pm UTC](https://forums.linbit.com/t/drbd-9-2-13/692 "2025-03-24T13:13:28Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![phil\_reisner](https://avatars.discourse-cdn.com/v4/letter/p/779978/32.png) [@phil\_reisner](https://forums.linbit.com/u/phil_reisner)\
**Post date:** [March 24, 2025, 1:13pm UTC](https://forums.linbit.com/t/drbd-9-2-13/692/1 "2025-03-24T13:13:28Z")

</div>

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.

```auto
     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  
&nbsp;&nbsp;&nbsp;or more replicas and after a particular resync scenario in the  
&nbsp;&nbsp;&nbsp;final consequence, it led to inconsistencies in the mirroring aka  
&nbsp;&nbsp;&nbsp;data corruption  
\* Fix a bug that causes drbd not to finish a write request; DRBD  
&nbsp;&nbsp;&nbsp;noticed that the request did not finish and abandoned the  
&nbsp;&nbsp;&nbsp;connection; it happened only on resync-target primaries  
\* Fix a bug that causes machine freeze (without OOPS message) under  
&nbsp;&nbsp;&nbsp;particular heavy network load conditions (a missing call to  
&nbsp;&nbsp;&nbsp;skb\_abort\_seq\_read())  
\* An up-to-date node no longer gets outdated by a far (not a  
&nbsp;&nbsp;&nbsp;neighbor) primary that is incapable (I.e. has an inconsistent disk  
&nbsp;&nbsp;&nbsp;and no access to up-to-date data)  
\* Fix for a race condition between new writes getting submitted and a  
&nbsp;&nbsp;&nbsp;connection getting abandoned due to a send error; when it triggered,  
&nbsp;&nbsp;&nbsp;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  
&nbsp;&nbsp;&nbsp;a specific class of state change log messages  
\* Fix a reference counting bug in the RDMA transport upon address or  
&nbsp;&nbsp;&nbsp;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://pkg.linbit.com//downloads/drbd/9/drbd-9.2.13.tar.gz)

> <https://github.com/LINBIT/drbd/commit/0457237e0448663529fe161781873b356f17b3c5>
