<div dir="ltr">Hi Vedvyas, sorry for my late reply.<div class="gmail_extra"><br><div class="gmail_quote">On Sun, Apr 17, 2016 at 12:20 PM, Vedvyas shanbhogue <span dir="ltr"><<a href="mailto:vedvyas13686@gmail.com" target="_blank">vedvyas13686@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>This code increments the nr_participants but the participant state is not updated yet. The is_modified will now iterate over the updated nr_participants and can see bad state in participant_state array. </div><div><br></div><div>        idx = entry->nr_participants++;</div><div>        memcpy(&entry->participants[idx], owner, sizeof(*owner));</div><div>        entry->participants_state[idx] =</div><div>                is_modified(entry) ?</div><div>                SHARED_LOCK_STATE_INVALIDATED : SHARED_LOCK_STATE_SHARED;</div><div><br></div><div>A fix may be:</div><div><div>        idx = entry->nr_participants+ 1;</div><div>        memcpy(&entry->participants[idx], owner, sizeof(*owner));</div><div>        entry->participants_state[idx] =</div><div>                is_modified(entry) ?</div><div>                SHARED_LOCK_STATE_INVALIDATED : SHARED_LOCK_STATE_SHARED;</div></div><div>        entry->nr_participants++;<br></div><div><br></div><div>Please tell me if this would be a good fix.</div><div><br></div><div>I was investigating a panic from is_modified where is_valid_shared_state finds an invalid shared state - "invalid shared state, two (or more) nodes are owning VDI..."</div></div></blockquote><div><br></div><div>Good catch, thanks a lot! Could you create a PR on github for your change?</div><div><br></div><div>Thanks,</div><div>Hitoshi</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div><br></div></div>
<br>--<br>
sheepdog-users mailing lists<br>
<a href="mailto:sheepdog-users@lists.wpkg.org">sheepdog-users@lists.wpkg.org</a><br>
<a href="https://lists.wpkg.org/mailman/listinfo/sheepdog-users" rel="noreferrer" target="_blank">https://lists.wpkg.org/mailman/listinfo/sheepdog-users</a><br>
<br></blockquote></div><br></div></div>