From: Christoph Hellwig <hch@infradead.org>
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: viro@ZenIV.linux.org.uk, linux-fsdevel@vger.kernel.org,
linux-kernel@vger.kernel.org, hch@infradead.org,
Trond.Myklebust@netapp.com, sfrench@samba.org, sage@newdream.net,
ericvh@gmail.com, mszeredi@suse.cz
Subject: Re: [PATCH 06/25] vfs: add i_op->atomic_create()
Date: Tue, 13 Mar 2012 05:37:20 -0400 [thread overview]
Message-ID: <20120313093720.GC11797@infradead.org> (raw)
In-Reply-To: <1331155362-11132-7-git-send-email-miklos@szeredi.hu>
On Wed, Mar 07, 2012 at 10:22:23PM +0100, Miklos Szeredi wrote:
> From: Miklos Szeredi <mszeredi@suse.cz>
>
> Add a new inode operation which is called on regular file create. This is a
> replacement for ->create() which allows the file to be opened atomically with
> creation.
>
> This function is also called for non-open creates (mknod(2)) with a NULL file
> argument. Only one of ->create or ->atomic_create will be called, implementing
> both makes no sense.
>
> The functionality of this method partially overlaps that of ->atomic_open().
> FUSE and 9P only use ->atomic_create, NFS, CIFS and CEPH use both.
I really don't like the special casing of the mknod handling in every
atomic_create instance. Either we should keep ->create for it, or do a
cleanup pass before to always make that pass go through ->mknod - in
fact most filesystems handle the two in common code anyway so we might
be able to get rid of one of them, possible mkdir as well.
next prev parent reply other threads:[~2012-03-13 9:37 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 [this message]
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
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=20120313093720.GC11797@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=mszeredi@suse.cz \
--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).