lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Wed,  7 Mar 2012 22:22:17 +0100
From:	Miklos Szeredi <miklos@...redi.hu>
To:	viro@...IV.linux.org.uk
Cc:	linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
	hch@...radead.org, Trond.Myklebust@...app.com, sfrench@...ba.org,
	sage@...dream.net, ericvh@...il.com, mszeredi@...e.cz
Subject: [PATCH 00/25] vfs: atomic open RFC

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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ