linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peter Braam <braam@clusterfs.com>
To: Bryan Henderson <hbryan@us.ibm.com>
Cc: Andreas Dilger <adilger@clusterfs.com>, Jan Hudec <bulb@ucw.cz>,
	linux-fsdevel@vger.kernel.org,
	linux-fsdevel-owner@vger.kernel.org,
	Lustre Development Mailing List
	<lustre-devel@lists.sourceforge.net>,
	Richard Sharpe <rsharpe@richardsharpe.com>,
	samba-technical@samba.org, Mike Shaver <shaver@clusterfs.com>,
	Steven French <sfrench@us.ibm.com>
Subject: Re: [Lustre-devel] Re: fixing redundant network opens on Linux file creation
Date: Wed, 8 Jan 2003 12:11:45 -0700	[thread overview]
Message-ID: <20030108191145.GE28656@peter.cfs> (raw)
In-Reply-To: <OF712DB69E.29692BF5-ON87256CA8.005EDF12-88256CA8.0061FDC2@us.ibm.com>

Hi, 

I have no objections to a name change.  We are not so religious about
"intent" as a name.

On Wed, Jan 08, 2003 at 10:52:51AM -0700, Bryan Henderson wrote:

> >I don't see where you are coming from here.  Could you be more specific on
> >whether you think the entity declaring an "intent" is user-space, the VFS
> >code in fs/*.c, the filesystem driver code in fs/*/*.c or what?
> 
> As a general principle, any of those things could declare intent.  In the
> Lustre design we're talking about, I don't believe any of them does.  Hence
> my objection to the term "intent."  Based on that word, I thought at first
> I might just have missed something in the definition of the interface, but
> I don't think so anymore.
> 
> >I don't
> >really see where you can "change your mind" in the middle of creating a
> >file, unless there was an error somewhere along the way.

open with O_CREATE | O_EXCL is a good example.

> I don't either.  (And apparently, simple errors are no exception in the
> Lustre design).  Hence, you have declared significantly more than an intent
> when you did the lookup.
> 
> >If you call
> >sys_mkdir() you have declared an "intent" to create a directory
> 
> Not as "intent" is usually understood.  If you call sys_mkdir(), you have
> commanded the kernel to create the directory.  That's a lot different from
> declaring that you intend to create the directory.
> 
> I believe the lustre patch works.  I also believe it uses the wrong
> terminology, creates an interface to filesystem drivers that is brittle and
> hard to understand, and doesn't solve as wide a range of problems as it
> could.  I believe that what it calls a declaration of intent is really a
> declaration of what POSIX system call the caller is in the middle of
> performing.
> 
> On the other hand, it has been pointed out that one of its goals was to
> minimize the changes to fs/*.c.  I agree the patch is a good way to achieve
> that goal.
> 
> If it were my decision, I would solve the Lustre problem, and the Samba
> problem, and some of my own as well, by putting higher level filesystem
> driver interfaces into Linux, such as some other kernels do. 
>
>  Let the
> filesystem driver do the whole "lookup, create directory, add directory
> entry" operation if it wants to, and in that case make just that one call
> to the filesystem driver and be done.  Let the filesystem driver deal with
> the problems of failures halfway through the sequence.
> 
> But suggestions I've made to give more power to filesystem drivers have in
> the past met resistance from those who want to keep centralized control and
> maintain uniformity among the various filesystem types).

That proposal has been made by many other people, everywhere.  Of
course we could work with that too. 

Personally I rather like the Linux VFS because it does locking etc: Al
Viro has made it very clear that e.g. locking for renames, which is
incredibly hard, is best done once (what you call centralized) than
many times by different file systems.

This is the one single reason that we used the "intent" solution: it
can make use of the VFS infrastructure better than high level calls. 

But again, I'm not religious about this -- I am religious about
getting correctness for clustering file systems. And we have had to do
some other things (like dealing with dentries in highly non-standard
ways) to get correctness.  And of course, we have many problems
left...

- Peter -

> 
> 
> 
> -------------------------------------------------------
> This SF.NET email is sponsored by:
> SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
> http://www.vasoftware.com
> _______________________________________________
> Lustre-devel mailing list
> Lustre-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lustre-devel
- Peter -

  reply	other threads:[~2003-01-08 19:11 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-06 17:25 fixing redundant network opens on Linux file creation Steven French
2003-01-06 18:14 ` Richard Sharpe
2003-01-06 17:59   ` Jan Hudec
2003-01-06 19:42     ` Bryan Henderson
2003-01-06 19:56       ` Jan Harkes
2003-01-06 21:58         ` Bryan Henderson
2003-01-06 21:31       ` Andreas Dilger
2003-01-06 22:23         ` Bryan Henderson
2003-01-06 22:48           ` Andreas Dilger
2003-01-07  1:06             ` Bryan Henderson
2003-01-07 13:19               ` [Lustre-devel] " Mike Shaver
2003-01-07 17:28                 ` Bryan Henderson
2003-01-07 18:50                   ` Andreas Dilger
2003-01-08 17:52                     ` Bryan Henderson
2003-01-08 19:11                       ` Peter Braam [this message]
2003-01-09  2:08                         ` Bryan Henderson
2003-01-09  3:36                           ` Peter Braam
2003-01-06 22:18 ` Marcos Dione
2003-01-07  9:35   ` Jan Hudec

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=20030108191145.GE28656@peter.cfs \
    --to=braam@clusterfs.com \
    --cc=adilger@clusterfs.com \
    --cc=bulb@ucw.cz \
    --cc=hbryan@us.ibm.com \
    --cc=linux-fsdevel-owner@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=lustre-devel@lists.sourceforge.net \
    --cc=rsharpe@richardsharpe.com \
    --cc=samba-technical@samba.org \
    --cc=sfrench@us.ibm.com \
    --cc=shaver@clusterfs.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).