linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kurt.hackel@oracle.com
To: David Teigland <teigland@redhat.com>
Cc: Andrew Morton <akpm@osdl.org>,
	Joel.Becker@oracle.com, ak@suse.de, linux-cluster@redhat.com,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [Linux-cluster] Re: GFS, what's remaining
Date: Mon, 5 Sep 2005 12:11:59 -0700	[thread overview]
Message-ID: <20050905191159.GA21169@gimp.org> (raw)
In-Reply-To: <20050905092433.GE17607@redhat.com>

On Mon, Sep 05, 2005 at 05:24:33PM +0800, David Teigland wrote:
> On Mon, Sep 05, 2005 at 01:54:08AM -0700, Andrew Morton wrote:
> > David Teigland <teigland@redhat.com> wrote:
> > >
> > >  We export our full dlm API through read/write/poll on a misc device.
> > >
> > 
> > inotify did that for a while, but we ended up going with a straight syscall
> > interface.
> > 
> > How fat is the dlm interface?   ie: how many syscalls would it take?
> 
> Four functions:
>   create_lockspace()
>   release_lockspace()
>   lock()
>   unlock()

FWIW, it looks like we can agree on the core interface.  ocfs2_dlm
exports essentially the same functions:
    dlm_register_domain()
    dlm_unregister_domain()
    dlmlock()
    dlmunlock()

I also implemented dlm_migrate_lockres() to explicitly remaster a lock
on another node, but this isn't used by any callers today (except for
debugging purposes).  There is also some wiring between the fs and the
dlm (eviction callbacks) to deal with some ordering issues between the
two layers, but these could go if we get stronger membership.

There are quite a few other functions in the "full" spec(1) that we
didn't even attempt, either because we didn't require direct 
user<->kernel access or we just didn't need the function.  As for the
rather thick set of parameters expected in dlm calls, we managed to get
dlmlock down to *ahem* eight, and the rest are fairly slim.

Looking at the misc device that gfs uses, it seems like there is pretty
much complete interface to the same calls you have in kernel, validated
on the write() calls to the misc device.  With dlmfs, we were seeking to
lock down and simplify user access by using standard ast/bast/unlockast
calls, using a file descriptor as an opaque token for a single lock,
letting the vfs lifetime on this fd help with abnormal termination, etc.
I think both the misc device and dlmfs are helpful and not necessarily
mutually exclusive, and probably both are better approaches than
exporting everything via loads of syscalls (which seems to be the 
VMS/opendlm model).

-kurt

1. http://opendlm.sourceforge.net/cvsmirror/opendlm/docs/dlmbook_final.pdf


Kurt C. Hackel
Oracle
kurt.hackel@oracle.com

  parent reply	other threads:[~2005-09-05 19:12 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-01 10:46 GFS, what's remaining David Teigland
2005-09-01 10:42 ` Arjan van de Ven
2005-09-01 10:59 ` Andrew Morton
2005-09-01 14:49   ` Alan Cox
2005-09-01 14:27     ` Christoph Hellwig
2005-09-01 15:28       ` Alan Cox
2005-09-01 15:11         ` Lars Marowsky-Bree
2005-09-01 17:56         ` Christoph Hellwig
2005-09-02  7:04           ` David Teigland
2005-09-01 17:23     ` Daniel Phillips
2005-09-01 20:21     ` Andrew Morton
2005-09-02 21:17       ` Andi Kleen
2005-09-02 23:03         ` Bryan Henderson
2005-09-03  0:16         ` Mark Fasheh
2005-09-03  6:42           ` Daniel Phillips
2005-09-03  6:46             ` Wim Coekaerts
2005-09-03 22:21               ` Daniel Phillips
2005-09-04  1:09                 ` [Linux-cluster] " Joel Becker
2005-09-04  1:32                   ` Andrew Morton
2005-09-04  3:06                     ` Joel Becker
2005-09-04  4:22                       ` [Linux-cluster] " Daniel Phillips
2005-09-04  4:30                         ` Joel Becker
2005-09-04  4:51                           ` Daniel Phillips
2005-09-04  5:00                             ` Joel Becker
2005-09-04  5:52                               ` [Linux-cluster] " Daniel Phillips
2005-09-04  5:56                                 ` Joel Becker
2005-09-04  4:46                         ` Andrew Morton
2005-09-04  4:58                           ` Joel Becker
2005-09-04  5:41                             ` Andrew Morton
2005-09-04  5:49                               ` Joel Becker
2005-09-05  4:30                               ` David Teigland
2005-09-05  8:54                                 ` [Linux-cluster] " Andrew Morton
2005-09-05  9:24                                   ` David Teigland
2005-09-05  9:19                                     ` [Linux-cluster] " Andrew Morton
2005-09-05  9:30                                       ` Daniel Phillips
2005-09-05  9:48                                       ` David Teigland
2005-09-05 12:21                                       ` Alan Cox
2005-09-05 19:53                                         ` [Linux-cluster] " Andrew Morton
2005-09-05 23:20                                           ` Alan Cox
2005-09-05 23:06                                             ` Andrew Morton
2005-09-14  9:01                                         ` [Linux-cluster] " Patrick Caulfield
2005-09-05 19:11                                     ` kurt.hackel [this message]
2005-09-04  6:10                           ` Mark Fasheh
2005-09-04  7:23                             ` Andrew Morton
2005-09-04  8:17                               ` Mark Fasheh
2005-09-04  8:37                                 ` Andrew Morton
2005-09-04  6:40                           ` [Linux-cluster] " Daniel Phillips
2005-09-04  7:28                             ` Andrew Morton
2005-09-04  8:01                               ` [Linux-cluster] " Joel Becker
2005-09-04  8:18                                 ` Andrew Morton
2005-09-04  9:11                                   ` Joel Becker
2005-09-04  9:18                                     ` [Linux-cluster] " Andrew Morton
2005-09-04  9:39                                       ` Joel Becker
2005-09-04 18:03                                     ` [Linux-cluster] " Hua Zhong
2005-09-04 19:51                               ` Daniel Phillips
2005-09-04  7:12                           ` Hua Zhong
2005-09-04  8:37                           ` Alan Cox
2005-09-05 23:32                             ` Joel Becker
2005-09-03  5:57         ` Daniel Phillips
2005-09-05 14:14           ` Lars Marowsky-Bree
2005-09-05 15:49             ` Daniel Phillips
2005-09-05 16:18               ` Dmitry Torokhov
2005-09-06  0:57                 ` Daniel Phillips
2005-09-06  2:03                   ` Dmitry Torokhov
2005-09-06  4:02                     ` Daniel Phillips
2005-09-06  4:07                       ` GFS, what's remainingh Dmitry Torokhov
2005-09-06  4:58                         ` Daniel Phillips
2005-09-06  5:05                           ` Dmitry Torokhov
2005-09-06  6:48                             ` Daniel Phillips
2005-09-06  6:55                               ` Dmitry Torokhov
2005-09-06  7:18                                 ` Daniel Phillips
2005-09-06 14:31                                   ` Dmitry Torokhov
2005-09-06 13:42                               ` Alan Cox
2005-09-03  7:06         ` GFS, what's remaining Wim Coekaerts
2005-09-06 12:55         ` Suparna Bhattacharya
2005-09-03  5:18       ` David Teigland
2005-09-03  6:14         ` Arjan van de Ven
2005-09-03  6:42           ` D. Hazelton
2005-09-03 10:35           ` David Teigland
2005-09-03 20:56             ` Daniel Phillips
2005-09-04 20:33         ` Pavel Machek
2005-09-04 22:18           ` Joel Becker
2005-09-05  5:54           ` Theodore Ts'o
2005-09-05  7:09             ` Mark Fasheh
2005-09-05 14:07               ` Theodore Ts'o
2005-09-05  8:27             ` real read-only [was Re: GFS, what's remaining] Pavel Machek
2005-09-05 14:03               ` Theodore Ts'o
2005-09-05 10:44           ` Re: GFS, what's remaining Stephen C. Tweedie
2005-09-05 16:41             ` Greg Freemyer
2005-09-01 11:35 ` Arjan van de Ven
2005-09-02  9:44   ` David Teigland
2005-09-02 11:46     ` Jörn Engel
2005-09-03  5:28     ` Greg KH
2005-09-05  3:47       ` David Teigland
2005-09-05  8:58         ` Jörn Engel
2005-09-05  9:18           ` David Teigland
2005-09-05  5:43   ` David Teigland
2005-09-05  6:32     ` Pekka Enberg
2005-09-05  7:55       ` David Teigland
2005-09-05  8:00         ` Pekka Enberg
2005-09-10 10:11     ` Arjan van de Ven
2005-09-05  6:29   ` David Teigland
2005-09-08  5:41   ` David Teigland
2005-09-01 12:33 ` Pekka Enberg
2005-09-01 17:27 ` Daniel Phillips
  -- strict thread matches above, loose matches on Subject: below --
2005-09-01 18:47 [Linux-cluster] " Hua Zhong (hzhong)

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=20050905191159.GA21169@gimp.org \
    --to=kurt.hackel@oracle.com \
    --cc=Joel.Becker@oracle.com \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=linux-cluster@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=teigland@redhat.com \
    /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;
as well as URLs for NNTP newsgroup(s).