Skip to contentSkip to conversation

drbd-9.3.3-rc.1 and drbd-9.2.19-rc.1

DISCUSSION Philipp Reisner 1 participant 1 message Jun 18

lore
Share & tools
lore
#0 lore raw

Hi,

With the upcoming release, we are fixing a surprisingly large number of bugs across the board. All of the issues are related to unusual timings. An example is the resize that could lock up when a write on a remote peer switched an activity log extent on the resizing machine at the "wrong time".
The other large fix is that DRBD around the scenario
when a diskless primary gets isolated from all storage servers at once, and the storage servers get isolated from each other at the same moment. E.g. a network switch failure.

This is a release candidate. Please help test it.

I'm planning the final release for Monday, June 29.

9.3.3-rc.1 (api:genl2/proto:86-101,118-124/transport:21)
--------
* Support adding and removing paths on established lb-tcp connections
* Fix a page-reference leak on TLS connections by copying instead of referencing pages when sending
* Reject paths that would make incoming connections ambiguous
* All fixes from 9.2.19
- Fix silent data divergence when a diskless primary creates a new current UUID that a peer never received (e.g. switch failure); the optimistic UUID is now confirmed via the data stream before being relied upon
- Reconcile two peers holding the same current UUID but still carrying out-of-sync bits toward each other, instead of silently dropping the divergence
- Fix a list corruption crash when freeing a peer_req that was still linked on the send_oos list
- Fix an AB-BA deadlock between online resize and activity-log transactions
- Fix a use-after-free of the TCP listener during connection setup
- Fix a list corruption crash and assertion failures when a peer disconnects while online-verify requests are still in flight
- Fix several races during connection teardown that could crash or hang (ack_sender requeue, pending ping work, in-progress lb-tcp connect)
- Abort a two-phase-commit on peers when the target connection fails to prepare
- Added max_parallel_resyncs module parameter to cap how many volumes may resync (or verify) in parallel
- Fix multiple RDMA transport bugs hit during racing teardown: a NULL pointer dereference, a self-deadlock, and a cm object leak
- Fix bogus resync speed/ETA reported in /proc/drbd when the out-of-sync amount grows
- Do not throttle a resync that is losing ground to ongoing writes

https://pkg.linbit.com//downloads/drbd/9/drbd-9.3.3-rc.1.tar.gz
https://github.com/LINBIT/drbd/commit/40a5c7792f0791838c87fa74cc0ad91c49421200

https://pkg.linbit.com//downloads/drbd/9/drbd-9.2.19-rc.1.tar.gz
https://github.com/LINBIT/drbd/commit/e0f5483477fd0a56886d11143103cf3b5a069735

cheers,
Philipp