linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/25] vfs: atomic open RFC
@ 2012-03-07 21:22 Miklos Szeredi
  2012-03-07 21:22 ` [PATCH 01/25] vfs: split do_lookup() Miklos Szeredi
                   ` (26 more replies)
  0 siblings, 27 replies; 55+ messages in thread
From: Miklos Szeredi @ 2012-03-07 21:22 UTC (permalink / raw)
  To: viro
  Cc: linux-fsdevel, linux-kernel, hch, Trond.Myklebust, sfrench, sage,
	ericvh, mszeredi

This series allows clean implementation of atomic lookup+(create)+open and
create+open operations that previously were done via ->lookup and ->create using
open intents.

Testing and review is welcome, but at this stage mainly I'd like to hear
opinions on the overall design of the new interfaces.

This is based on the vfs fixes patchset posted previously on -fsdevel.

git tree is here:

  git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git atomic-open

Thanks,
Miklos

---
Miklos Szeredi (25):
      vfs: split do_lookup()
      vfs: reorganize do_last()
      vfs: split __dentry_open()
      vfs: add i_op->atomic_open()
      vfs: add filesystem flags for atomic_open
      vfs: add i_op->atomic_create()
      nfs: implement i_op->atomic_open()
      nfs: clean up ->create in nfs_rpc_ops
      nfs: remove nfs4 specific create function
      nfs: don't use nd->intent.open.flags
      nfs: don't use intents for checking atomic open
      fuse: implement i_op->atomic_create()
      cifs: implement i_op->atomic_open() and i_op->atomic_create()
      ceph: remove unused arg from ceph_lookup_open()
      ceph: implement i_op->atomic_open() and i_op->atomic_create()
      9p: implement i_op->atomic_create()
      vfs: remove open intents from nameidata
      vfs: only retry last component if opening stale dentry
      vfs: remove nameidata argument from vfs_create
      vfs: move O_DIRECT check to common code
      gfs2: use i_op->atomic_create()
      nfs: use i_op->atomic_create()
      vfs: remove nameidata argument from i_op->create()
      vfs: optionally skip lookup on exclusive create
      vfs: remove nameidata from lookup

---
 Documentation/filesystems/Locking |    3 +-
 Documentation/filesystems/vfs.txt |    2 +-
 fs/9p/v9fs.h                      |    3 +-
 fs/9p/vfs_inode.c                 |   36 +--
 fs/9p/vfs_inode_dotl.c            |   36 +-
 fs/adfs/dir.c                     |    2 +-
 fs/affs/affs.h                    |    5 +-
 fs/affs/namei.c                   |    4 +-
 fs/afs/dir.c                      |   12 +-
 fs/afs/mntpt.c                    |    7 +-
 fs/autofs4/root.c                 |    4 +-
 fs/bad_inode.c                    |    7 +-
 fs/befs/linuxvfs.c                |    4 +-
 fs/bfs/dir.c                      |    6 +-
 fs/btrfs/inode.c                  |    6 +-
 fs/cachefiles/namei.c             |    2 +-
 fs/ceph/dir.c                     |   38 +--
 fs/ceph/file.c                    |   23 +-
 fs/ceph/super.c                   |    2 +-
 fs/ceph/super.h                   |    6 +-
 fs/cifs/cifsfs.c                  |   24 ++-
 fs/cifs/cifsfs.h                  |    8 +-
 fs/cifs/dir.c                     |  175 +++++------
 fs/coda/dir.c                     |    8 +-
 fs/configfs/dir.c                 |    4 +-
 fs/cramfs/inode.c                 |    2 +-
 fs/ecryptfs/inode.c               |    9 +-
 fs/efs/efs.h                      |    2 +-
 fs/efs/namei.c                    |    3 +-
 fs/exofs/namei.c                  |    6 +-
 fs/ext2/namei.c                   |    4 +-
 fs/ext3/namei.c                   |    5 +-
 fs/ext4/namei.c                   |    5 +-
 fs/fat/namei_msdos.c              |    6 +-
 fs/fat/namei_vfat.c               |    6 +-
 fs/freevxfs/vxfs_lookup.c         |    5 +-
 fs/fuse/dir.c                     |   60 ++--
 fs/gfs2/inode.c                   |   24 +-
 fs/hfs/dir.c                      |    6 +-
 fs/hfs/inode.c                    |    3 +-
 fs/hfsplus/dir.c                  |    7 +-
 fs/hfsplus/inode.c                |    2 +-
 fs/hostfs/hostfs_kern.c           |    6 +-
 fs/hpfs/dir.c                     |    2 +-
 fs/hpfs/hpfs_fn.h                 |    2 +-
 fs/hpfs/namei.c                   |    2 +-
 fs/hppfs/hppfs.c                  |    3 +-
 fs/hugetlbfs/inode.c              |    3 +-
 fs/internal.h                     |    9 +-
 fs/isofs/isofs.h                  |    2 +-
 fs/isofs/namei.c                  |    2 +-
 fs/jffs2/dir.c                    |   11 +-
 fs/jfs/namei.c                    |    6 +-
 fs/libfs.c                        |    2 +-
 fs/logfs/dir.c                    |    6 +-
 fs/minix/namei.c                  |    5 +-
 fs/namei.c                        |  636 ++++++++++++++++++++++++++++---------
 fs/ncpfs/dir.c                    |    9 +-
 fs/nfs/dir.c                      |  278 +++++++----------
 fs/nfs/file.c                     |    2 +-
 fs/nfs/nfs3proc.c                 |    2 +-
 fs/nfs/nfs4proc.c                 |   48 ---
 fs/nfs/proc.c                     |    2 +-
 fs/nfs/super.c                    |    9 +-
 fs/nfsd/vfs.c                     |    4 +-
 fs/nilfs2/namei.c                 |    6 +-
 fs/ntfs/namei.c                   |    4 +-
 fs/ocfs2/dlmfs/dlmfs.c            |    3 +-
 fs/ocfs2/namei.c                  |    6 +-
 fs/omfs/dir.c                     |    6 +-
 fs/open.c                         |  113 +++----
 fs/openpromfs/inode.c             |    5 +-
 fs/proc/base.c                    |   22 +-
 fs/proc/generic.c                 |    3 +-
 fs/proc/internal.h                |    4 +-
 fs/proc/namespaces.c              |    2 +-
 fs/proc/proc_net.c                |    2 +-
 fs/proc/proc_sysctl.c             |    3 +-
 fs/proc/root.c                    |    9 +-
 fs/qnx4/namei.c                   |    2 +-
 fs/qnx4/qnx4.h                    |    2 +-
 fs/ramfs/inode.c                  |    2 +-
 fs/reiserfs/namei.c               |    7 +-
 fs/romfs/super.c                  |    3 +-
 fs/squashfs/namei.c               |    3 +-
 fs/sysfs/dir.c                    |    3 +-
 fs/sysv/namei.c                   |    4 +-
 fs/ubifs/dir.c                    |    6 +-
 fs/udf/namei.c                    |    6 +-
 fs/ufs/namei.c                    |    5 +-
 fs/xfs/xfs_iops.c                 |    9 +-
 include/linux/errno.h             |    1 +
 include/linux/fs.h                |   21 +-
 include/linux/namei.h             |   11 -
 include/linux/nfs_xdr.h           |    2 +-
 ipc/mqueue.c                      |    5 +-
 kernel/cgroup.c                   |    4 +-
 mm/shmem.c                        |    3 +-
 98 files changed, 1031 insertions(+), 889 deletions(-)



^ permalink raw reply	[flat|nested] 55+ messages in thread

end of thread, other threads:[~2012-03-26 13:47 UTC | newest]

Thread overview: 55+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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

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).