<div dir="ltr"><span style="font-size:14px">Dear Roland,</span><div style="font-size:14px"><br></div><div style="font-size:14px">Let me send test-steps for reproduce of  SyncSource/SyncSource.</div><div style="font-size:14px"><br></div><div style="font-size:14px">1. make resync situation with primary/inconsistent - secondary/uptodate.</div><div style="font-size:14px">2. copy big file during resyncing.</div><div style="font-size:14px">3. stop the secondary node network by disabling secondary node&#39;s VMware network icon during copying.</div><div style="font-size:14px">4. wait until copy finished</div><div style="font-size:14px">5. reconnect network by enabling secondary. </div><div style="font-size:14px">6. connect by --discard-my-data connect on the secondary node.</div><div style="font-size:14px">7. at this time, the each node status is  SyncSource/SyncSource</div><div style="font-size:14px"><br></div><div style="font-size:14px">Thanks.</div><div class="gmail_extra"><br><div class="gmail_quote">2016-03-30 21:15 GMT+09:00 Roland Kammerer <span dir="ltr">&lt;<a href="mailto:roland.kammerer@linbit.com" target="_blank">roland.kammerer@linbit.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Wed, Mar 30, 2016 at 06:18:50PM +0900, Jaeheon Kim wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; There is some suspicious code.<br>
&gt; Please check following code in drbd_uuid_compare.<br>
&gt;<br>
&gt;  --- code snip start ---<br>
&gt; *rule_nr = 70;<br>
&gt; self = drbd_bitmap_uuid(peer_device) &amp; ~UUID_PRIMARY;<br>
&gt; peer = peer_device-&gt;current_uuid &amp; ~UUID_PRIMARY;<br>
&gt; if (self == peer)<br>
&gt; return 2;<br>
&gt;<br>
&gt; *rule_nr = 72;<br>
&gt; for (i = 0; i &lt; DRBD_NODE_ID_MAX; i++) {<br>
&gt;     if (i == peer_device-&gt;node_id)<br>
&gt;           continue;<br>
&gt;     if (i == device-&gt;ldev-&gt;md.node_id)<br>
&gt;           continue;<br>
&gt;<br>
&gt; #ifdef<br>
&gt; _WIN32_V9_INSERT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
&gt; /* Skip bitmap indexes which are not assigned to a peer. */<br>
&gt;       if (device-&gt;ldev-&gt;md.peers[i].bitmap_index == -1)<br>
&gt;            continue;<br>
&gt; #endif //<br>
&gt; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br>
&gt;<br>
&gt;      self = device-&gt;ldev-&gt;md.peers[i].bitmap_uuid &amp; ~UUID_PRIMARY;<br>
&gt;      if (self == peer) {<br>
&gt;           *peer_node_id = i;<br>
&gt;            return 4;<br>
&gt;       }<br>
&gt; }<br>
&gt; ------ code done --------<br>
&gt;<br>
&gt; If you don&#39;t skip undefnded bitmap_index, self uuid will get crashed data.<br>
&gt; So, we insert this skip logic.<br>
&gt; What do you think about it?<br>
<br>
</div></div>on a first look this seems reasonable, but I have to further think about<br>
it and discuss it with my colleagues.<br>
<br>
Would be great if you could provide the steps how to trigger that<br>
specific scenario.<br>
<br>
Regards, rck<br>
_______________________________________________<br>
drbd-dev mailing list<br>
<a href="mailto:drbd-dev@lists.linbit.com">drbd-dev@lists.linbit.com</a><br>
<a href="http://lists.linbit.com/mailman/listinfo/drbd-dev" rel="noreferrer" target="_blank">http://lists.linbit.com/mailman/listinfo/drbd-dev</a></blockquote></div>
</div></div>