Forget the snippet of code in my original posting as the code in 3.0.12-60 actually looks like this: if (nodes_added(ls)) { store_plocks(ls, &sig); ls->last_plock_sig = sig; } else { sig = ls->last_plock_sig; } send_plocks_stored(ls, sig); So sig is never uninitialized. However, the question still remains - node 2 disables plocks for node 1. How are the supposed to be re-enabled? Neale On Sep 2, 2014, at 11:04 AM, Bob Peterson <rpeterso@xxxxxxxxxx> wrote: > ----- Original Message ----- >> >> Looking at the cpg.c: >> >> static void prepare_plocks(struct lockspace *ls) >> { >> >> struct change *cg = list_first_entry(&ls->changes, struct change, list); >> >> struct member *memb; >> uint32_t sig; >> >> : >> : >> : >> if (nodes_added(ls)) >> store_plocks(ls, &sig); >> send_plocks_stored(ls, sig); >> } >> >> If nodes_added(ls) returns false then an uninitialized "sig" value will be >> passed to send_plocks_stored(). Do the "our sig" and "sig" values in the >> above log messages make sense? >> >> If this is not the case, what is supposed to happen in order re-enable plocks >> on the recovered node? -- Linux-cluster mailing list Linux-cluster@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/linux-cluster