From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Teigland Date: Thu, 13 Oct 2011 12:49:31 -0400 Subject: [Cluster-devel] cluster4 gfs_controld In-Reply-To: <1318522589.2719.38.camel@menhir> References: <20111013142059.GA6704@redhat.com> <1318516891.2719.30.camel@menhir> <20111013153001.GB6704@redhat.com> <1318522589.2719.38.camel@menhir> Message-ID: <20111013164931.GD6704@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit On Thu, Oct 13, 2011 at 05:16:29PM +0100, Steven Whitehouse wrote: > Hi, > > On Thu, 2011-10-13 at 11:30 -0400, David Teigland wrote: > > On Thu, Oct 13, 2011 at 03:41:31PM +0100, Steven Whitehouse wrote: > > > > cluster4 > > > > . jid from dlm-kernel "slots" which will be assigned similarly > > > What is the actual algorithm used to assign these slots? > > > > The same as picking jids: lowest unused id starting with 0. As for > > implementation, I'll add it to the current dlm recovery messages. > > > Yes, but the current implementation uses corosync to enforce ordering of > events, so I'm wondering how the dlm will do that after the change. One node picks it and then tells everyone. In this case the low nodeid coordinating recovery, and the new data is added to the status messages. We still rely on agreed ordering of different recovery events, which is still based on libcpg. In cluster3 everyone picks the same values independently based on the ordered events/messages, just because that's how gfs_controld decides everything. > > (Frankly, I'd really like to just set jid to nodeid-1. Any support for > > that? It would obviously add a slight requirement to picking nodeid's, > > which 99.9% of people already do.) > > > The problem is that if you have a cluster with lots of nodes, but where > each fs is only mounted by a small number of them, we'd have to insist > on always creating as many journals as there are nodes in the cluster. yeah > > Yes we could; I may do that. Returning the error mentioned above becomes > > less direct. I'd have to overload the jid arg, or add another to indicate > > the callbacks are enabled. > > > Another alternative is just to add a member of the recover_callbacks > structure which would be a function taking the first and jid as > arguments and the dlm can call that to pass the into to gfs2. > > That way dlm users who don't care about that would just leave those > functions NULL, for example, The simplest variation should become evident once I start writing it; it's hard to predict.