Re: F_SETLK fails after recovery

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Corosync Cluster Engine]     [GFS]     [Linux Virtualization]     [Centos Virtualization]     [Centos]     [Linux RAID]     [Fedora Users]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite Camping]

  Powered by Linux