vfs.git
Al Viro
maintainer 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(-)
Quoted 4 lines · Al Viro
Preparations of parallel lookups (the remaining main obstacle is the
need to movesecurity_d_instantiate(); once that becomes safe, the rest will be a matter of rather short series local tofs/*.c) + preadv2/pwritev2 series from Christoph + assorted fixes.
So this:
Quoted 2 lines
Al Viro:
replaced_add_unique()with saner primitive
ends up conflicting with commit d9dfd8d74168 ("NFSv4: Fix a dentry leak on alias use").
Quoted 1 line
From what I can tell, your version doesn't have the leak issue, so my
merge resolution is to just take your new code as-is, but I'd ask you to double-check my logic.
(I haven't pushed out the merge yet, it's still going through my build test. Soon, but I guess you can just take a look at that dentry leak commit regardless).
Linus
Al Viro
maintainerQuoted 14 lines · Linus Torvalds
Quoted 4 lines · Al Viro
Preparations of parallel lookups (the remaining main obstacle is the
need to movesecurity_d_instantiate(); once that becomes safe, the rest will be a matter of rather short series local tofs/*.c) + preadv2/pwritev2 series from Christoph + assorted fixes.So this:
Quoted 2 lines
Al Viro:
replaced_add_unique()with saner primitiveends up conflicting with commit
d9dfd8d74168("NFSv4: Fix a dentry leak on alias use").
Quoted 7 lines
Quoted 1 line
From what I can tell, your version doesn't have the leak issue, so my
merge resolution is to just take your new code as-is, but I'd ask you to double-check my logic.
(I haven't pushed out the merge yet, it's still going through my build test. Soon, but I guess you can just take a look at that dentry leak commit regardless).
It does contain an equivalent of the leak fix, and yes, resolution should be "take the variant from vfs.git in the area of conflict".
In fact, I was just pondering whether to send a followup describing the conflict resolution (== take the variant from vfs.git in the area of conflict) or leave it be as too trivial. Should've sent...