drbd-9.2.15-rc.1

Philipp Reisner philipp.reisner at linbit.com
Thu Sep 11 16:56:29 CEST 2025


Hi DRBD-uses,

This release includes the usual number of fixes, triggered by various
corner cases, each of which affected only a small part of our user
base. As usual, we added tests covering such corner cases to our test
suite where it seems reasonable.

One of the larger changes is support for compatibility with drbd v8. We
kept protocol compatibility since we forked off drbd v9. However, we
intentionally broke the /proc/drbd interface and the drbdsetup command
line, for good reasons. We are now reintroducing this compatibility, on
an optional basis. You need to enable it at compile time by passing
"CONFIG_DRBD_COMPAT_84=y" on the make command line. This is a
preparation step for submitting drbd-9 as an update of drbd v8.4 in the
upstream Linux kernel.

I also need to mention that drbd-9.2.14 has a slight performance
regression compared to drbd-9.2.13. The receiver thread can consume up
to 5% more CPU (relative to earlier releases). This is a consequence of
removing the 'open-coded custom page pool'. This is the first step in a
larger plan to enable drbd to use compound pages as I/O buffers, and it
will also enable zero-copy receive from TCP. With that, such a page pool
becomes unnecessary, and it will reduce CPU usage below that of
drbd-9.2.13.
We did not address this slight performance regression in drbd-9.2.15 as
I consider it temporarily acceptable.


This is a release candidate.
The final release is scheduled for September 22.


9.2.15-rc.1 (api:genl2/proto:86-101,118-122/transport:19)
--------
 * Fixed the regression introduced with 9.2.13, where a DRBD primary
   resource never finishes a resync with a newly added peer
 * Make DRBD's ability to discard(trim) blocks on a resync-target if
   they are all zero on the sync source compatible with block devices
   that have a lower max_hw_sectors_kb value than the rs-discard-granularity
 * A bunch of fixes for the RDMA transport: A potential BUG() when
   removing the transport_rdma module, a memory leak upon a send
   failure, a race between re-creating rx descriptors and
   disconnecting, and a NULL ptr deref as a consequence of a race
   between removing a path and accepting a connection
 * Add the kernel side of drbd v8 compatibility, which includes
   drbdsetup command line compatibility, reading and writing of v8
   metadata, and v8 style /proc/drbd. By default, this is not compiled in
 * Verified compatibility for Linux-6.16 and 6.17-rc5


https://pkg.linbit.com//downloads/drbd/9/drbd-9.2.15-rc.1.tar.gz
https://github.com/LINBIT/drbd/commit/4eb73b3c9a03ea4d1b5a1ae8ab1bc1fc1797006f

cheers,
 Philipp


More information about the drbd-announce mailing list