linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: Christoph Hellwig <hch@infradead.org>,
	viro@ZenIV.linux.org.uk, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org, Trond.Myklebust@netapp.com,
	sfrench@samba.org, sage@newdream.net, ericvh@gmail.com
Subject: Re: [PATCH 06/25] vfs: add i_op->atomic_create()
Date: Sat, 24 Mar 2012 10:14:58 -0400	[thread overview]
Message-ID: <20120324141458.GB25980@infradead.org> (raw)
In-Reply-To: <874nts8uf8.fsf@tucsk.pomaz.szeredi.hu>

On Tue, Mar 13, 2012 at 03:08:59PM +0100, Miklos Szeredi wrote:
> >> Btw, is there any good reason to keep ->atomic_open and ->atomic_create
> >> separate?  It seems like the instances in general share code anyway.
> >
> > ->atomic_open is called before lookup, ->atomic_create after lookup.
> >
> > How would we differentiate between the two if they were common?  We
> > could have a filesystem flag, but for example CEPH does weird things
> > like using ->atomic_open for !O_CREAT and ->atomic_create for O_CREAT.
> 
> Or let the filesystem do the lookup in ->atomic_open if it wants (and
> pass the need_lookup flag to the filesystem).

That sounds like a much better approch.  And as mentioned by Sarge a lot
of the odd fs behaviour currently probably is because the current atomic
open interface is so awkward that no one really understands it.  We'll
probably be able to clean up a lot of that, but I'd suggest to not try
to cram everything into the initial atomic open support.

  parent reply	other threads:[~2012-03-24 14:14 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-07 21:22 [PATCH 00/25] vfs: atomic open RFC Miklos Szeredi
2012-03-07 21:22 ` [PATCH 01/25] vfs: split do_lookup() Miklos Szeredi
2012-03-07 21:22 ` [PATCH 02/25] vfs: reorganize do_last() Miklos Szeredi
2012-03-07 21:22 ` [PATCH 03/25] vfs: split __dentry_open() Miklos Szeredi
2012-03-24 14:12   ` Christoph Hellwig
2012-03-26 13:22     ` Miklos Szeredi
2012-03-26 13:30       ` Christoph Hellwig
2012-03-26 13:47         ` Miklos Szeredi
2012-03-07 21:22 ` [PATCH 04/25] vfs: add i_op->atomic_open() Miklos Szeredi
2012-03-13 14:38   ` Myklebust, Trond
2012-03-13 15:11     ` Miklos Szeredi
2012-03-13 15:31       ` Myklebust, Trond
2012-03-07 21:22 ` [PATCH 05/25] vfs: add filesystem flags for atomic_open Miklos Szeredi
2012-03-13  9:33   ` Christoph Hellwig
2012-03-13 11:17     ` Miklos Szeredi
2012-03-07 21:22 ` [PATCH 06/25] vfs: add i_op->atomic_create() Miklos Szeredi
2012-03-13  9:37   ` Christoph Hellwig
2012-03-13 11:22     ` Miklos Szeredi
2012-03-13 11:55       ` Christoph Hellwig
2012-03-13 13:26         ` Miklos Szeredi
2012-03-13 14:08           ` Miklos Szeredi
2012-03-13 16:34             ` Sage Weil
2012-03-24 14:14             ` Christoph Hellwig [this message]
2012-03-07 21:22 ` [PATCH 07/25] nfs: implement i_op->atomic_open() Miklos Szeredi
2012-03-07 21:22 ` [PATCH 08/25] nfs: clean up ->create in nfs_rpc_ops Miklos Szeredi
2012-03-07 21:22 ` [PATCH 09/25] nfs: remove nfs4 specific create function Miklos Szeredi
2012-03-13 12:09   ` Christoph Hellwig
2012-03-07 21:22 ` [PATCH 10/25] nfs: don't use nd->intent.open.flags Miklos Szeredi
2012-03-07 21:22 ` [PATCH 11/25] nfs: don't use intents for checking atomic open Miklos Szeredi
2012-03-24 14:20   ` Christoph Hellwig
2012-03-07 21:22 ` [PATCH 12/25] fuse: implement i_op->atomic_create() Miklos Szeredi
2012-03-07 21:22 ` [PATCH 13/25] cifs: implement i_op->atomic_open() and i_op->atomic_create() Miklos Szeredi
2012-03-13 12:06   ` Christoph Hellwig
2012-03-13 13:39     ` Miklos Szeredi
2012-03-13 16:43       ` Sage Weil
2012-03-24 14:22       ` Christoph Hellwig
2012-03-07 21:22 ` [PATCH 14/25] ceph: remove unused arg from ceph_lookup_open() Miklos Szeredi
2012-03-07 21:22 ` [PATCH 15/25] ceph: implement i_op->atomic_open() and i_op->atomic_create() Miklos Szeredi
2012-03-07 21:22 ` [PATCH 16/25] 9p: implement i_op->atomic_create() Miklos Szeredi
2012-03-07 21:22 ` [PATCH 17/25] vfs: remove open intents from nameidata Miklos Szeredi
2012-03-07 21:22 ` [PATCH 18/25] vfs: only retry last component if opening stale dentry Miklos Szeredi
2012-03-07 21:22 ` [PATCH 19/25] vfs: remove nameidata argument from vfs_create Miklos Szeredi
2012-03-07 21:22 ` [PATCH 20/25] vfs: move O_DIRECT check to common code Miklos Szeredi
2012-03-07 21:22 ` [PATCH 21/25] gfs2: use i_op->atomic_create() Miklos Szeredi
2012-03-24 14:27   ` Christoph Hellwig
2012-03-24 15:38     ` Miklos Szeredi
2012-03-07 21:22 ` [PATCH 22/25] nfs: " Miklos Szeredi
2012-03-07 21:22 ` [PATCH 23/25] vfs: remove nameidata argument from i_op->create() Miklos Szeredi
2012-03-07 21:22 ` [PATCH 24/25] vfs: optionally skip lookup on exclusive create Miklos Szeredi
2012-03-07 21:22 ` [PATCH 25/25] vfs: remove nameidata from lookup Miklos Szeredi
2012-03-07 21:27 ` [PATCH 00/25] vfs: atomic open RFC Steve French
2012-03-13  9:51 ` Christoph Hellwig
2012-03-13 11:00   ` Miklos Szeredi
2012-03-13 12:01     ` Christoph Hellwig
2012-03-13 13:33       ` Miklos Szeredi

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=20120324141458.GB25980@infradead.org \
    --to=hch@infradead.org \
    --cc=Trond.Myklebust@netapp.com \
    --cc=ericvh@gmail.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=miklos@szeredi.hu \
    --cc=sage@newdream.net \
    --cc=sfrench@samba.org \
    --cc=viro@ZenIV.linux.org.uk \
    /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).