<div dir="ltr"><div>Hi,<br><br>only two weeks after the 9.0.23 release I am already starting the<br>next release cycle. The main reason is a change that was sitting<br>in a branch that I wanted to postpone after the 9.0.23<br>release. It is about making the detection of split-brain<br>situations more reliable.<br><br>So far with all DRBD-9 releases, if you have two nodes primary<br>and they try to reconnect the abort establishing the connection<br>at the moment they find out that both are primary, and retry in<br>10 seconds.  DRBD-8.4 was a bit more elegant in such a<br>situation. It detected the split-brain first and the two go into<br>StandAlone and stop trying endlessly. That allows users to hook<br>special handling into the split-brain handler(s).  This release<br>restores this capability of drbd-8.4. With that comes a new<br>protocol version.<br><br>The other fix is relevant for LINSTOR users where workload might<br>run on diskless-primary nodes. The particular corner-case bug<br>triggered when:<br><br>- in a cluster of two storage nodes and one diskless node<br>- one storage node is primary gets hard rebooted<br>- the workload is moved to the diskless node while<br>  the storage node is down (primary role moves)<br>- the new primary does not issue any writes <br>- the rebooted storage node connects to the other storage node<br>  first, before it connects to the diskless node<br>then it stays &quot;Inconsistent&quot; after the resync.<br><br>A workaround applicable to all drbd9 versions before 9.0.24 is to<br>do a drbdadm disconnect / connect between the two storage nodes.</div><div><br></div><div>This is a release candidate, please help testing it.</div><div><br></div><div>Changelog:</div><div><br></div><div>9.0.24-0rc1 (api:genl2/proto:86-117/transport:14)<br>--------<br> * fix deadlock when connecting drbd-9 to drbd-8.4 and the drbd-9<br>   side becomes sync-source<br> * fix an issue with 3 (or more) node configurations; with a diskless node<br>   and two storage nodes; if one of the storage nodes was hard rebooted<br>   and came back and the diskless got primary and did not issue write<br>   requests and the returning storage node established a connection with<br>   the surviving storage node first, DRBD failed to upgrade the disk<br>   state to UpToDate after the resync<br> * detect split-brain situations also when both nodes are primary;<br>   this is how it was in drbd-8.4; up to now drbd-9 did not realize<br>   the split-brain since it complains about the not allowed dual<br>   primary first; for this change a new protocol version was necessary<br> * verified it compiles with Linux 5.7<br></div><div><br></div><div><a href="https://www.linbit.com/downloads/drbd/9.0/drbd-9.0.24-0rc1.tar.gz">https://www.linbit.com/downloads/drbd/9.0/drbd-9.0.24-0rc1.tar.gz</a><br></div><div><a href="https://github.com/LINBIT/drbd/commit/41bee98b3095a06948b9aa48258e9c877e0eadac">https://github.com/LINBIT/drbd/commit/41bee98b3095a06948b9aa48258e9c877e0eadac</a><br></div><div><br></div><div>Best regards,</div><div> Phil</div><div><br></div><div><br></div></div>