<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 11">
<meta name=Originator content="Microsoft Word 11">
<link rel=File-List href="cid:filelist.xml@01C761A6.3C99B440">
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:DoNotRelyOnCSS/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:SpellingState>Clean</w:SpellingState>
<w:GrammarState>Clean</w:GrammarState>
<w:DocumentKind>DocumentEmail</w:DocumentKind>
<w:EnvelopeVis/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:UseWord2002TableStyleRules/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]-->
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:"";
        margin:0in;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;
        text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;
        text-underline:single;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        mso-style-noshow:yes;
        mso-ansi-font-size:10.0pt;
        mso-bidi-font-size:10.0pt;
        font-family:Arial;
        mso-ascii-font-family:Arial;
        mso-hansi-font-family:Arial;
        mso-bidi-font-family:Arial;
        color:windowtext;}
span.SpellE
        {mso-style-name:"";
        mso-spl-e:yes;}
span.GramE
        {mso-style-name:"";
        mso-gram-e:yes;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;
        mso-header-margin:.5in;
        mso-footer-margin:.5in;
        mso-paper-source:0;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
        {mso-style-name:"Table Normal";
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-parent:"";
        mso-padding-alt:0in 5.4pt 0in 5.4pt;
        mso-para-margin:0in;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman";
        mso-ansi-language:#0400;
        mso-fareast-language:#0400;
        mso-bidi-language:#0400;}
</style>
<![endif]-->
</head>
<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>
<div class=Section1>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Hi all,<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>We are seeing an issue with split brain if one node is
syncing as <span class=SpellE>syncTarget</span> while being Primary.<o:p></o:p></span></font></p>
<p class=MsoNormal><span class=GramE><font size=3 color=black
face="Times New Roman"><span style='font-size:12.0pt;color:black'>two</span></font></span><font
color=black><span style='color:black'> node A and B.<br>
* make B primary and the <span class=SpellE>syncTarget</span><br>
* Start <span class=GramE>a sync</span>.<br>
* <span class=SpellE><span class=GramE>ifdown</span></span> eth1 to break
communication<br>
* <span class=SpellE><span class=GramE>ifup</span></span> eth1.<br>
* <span class=GramE>then</span> on the node in standalone "<span
class=SpellE>drbdadm</span> connect"<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt;color:black'>We get a split-brain.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt;color:black'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt;color:black'>I think <span class=GramE>the <span
style='mso-spacerun:yes'> </span>problem</span> is that if we are primary
and we lose contact from the other side<br>
<span class=GramE>we</span> generate a new current UUID which causes a
Split-Brain next time we connect.<br>
This only happens if we are the sync target and we are primary. Perhaps <span
class=GramE>we <br>
should</span> not generate a UUID if we were syncing when the disconnect
happen.<br>
Below is a possible patch for this in <span class=SpellE>after_state_<span
class=GramE>ch</span></span><span class=GramE>(</span>):<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt;color:black'><br>
Index: <span class=SpellE>drbd/drbd_main.c</span><br>
===================================================================<br>
--- <span class=SpellE><span class=GramE>drbd/drbd_main.c</span></span>
(revision 11592)<br>
+++ <span class=SpellE><span class=GramE>drbd/drbd_main.c</span></span>
(working copy)<br>
@@ -901<span class=GramE>,7</span> +901,8 @@<br>
<span class=SpellE><span class=GramE>mdev</span></span>-><span
class=SpellE>p_uuid</span> = NULL;<br>
}<br>
<span class=GramE>if</span>
(<span class=SpellE>inc_local</span>(<span class=SpellE>mdev</span>)) {<br>
- <span
class=GramE>if</span> (<span class=SpellE>ns.role</span> == Primary && <span
class=SpellE>mdev</span>-><span class=SpellE>bc</span>-><span
class=SpellE>md.uuid</span>[Bitmap] == 0 ) {<br>
+ <span
class=GramE>if</span> (<span class=SpellE>ns.role</span> == Primary && <span
class=SpellE>mdev</span>-><span class=SpellE>bc</span>-><span
class=SpellE>md.uuid</span>[Bitmap] == 0 &&<br>
+ <span class=SpellE>os.conn</span>
< <span class=SpellE><span class=GramE>SyncSource</span></span><span
class=GramE> )</span> {<br>
/* <span class=GramE>Only</span> do it if we
have not yet done it... */<br>
<span class=SpellE>drbd_uuid_new_<span
class=GramE>current</span></span><span class=GramE>(</span><span class=SpellE>mdev</span>);<br>
}<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt;color:black'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
</div>
</body>
</html>