[git pull] vfs.git

From: Al Viro
Date: Sat Mar 19 2016 - 21:44:34 EST


Preparations of parallel lookups (the remaining main obstacle is the
need to move security_d_instantiate(); once that becomes safe, the rest will
be a matter of rather short series local to fs/*.c) + preadv2/pwritev2 series
from Christoph + assorted fixes.

The following changes since commit f93812846f31381d35c04c6c577d724254355e7f:

jffs2: reduce the breakage on recovery from halfway failed rename() (2016-03-07 23:07:10 -0500)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus

for you to fetch changes up to 8b23a8ce1094f25a85826e25217c5b9779a4f5aa:

Merge branches 'work.lookups', 'work.misc' and 'work.preadv2' into for-next (2016-03-18 16:07:38 -0400)

----------------------------------------------------------------
Al Viro (25):
ecryptfs_lookup(): use lookup_one_len_unlocked()
ecryptfs_encrypt_and_encode_filename(): drop unused argument
Merge branch 'for-linus' into work.lookups
do_last(): reorder and simplify a bit
lookup_dcache(): lift d_alloc() into callers
namei: untanlge lookup_fast()
namei: change calling conventions for lookup_{fast,slow} and follow_managed()
namei: simplify invalidation logics in lookup_dcache()
lookup_one_len_unlocked(): use lookup_dcache()
namei: massage lookup_slow() to be usable by lookup_one_len_unlocked()
namei: teach lookup_slow() to skip revalidate
ceph: don't bother with d_rehash() in splice_dentry()
configfs: move d_rehash() into configfs_create() for regular files
autofs4: don't bother with d_instantiate(dentry, NULL) in ->lookup()
ceph_fill_trace(): don't bother with d_instantiate(dn, NULL)
kill dentry_unhash()
nfs_lookup: don't bother with d_instantiate(dentry, NULL)
cifs_get_root(): use lookup_one_len_unlocked()
quota: use lookup_one_len_unlocked()
replace d_add_unique() with saner primitive
uninline d_add()
untangle fsnotify_d_instantiate() a bit
don't bother with __d_instantiate(dentry, NULL)
dcache.c: new helper: __d_add()
Merge branches 'work.lookups', 'work.misc' and 'work.preadv2' into for-next

Christoph Hellwig (5):
vfs: pass a flags argument to vfs_readv/vfs_writev
x86: wire up preadv2 and pwritev2
vfs: add the RWF_HIPRI flag for preadv2/pwritev2
direct-io: only use block polling if explicitly requested
blk-mq: enable polling support by default

David Howells (1):
CacheFiles: Provide read-and-reset release counters for cachefilesd

Dmitry V. Levin (1):
vfs: show_vfsstat: do not ignore errors from show_devname method

Milosz Tanski (1):
vfs: vfs: Define new syscalls preadv2,pwritev2

Rabin Vincent (1):
splice: handle zero nr_pages in splice_to_pipe()

arch/x86/entry/syscalls/syscall_32.tbl | 2 +
arch/x86/entry/syscalls/syscall_64.tbl | 2 +
fs/autofs4/root.c | 2 -
fs/cachefiles/daemon.c | 13 +-
fs/cachefiles/interface.c | 11 +-
fs/cachefiles/internal.h | 4 +
fs/cachefiles/namei.c | 28 ++-
fs/ceph/inode.c | 21 +--
fs/cifs/cifsfs.c | 4 +-
fs/configfs/dir.c | 9 +-
fs/configfs/inode.c | 12 +-
fs/dcache.c | 177 ++++++++++---------
fs/direct-io.c | 3 +-
fs/ecryptfs/crypto.c | 27 +--
fs/ecryptfs/ecryptfs_kernel.h | 1 -
fs/ecryptfs/inode.c | 11 +-
fs/namei.c | 309 ++++++++++++++-------------------
fs/nfs/dir.c | 12 +-
fs/nfs/nfs4proc.c | 13 +-
fs/nfsd/vfs.c | 4 +-
fs/proc_namespace.c | 2 +
fs/quota/dquot.c | 4 +-
fs/read_write.c | 197 ++++++++++++++++-----
fs/splice.c | 5 +-
include/linux/blkdev.h | 3 +-
include/linux/compat.h | 6 +
include/linux/dcache.h | 33 +---
include/linux/fs.h | 10 +-
include/linux/fsnotify.h | 9 -
include/linux/fsnotify_backend.h | 9 +-
include/linux/namei.h | 1 +
include/linux/syscalls.h | 6 +
include/uapi/linux/fs.h | 3 +
33 files changed, 488 insertions(+), 465 deletions(-)