Mailing List Archive

drbd-9.2.0-rc.1, drbd-9.1.5-rc.1, drbd-9.0.32-0rc1
Hello,

Nikolaus/Saint Nicholas brings you the first triple release of DRBD.

For 9.0 we got a dividend from the WinDRBD effort. There was an
access-after-free bug hiding in the code, that is no issue when DRBD is
running in the Linux kernel since the Linux kernel does not un-map the
addresses after freeing objects from a mem-pool. With WinDRBD this is
different, after analyzing the bug, we fixed it in the Linux DRBD of course
(which is the upstream for WinDRBD). As announced earlier this Year the
9.0.32 release will be the final release of the 9.0 branch.

DRBD-9.1 gets the bug fixes from the 9.0 branch, and a locking regression
was fixed, specific to the 9.1 branch. From now on 9.1 is the branch that
receives bug fixes only.

In DRBD-9.2 we merged 3 exciting changes:

* Ack processing in TCP/RDMA softirq context. This reduces the latency of
mirrored write requests. The faster your NVMe-SSD is, the higher is the
effect of reducing IO latency by removing two invocations of the Linux
process scheduler. In a quick test I got these improvements:
17µs for 4kiB block writes (455.93µs -> 439.28µs)
239µs for 64kiB block writes (1813.66µs -> 1579.62µs)

* Reducing the granularity of lockout between application IO and resync
IO. Before this change, any 128MB chunk of a DRBD device could only do
either application IO or resync IO. This was completely removed, now the
lockout between those two is exactly as big as the IO requests are. This
is an important improvement for intense workloads on fast (NVMe) drives,
making resync and critical database IO coexist nicely and letting both
make fair progress.

* Add the RDMA-transport code. It is a transport implementation for RDMA -
InfiniBand - RoCE - iWarp networks (the RDMA/verbs API). It supports load
balancing between multiple paths and fault tolerance for the DRBD
connection.
ATTENTION: The rdma-transport is "tech preview" at the moment.

Ohh, and drbd-9.2 is completely drop-in compatible with 9.1.

Apart from all those features, I want to point out that our continuous
integration reached unprecedented coverage. It runs 64 tests on each and
every commit, and it is what makes these massive changes, the ack processing
in softirq context and the better coordination between resync and
application IO, possible. One of the next steps: We need to enable automatic
testing of the rdma-transport in the CI system.

Please help test these release candidates.

When everything goes according to the plan, the final releases will come out
next week.

https://pkg.linbit.com/downloads/drbd/9.0/drbd-9.0.32-0rc1.tar.gz
https://pkg.linbit.com/downloads/drbd/9/drbd-9.1.5-rc.1.tar.gz
https://pkg.linbit.com/downloads/drbd/9/drbd-9.2.0-rc.1.tar.gz

best regards,
Philipp