Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 13 Oct 2014 09:28:42 +0000 (11:28 +0200)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 13 Oct 2014 09:28:42 +0000 (11:28 +0200)
Pull vfs updates from Al Viro:
 "The big thing in this pile is Eric's unmount-on-rmdir series; we
  finally have everything we need for that.  The final piece of prereqs
  is delayed mntput() - now filesystem shutdown always happens on
  shallow stack.

  Other than that, we have several new primitives for iov_iter (Matt
  Wilcox, culled from his XIP-related series) pushing the conversion to
  ->read_iter()/ ->write_iter() a bit more, a bunch of fs/dcache.c
  cleanups and fixes (including the external name refcounting, which
  gives consistent behaviour of d_move() wrt procfs symlinks for long
  and short names alike) and assorted cleanups and fixes all over the
  place.

  This is just the first pile; there's a lot of stuff from various
  people that ought to go in this window.  Starting with
  unionmount/overlayfs mess...  ;-/"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (60 commits)
  fs/file_table.c: Update alloc_file() comment
  vfs: Deduplicate code shared by xattr system calls operating on paths
  reiserfs: remove pointless forward declaration of struct nameidata
  don't need that forward declaration of struct nameidata in dcache.h anymore
  take dname_external() into fs/dcache.c
  let path_init() failures treated the same way as subsequent link_path_walk()
  fix misuses of f_count() in ppp and netlink
  ncpfs: use list_for_each_entry() for d_subdirs walk
  vfs: move getname() from callers to do_mount()
  gfs2_atomic_open(): skip lookups on hashed dentry
  [infiniband] remove pointless assignments
  gadgetfs: saner API for gadgetfs_create_file()
  f_fs: saner API for ffs_sb_create_file()
  jfs: don't hash direct inode
  [s390] remove pointless assignment of ->f_op in vmlogrdr ->open()
  ecryptfs: ->f_op is never NULL
  android: ->f_op is never NULL
  nouveau: __iomem misannotations
  missing annotation in fs/file.c
  fs: namespace: suppress 'may be used uninitialized' warnings
  ...

16 files changed:
1  2 
Documentation/filesystems/vfs.txt
drivers/net/ppp/ppp_generic.c
drivers/staging/vme/devices/vme_user.c
drivers/usb/gadget/function/f_fs.c
drivers/usb/gadget/legacy/inode.c
fs/btrfs/ioctl.c
fs/buffer.c
fs/cifs/file.c
fs/ecryptfs/file.c
fs/file_table.c
fs/gfs2/inode.c
fs/internal.h
fs/namei.c
fs/proc/base.c
fs/super.c
include/linux/fs.h

Simple merge
Simple merge
index 4ad11e03cf540d69be8427e4e0547edcf83a4207,4726e278e557e71fb3ff13eea268cd10a88a7a40..7c6771d027a222f33dc472a71ff400995749e0b7
@@@ -1557,13 -1529,11 +1552,14 @@@ static int ffs_epfiles_create(struct ff
                epfile->ffs = ffs;
                mutex_init(&epfile->mutex);
                init_waitqueue_head(&epfile->wait);
 -              sprintf(epfiles->name, "ep%u",  i);
 +              if (ffs->user_flags & FUNCTIONFS_VIRTUAL_ADDR)
 +                      sprintf(epfiles->name, "ep%02x", ffs->eps_addrmap[i]);
 +              else
 +                      sprintf(epfiles->name, "ep%u", i);
-               if (!unlikely(ffs_sb_create_file(ffs->sb, epfiles->name, epfile,
-                                                &ffs_epfile_operations,
-                                                &epfile->dentry))) {
+               epfile->dentry = ffs_sb_create_file(ffs->sb, epfiles->name,
+                                                epfile,
+                                                &ffs_epfile_operations);
+               if (unlikely(!epfile->dentry)) {
                        ffs_epfiles_destroy(epfiles, i - 1);
                        return -ENOMEM;
                }
Simple merge
Simple merge
diff --cc fs/buffer.c
Simple merge
diff --cc fs/cifs/file.c
Simple merge
Simple merge
diff --cc fs/file_table.c
Simple merge
diff --cc fs/gfs2/inode.c
Simple merge
diff --cc fs/internal.h
Simple merge
diff --cc fs/namei.c
Simple merge
diff --cc fs/proc/base.c
Simple merge
diff --cc fs/super.c
Simple merge
Simple merge