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

Re: [Cluster-devel] cluster4 gfs_controld

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

> > (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.


> > 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.

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