Stuff in there: 1) acct.c fixes and general rework of mnt_pin mechanism. That allows to go for delayed-mntput stuff, which will permit mntput() on deep stack without worrying about stack overflows - fs shutdown will happen on shallow stack. IOW, we can do Eric's umount-on-rmdir series without introducing tons of stack overflows on new mntput() call chains it introduces. 2) Bruce's d_splice_alias() patches 3) more Miklos' rename() stuff. 4) a couple of regression fixes (stable fodder, in the end of branch) and a fix for API idiocy in iov_iter.c. There definitely will be another pile, maybe even two. I'd like to get Eric's series in this time, but even if we miss it, it'll go right in the beginning of for-next in the next cycle - the tricky part of prereqs is in this pile. Please, pull from the usual place: git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus There are two conflicts - one in fs/namespace.c (hlist_add_after_rcu() got moved into helper function in this branch and replaced with hlist_add_behind_rcu() in mainline) and another in kernel/acct.c - there it's whitespace noise from "kernel/acct.c: fix coding style warnings and errors" which got rebased into this branch *and* sent in original form by akpm. Resolution is to pick kernel/acct.c from this branch. Alternatively, I can drop that commit from the branch, but that will mean a late rebase or having even messier conflict in kernel/acct.c, with the same contents of that file after conflict resolution. Up to you, but I think it's less PITA to leave it as is... See vfs.git#proposed-merge for my take on the merge. Shortlog: Al Viro (20): acct: encode_comp_t(0) is 0, fortunately... acct: switch to __kernel_write() separate namespace-independent parts of filling acct_t split the slow path in acct_process() off acct() should honour the limits from the very beginning acct: serialize acct_on() acct: new lifetime rules acct: simplify check_free_space() acct: get rid of acct_list acct: get rid of acct_lock for acct->count drop ->s_umount around acct_auto_close() make acct_kill() wait for file closing. acct: move mnt_pin() upwards. start carving bsd_acct_struct up take fs_pin stuff to fs/* make fs/{namespace,super}.c forget about acct.h death to mnt_pinned switch iov_iter_get_pages() to passing maximal number of pages __generic_file_write_iter(): fix handling of sync error after DIO fix copy_tree() regression Fengguang Wu (1): fs: mark __d_obtain_alias static Ionut Alexa (1): kernel/acct.c: fix coding style warnings and errors J. Bruce Fields (10): namei: trivial fix to vfs_rename_dir comment dcache: move d_splice_alias dcache: close d_move race in d_splice_alias dcache: d_splice_alias mustn't create directory aliases dcache: d_splice_alias should ignore DCACHE_DISCONNECTED dcache: d_obtain_alias callers don't all want DISCONNECTED dcache: remove unused d_find_alias parameter dcache: d_find_alias needn't recheck IS_ROOT && DCACHE_DISCONNECTED exportfs: update Exporting documentation dcache: d_splice_alias should detect loops Miklos Szeredi (7): fs: call rename2 if exists bad_inode: add ->rename2() btrfs: add RENAME_NOREPLACE shmem: support RENAME_NOREPLACE shmem: support RENAME_EXCHANGE hostfs: support rename flags cifs: support RENAME_NOREPLACE NeilBrown (1): VFS: allow ->d_manage() to declare -EISDIR in rcu_walk mode. Diffstat: Documentation/filesystems/nfs/Exporting | 38 ++- Documentation/filesystems/vfs.txt | 3 +- fs/Makefile | 2 +- fs/bad_inode.c | 7 +- fs/btrfs/inode.c | 12 +- fs/btrfs/super.c | 9 +- fs/ceph/super.c | 2 +- fs/cifs/cifsfs.c | 2 +- fs/cifs/cifsfs.h | 4 +- fs/cifs/inode.c | 14 +- fs/dcache.c | 196 ++++++++----- fs/direct-io.c | 2 +- fs/ext4/namei.c | 1 - fs/fs_pin.c | 78 +++++ fs/fuse/dir.c | 7 - fs/fuse/file.c | 4 +- fs/hostfs/hostfs.h | 1 + fs/hostfs/hostfs_kern.c | 30 +- fs/hostfs/hostfs_user.c | 28 ++ fs/internal.h | 7 +- fs/mount.h | 2 +- fs/namei.c | 34 ++- fs/namespace.c | 67 +++-- fs/nfs/getroot.c | 2 +- fs/nilfs2/super.c | 2 +- fs/super.c | 19 +- include/linux/acct.h | 4 - include/linux/dcache.h | 1 + include/linux/fs.h | 2 + include/linux/fs_pin.h | 17 ++ include/linux/mount.h | 4 +- include/linux/uio.h | 2 +- kernel/acct.c | 484 ++++++++++++++----------------- mm/filemap.c | 2 +- mm/iov_iter.c | 17 +- mm/shmem.c | 32 +- 36 files changed, 661 insertions(+), 477 deletions(-) create mode 100644 fs/fs_pin.c create mode 100644 include/linux/fs_pin.h -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html