On Sat, Feb 21, 2015 at 07:16:16PM -0800, Linus Torvalds wrote: > On Sat, Feb 21, 2015 at 6:51 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > > > > Umm... Works for me. Let's do it this way, then: > > * rename those guys through the whole series > > * leave the "annotate the filesystems" bits to sit in a vfs.git > > branch > > * slap trylock_super() + bugfixes I'd been doing today > > (procfs and debugfs symlink removals racing with follow_link, oopsable; > > double-copy in autofs dev_ioctl.c, with length not rechecked after > > copying, theoretically oopsable + reasonably likely data leak) on top of queue > > * feed it through local tests and send an updated pull request later > > tonight. > > Ok, I guess I can live with that. Looks like it survived all the local beating so far... Stuff in there: assorted fixes, multilayer overlayfs from Miklos, beginning of David's series (long-term goal being to have VFS understand stacking relationships, rather than kludging that up in a bunch of places; for now it's mostly infrastructure pieces along with some optimizations that could be standalone). Pushed, please pull from the usual place - git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus Shortlog: Al Viro (10): switch ll_lookup_finish_locks() and ll_revalidate_it_finish() to inode configfs: configfs_create() init callback is never NULL and it never fails configfs: fold create_dir() into its only caller configfs_add_file: fold into its sole caller don't bother with most of the bad_file_ops methods hypfs: switch to read_iter/write_iter Documentation/filesystems/Locking: ->get_sb() is long gone debugfs: leave freeing a symlink body until inode eviction procfs: fix race between symlink removals and traversals autofs4 copy_dev_ioctl(): keep the value of ->size we'd used for allocation Bastien Nocera (1): coredump: Fix typo in comment David Howells (14): configfs: Fix potential NULL d_inode dereference Infiniband: Fix potential NULL d_inode dereference VFS: Introduce inode-getting helpers for layered/unioned fs environments VFS: Add a whiteout dentry type VFS: Add a fallthrough flag for marking virtual dentries VFS: Split DCACHE_FILE_TYPE into regular and special types Apparmor: mediated_filesystem() should use dentry->d_sb not inode->i_sb Apparmor: Use d_is_positive/negative() rather than testing dentry->d_inode TOMOYO: Use d_is_dir() rather than d_inode and S_ISDIR() Smack: Use d_is_positive() rather than testing dentry->d_inode SELinux: Use d_is_positive() rather than testing dentry->d_inode VFS: (Scripted) Convert S_ISLNK/DIR/REG(dentry->d_inode) to d_is_*(dentry) Cachefiles: Fix up scripted S_ISDIR/S_ISREG/S_ISLNK conversions fanotify: Fix up scripted S_ISDIR/S_ISREG/S_ISLNK conversions Kinglong Mee (1): fs/aio.c: Remove duplicate function name in pr_debug messages Konstantin Khlebnikov (1): trylock_super(): replacement for grab_super_passive() Miklos Szeredi (16): ovl: check whiteout while reading directory ovl: make path-type a bitmap ovl: dont replace opaque dir ovl: add mutli-layer infrastructure ovl: helper to iterate layers ovl: multi-layer readdir ovl: multi-layer lookup ovl: check whiteout on lowest layer as well ovl: lookup ENAMETOOLONG on lower means ENOENT ovl: allow statfs if no upper layer ovl: mount: change order of initialization ovl: improve mount helpers ovl: make upperdir optional ovl: support multiple lower layers ovl: add testsuite to docs ovl: document lower layer ordering Omar Sandoval (1): posix_acl: fix reference leaks in posix_acl_create Rasmus Villemoes (1): autofs4: Wrong format for printing dentry Seunghun Lee (1): ovl: Prevent rw remount when it should be ro mount hujianyang (5): ovl: Cleanup redundant blank lines ovl: Use macros to present ovl_xattr ovl: Fix kernel panic while mounting overlayfs ovl: Fix opaque regression in ovl_lookup ovl: discard independent cursor in readdir() Diffstat: Documentation/filesystems/Locking | 2 - Documentation/filesystems/overlayfs.txt | 28 + arch/s390/hypfs/inode.c | 53 +- drivers/infiniband/hw/ipath/ipath_fs.c | 2 +- drivers/infiniband/hw/qib/qib_fs.c | 2 +- drivers/staging/lustre/lustre/llite/dcache.c | 12 +- drivers/staging/lustre/lustre/llite/file.c | 8 +- .../staging/lustre/lustre/llite/llite_internal.h | 4 +- drivers/staging/lustre/lustre/llite/namei.c | 12 +- fs/9p/vfs_inode.c | 2 +- fs/aio.c | 6 +- fs/autofs4/dev-ioctl.c | 8 +- fs/autofs4/expire.c | 2 +- fs/autofs4/root.c | 6 +- fs/bad_inode.c | 147 ------ fs/btrfs/ioctl.c | 4 +- fs/cachefiles/daemon.c | 4 +- fs/cachefiles/interface.c | 4 +- fs/cachefiles/namei.c | 16 +- fs/cachefiles/rdwr.c | 2 +- fs/ceph/dir.c | 2 +- fs/ceph/file.c | 2 +- fs/coda/dir.c | 2 +- fs/configfs/configfs_internal.h | 3 +- fs/configfs/dir.c | 72 ++- fs/configfs/file.c | 28 +- fs/configfs/inode.c | 12 +- fs/coredump.c | 2 +- fs/dcache.c | 37 +- fs/debugfs/inode.c | 36 +- fs/ecryptfs/file.c | 2 +- fs/ecryptfs/inode.c | 4 +- fs/exportfs/expfs.c | 2 +- fs/fs-writeback.c | 6 +- fs/fuse/dir.c | 2 +- fs/gfs2/dir.c | 2 +- fs/hfsplus/dir.c | 2 +- fs/hppfs/hppfs.c | 4 +- fs/internal.h | 2 +- fs/jffs2/dir.c | 14 +- fs/jffs2/super.c | 2 +- fs/libfs.c | 2 +- fs/namei.c | 2 +- fs/namespace.c | 10 +- fs/nfsd/nfs4recover.c | 4 +- fs/nfsd/nfsfh.c | 8 +- fs/nfsd/vfs.c | 8 +- fs/notify/fanotify/fanotify.c | 6 +- fs/overlayfs/copy_up.c | 5 +- fs/overlayfs/dir.c | 34 +- fs/overlayfs/inode.c | 12 +- fs/overlayfs/overlayfs.h | 18 +- fs/overlayfs/readdir.c | 181 +++---- fs/overlayfs/super.c | 564 ++++++++++++++------- fs/posix_acl.c | 18 +- fs/proc/generic.c | 12 - fs/proc/inode.c | 21 + fs/proc/internal.h | 1 + fs/reiserfs/xattr.c | 4 +- fs/super.c | 40 +- fs/xfs/xfs_ioctl.c | 2 +- include/linux/dcache.h | 120 ++++- mm/shmem.c | 4 +- security/apparmor/include/apparmor.h | 4 +- security/apparmor/lsm.c | 20 +- security/apparmor/path.c | 2 +- security/inode.c | 2 +- security/selinux/hooks.c | 8 +- security/smack/smack_lsm.c | 4 +- security/tomoyo/file.c | 4 +- 70 files changed, 924 insertions(+), 758 deletions(-) -- 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