From: Joel Becker <Joel.Becker@oracle.com>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-cluster@redhat.com, ak@suse.de
Subject: Re: Re: GFS, what's remaining
Date: Sat, 3 Sep 2005 20:06:40 -0700 [thread overview]
Message-ID: <20050904030640.GL8684@ca-server1.us.oracle.com> (raw)
In-Reply-To: <20050903183241.1acca6c9.akpm@osdl.org>
On Sat, Sep 03, 2005 at 06:32:41PM -0700, Andrew Morton wrote:
> If there's duplicated code in there then we should seek to either make the
> code multi-purpose or place the common or reusable parts into a library
> somewhere.
Regarding sysfs and configfs, that's a whole 'nother
conversation. I've not yet come up with a function involved that is
identical, but that's a response here for another email.
Understanding that Daniel is talking about dlmfs, dlmfs is far
more similar to devptsfs, tmpfs, and even sockfs and pipefs than it is
to sysfs. I don't see him proposing that sockfs and devptsfs be folded
into sysfs.
dlmfs is *tiny*. The VFS interface is less than his claimed 500
lines of savings. The few VFS callbacks do nothing but call DLM
functions. You'd have to replace this VFS glue with sysfs glue, and
probably save very few lines of code.
In addition, sysfs cannot support the dlmfs model. In dlmfs,
mkdir(2) creates a directory representing a DLM domain and mknod(2)
creates the user representation of a lock. sysfs doesn't support
mkdir(2) or mknod(2) at all.
More than mkdir() and mknod(), however, dlmfs uses open(2) to
acquire locks from userspace. O_RDONLY acquires a shared read lock (PR
in VMS parlance). O_RDWR gets an exclusive lock (X). O_NONBLOCK is a
trylock. Here, dlmfs is using the VFS for complete lifetiming. A lock
is released via close(2). If a process dies, close(2) happens. In
other words, ->release() handles all the cleanup for normal and abnormal
termination.
sysfs does not allow hooking into ->open() or ->release(). So
this model, and the inherent lifetiming that comes with it, cannot be
used. If dlmfs was changed to use a less intuitive model that fits
sysfs, all the handling of lifetimes and cleanup would have to be added.
This would make it more complex, not less complex. It would give it a
larger code size, not a smaller one. In the end, it would be harder to
maintian, less intuitive to use, and larger.
Joel
--
"Anything that is too stupid to be spoken is sung."
- Voltaire
Joel Becker
Senior Member of Technical Staff
Oracle
E-mail: joel.becker@oracle.com
Phone: (650) 506-8127
next prev parent reply other threads:[~2005-09-04 3:06 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 [this message]
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
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
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=20050904030640.GL8684@ca-server1.us.oracle.com \
--to=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 \
/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).