From: Andrew Morton <akpm@osdl.org>
To: Mark Fasheh <mark.fasheh@oracle.com>
Cc: phillips@istop.com, linux-cluster@redhat.com,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
ak@suse.de, Joel.Becker@oracle.com
Subject: Re: Re: GFS, what's remaining
Date: Sun, 4 Sep 2005 01:37:04 -0700 [thread overview]
Message-ID: <20050904013704.55c2d9f5.akpm@osdl.org> (raw)
In-Reply-To: <20050904081748.GJ21228@ca-server1.us.oracle.com>
Mark Fasheh <mark.fasheh@oracle.com> wrote:
>
> On Sun, Sep 04, 2005 at 12:23:43AM -0700, Andrew Morton wrote:
> > > What would be an acceptable replacement? I admit that O_NONBLOCK -> trylock
> > > is a bit unfortunate, but really it just needs a bit to express that -
> > > nobody over here cares what it's called.
> >
> > The whole idea of reinterpreting file operations to mean something utterly
> > different just seems inappropriate to me.
> Putting aside trylock for a minute, I'm not sure how utterly different the
> operations are. You create a lock resource by creating a file named after
> it. You get a lock (fd) at read or write level on the resource by calling
> open(2) with the appropriate mode (O_RDONLY, O_WRONLY/O_RDWR).
> Now that we've got an fd, lock value blocks are naturally represented as
> file data which can be read(2) or written(2).
> Close(2) drops the lock.
>
> A really trivial usage example from shell:
>
> node1$ echo "hello world" > mylock
> node2$ cat mylock
> hello world
>
> I could always give a more useful one after I get some sleep :)
It isn't extensible though. One couldn't retain this approach while adding
(random cfs ignorance exposure) upgrade-read, downgrade-write,
query-for-various-runtime-stats, priority modification, whatever.
> > You get a lot of goodies when using a filesystem - the ability for
> > unrelated processes to look things up, resource release on exit(), etc. If
> > those features are valuable in the ocfs2 context then fine.
> Right, they certainly are and I think Joel, in another e-mail on this
> thread, explained well the advantages of using a filesystem.
>
> > But I'd have thought that it would be saner and more extensible to add new
> > syscalls (perhaps taking fd's) rather than overloading the open() mode in
> > this manner.
> The idea behind dlmfs was to very simply export a small set of cluster dlm
> operations to userspace. Given that goal, I felt that a whole set of system
> calls would have been overkill. That said, I think perhaps I should clarify
> that I don't intend dlmfs to become _the_ userspace dlm api, just a simple
> and (imho) intuitive one which could be trivially accessed from any software
> which just knows how to read and write files.
Well, as I say. Making it a filesystem is superficially attractive, but
once you've build a super-dooper enterprise-grade infrastructure on top of
it all, nobody's going to touch the fs interface by hand and you end up
wondering why it's there, adding baggage.
Not that I'm questioning the fs interface! It has useful permission
management, monitoring and resource releasing characteristics. I'm
questioning the open() tricks. I guess from Joel's tiny description, the
filesystem's interpretation of mknod and mkdir look sensible enough.
next prev parent reply other threads:[~2005-09-04 8:37 UTC|newest]
Thread overview: 105+ 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
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 [this message]
2005-09-04 6:40 ` 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
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=20050904013704.55c2d9f5.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=Joel.Becker@oracle.com \
--cc=ak@suse.de \
--cc=linux-cluster@redhat.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.fasheh@oracle.com \
--cc=phillips@istop.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).