[Cluster-devel] [PATCH] dlm_controld.pcmk: Fix membership change judging issue

Jiaju Zhang jjzhang.linux at gmail.com
Thu May 13 10:18:18 UTC 2010


On Thu, May 13, 2010 at 5:51 PM, Lars Marowsky-Bree <lmb at novell.com> wrote:
> On 2010-05-13T16:49:27, Jiaju Zhang <jjzhang.linux at gmail.com> wrote:
>
> Hi Jiaju,
>
> thanks for the patch and the technical explanation!
>
>> Because all the components get the membership info eventually from
>> Corosync, IMO, for dlm_controld.pcmk, there is no need to wait
>> Pacemaker/crmd to finish all the information processing related to
>> membership change.
>>
>> Patched attached below, any review and comments are highly
>> appreciated!
>
> I'd only like to add the user-visible impact of this - namely, when a
> previously unknown node joins a pcmk cluster (with running DLM etc),
> nodes will hang.
>
> So it is fairly important to get fixed.
>
>
> So, with my limited knowledge of the code, I think the fix is sound. I
> have just one clerical comment:
>
>>  void process_cluster(int ci)
>>  {
>> -    ais_dispatch(ais_fd_async, NULL);
>>      update_cluster();
>>  }
>
> Can this function be removed? It doesn't do anything any more. Or is
> there something that should be done with the "ci" argument?

There is something that should be done with the "ci" argument. In
fact, the "ci" means one slot which holds a socket(most cases) and a
related processing function which is monitored by "poll" in
dlm_controld.
update_cluster is in different calling path to process_cluster.

Many thanks for the review ;)
Jiaju




More information about the Cluster-devel mailing list