public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Daniel Phillips <phillips@istop.com>
To: Lars Marowsky-Bree <lmb@suse.de>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/7] dlm: overview
Date: Wed, 27 Apr 2005 16:00:57 -0400	[thread overview]
Message-ID: <200504271600.57993.phillips@istop.com> (raw)
In-Reply-To: <20050427135635.GA4431@marowsky-bree.de>

On Wednesday 27 April 2005 09:56, Lars Marowsky-Bree wrote:
> An 11-parameter function, frankly, more often than not indicates that
> the interface is wrong. I know it's inherited from VMS, which is a
> perfectly legitimate reason, but I assume it might get cleaned / broken
> up in the future.

To put things in concrete terms, here it is:

int dlm_ls_lock( 
   /*1*/  dlm_lshandle_t lockspace,
   /*2*/  uint32_t mode,
   /*3*/  struct dlm_lksb *lksb,
   /*4*/  uint32_t flags,
   /*5*/  void *name,
   /*6*/  unsigned int namelen,
   /*7*/  uint32_t parent,
   /*8*/  void (*ast) (void *astarg),
   /*9*/  void *astarg,
   /*10*/ void (*bast) (void *astarg),
   /*11*/ struct dlm_range *range);

> Questions which need to be settled, or which the API at least needs to
> export so we know what is expected from us:
>
> - How do the node ids look like? Are they sparse integers, continuous
>   ints, uuids, IPv4 or IPv6 address of the 'primary' IP of a node,
>   hostnames...?

32 bit integers at the moment.  I hope it stays that way.

> - How are the communication links configured? How to tell it which
>   interfaces to use for IP, for example?

CMAN provides a PF_CLUSTER.  This facility seems cool, but I haven't got much 
experience with it, and certainly not enough to know if PF_CLUSTER is really 
necessary, or should be put forth as a required component of the common 
infrastructure.  It is not clear to me that SCTP can't be used directly, 
perhaps with some library support.

> - How do we actually deliver the membership events -
>   echo "current node list" >/sys/cluster/gfs/membership
>   or...?

This is rather nice: event messages are delivered over a socket.  The specific 
form of the messages sucks somewhat, as do the wrappers provided.  These need 
some public pondering.

> - What kind of semantics are expected: Can we deliver the membership
>   events as they come, do we need to introduce suspend/resume barriers
>   etc?

Suspend/resume barriers take the form of a simple message protocol, 
administered by CMAN.

> - How to security credentials play into this, and where are they
>   enforced - so that a user-space app doesn't mess with kernel locks?

Security?  What is that?  (Too late for me to win that dinner now...)
Security is currently provided by restricting socket access to root.

> Maybe initially we'll end up with those being "exported" in
> Documentation/{OCFS2,GFS}-DLM/ files, but ultimately it'd be nice if
> user-space could auto-discover them and do the right thing w/a minimum
> amount of configuration.

Yes.  For the next month or two it should be ambitious enough just to ensure 
that the interfaces are simple, sane, and known to satisfy the base 
requirements of everybody with existing cluster code to contribute.  And 
automagic aspects are also worth discussing, just to be sure we don't set up 
roadblocks to that kind of improvement in the future.  I don't think we need 
too much automagic just now, though.

> Or maybe these will be abstracted by user-space wrapper libraries, and
> everybody does in the kernel what they deem best.

I _hope_ that we can arrive at a base membership infrastructure that is 
convenient to use either from kernel or user space.  User space libraries 
already exist, but with warts of various sizes.

Regards,

Daniel

  reply	other threads:[~2005-04-27 20:01 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-25 15:11 [PATCH 0/7] dlm: overview David Teigland
2005-04-25 20:39 ` Wim Coekaerts
2005-04-25 21:09   ` Lars Marowsky-Bree
2005-04-26  5:30     ` Daniel Phillips
2005-04-27 13:56       ` Lars Marowsky-Bree
2005-04-27 20:00         ` Daniel Phillips [this message]
2005-04-27 20:20           ` Lars Marowsky-Bree
2005-04-27 22:38             ` Daniel Phillips
2005-04-28 14:57               ` Lars Marowsky-Bree
2005-04-28 20:53                 ` Daniel Phillips
2005-04-29  0:33                 ` David Lang
2005-04-29  1:49                   ` Bernd Eckenfels
2005-04-29  1:52                   ` Daniel Phillips
2005-04-29 17:13                     ` David Lang
2005-04-29 20:49                       ` Daniel Phillips
2005-05-01  3:57                       ` Theodore Ts'o
2005-05-01  4:14                         ` David Lang
2005-05-02 11:21                           ` Lars Marowsky-Bree
2005-04-28 16:25         ` David Teigland
2005-04-28 16:42           ` Lars Marowsky-Bree
2005-04-29  4:24           ` Daniel Phillips
2005-04-25 21:19   ` Andrew Morton
2005-04-26  5:46     ` David Teigland
2005-04-26  5:39   ` David Teigland
2005-04-26 18:48     ` Mark Fasheh
2005-04-26 22:34       ` Steven Dake
2005-04-27  3:32       ` David Teigland
2005-04-27 13:23       ` Lars Marowsky-Bree
2005-04-27 18:12         ` Mark Fasheh
2005-04-28 14:36           ` Lars Marowsky-Bree
2005-04-28 17:35             ` Mark Fasheh
2005-04-28 12:50         ` Stephen C. Tweedie
2005-04-25 20:52 ` Daniel Phillips

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200504271600.57993.phillips@istop.com \
    --to=phillips@istop.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lmb@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox