From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jiaju Zhang Date: Thu, 13 May 2010 18:18:18 +0800 Subject: [Cluster-devel] [PATCH] dlm_controld.pcmk: Fix membership change judging issue In-Reply-To: <20100513095117.GM20952@suse.de> References: <20100513084926.GA30727@linux-jjzhang> <20100513095117.GM20952@suse.de> Message-ID: List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit On Thu, May 13, 2010 at 5:51 PM, Lars Marowsky-Bree wrote: > On 2010-05-13T16:49:27, Jiaju Zhang 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