LWN.net Logo

vfs: atomic open v6 (part 2)

From:  Miklos Szeredi <miklos@szeredi.hu>
To:  viro@ZenIV.linux.org.uk
Subject:  [PATCH 00/21] vfs: atomic open v6 (part 2)
Date:  Tue, 5 Jun 2012 15:10:11 +0200
Message-ID:  <1338901832-14049-1-git-send-email-miklos@szeredi.hu>
Cc:  linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, hch@infradead.org, torvalds@linux-foundation.org, dhowells@redhat.com, mszeredi@suse.cz
Archive-link:  Article, Thread

This is part 2 of the atomic open series.  It introduces i_op->atomic_open() and
converts filesystems that abuse ->lookup() and ->create() to use this new
interface instead.

This version has one bugfix and several cleanups, reported by David Howells.
Also updated documentation in Documentation/filesytems/{vfs.txt,Locking}.

Al, please apply.

git tree is here:

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

Thanks,
Miklos
---

Miklos Szeredi (21):
      vfs: do_last(): inline lookup_slow()
      vfs: do_last(): separate O_CREAT specific code
      vfs: do_last(): common slow lookup
      vfs: add lookup_open()
      vfs: lookup_open(): expand lookup_hash()
      vfs: add i_op->atomic_open()
      nfs: implement i_op->atomic_open()
      nfs: clean up ->create in nfs_rpc_ops
      nfs: don't use nd->intent.open.flags
      nfs: don't use intents for checking atomic open
      fuse: implement i_op->atomic_open()
      cifs: implement i_op->atomic_open()
      ceph: remove unused arg from ceph_lookup_open()
      ceph: implement i_op->atomic_open()
      9p: implement i_op->atomic_open()
      vfs: remove open intents from nameidata
      vfs: do_last(): clean up error handling
      vfs: do_last(): clean up labels
      vfs: do_last(): clean up bool
      vfs: do_last(): clean up retry
      vfs: move O_DIRECT check to common code

---
 Documentation/filesystems/Locking |    4 +
 Documentation/filesystems/vfs.txt |   11 +
 fs/9p/vfs_inode.c                 |  169 ++++++++-----
 fs/9p/vfs_inode_dotl.c            |   52 +++--
 fs/ceph/dir.c                     |   68 ++++--
 fs/ceph/file.c                    |   22 +-
 fs/ceph/super.h                   |    6 +-
 fs/cifs/cifsfs.c                  |    1 +
 fs/cifs/cifsfs.h                  |    3 +
 fs/cifs/dir.c                     |  437 ++++++++++++++++++---------------
 fs/fuse/dir.c                     |   94 +++++--
 fs/internal.h                     |    8 +-
 fs/namei.c                        |  492 ++++++++++++++++++++++++++-----------
 fs/nfs/dir.c                      |  242 ++++++++-----------
 fs/nfs/nfs3proc.c                 |    2 +-
 fs/nfs/nfs4proc.c                 |   37 +--
 fs/nfs/proc.c                     |    2 +-
 fs/open.c                         |   91 ++-----
 include/linux/fs.h                |    7 +
 include/linux/namei.h             |   11 -
 include/linux/nfs_xdr.h           |    2 +-
 21 files changed, 1023 insertions(+), 738 deletions(-)

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

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds