[git pull] vfs.git pile 2

From: Al Viro
Date: Fri Dec 16 2016 - 17:12:31 EST


In this pile:
* autofs-namespace series
* dedupe stuff
* more struct path constification

One conflict (xfs_reflink.c; resolved by taking this variant).

The following changes since commit 3e5de27e940d00d8d504dfb96625fb654f641509:

Linux 4.9-rc8 (2016-12-04 12:50:51 -0800)

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 9763f7a4a5f7b1a7c480fa06d01b2bad25163c0a:

Merge branch 'work.autofs' into for-linus (2016-12-16 16:34:52 -0500)

----------------------------------------------------------------
Al Viro (21):
fsnotify: constify 'data' passed to ->handle_event()
fsnotify(): constify 'data'
constify fsnotify_parent()
fsnotify: constify the places working with ->f_path
audit_log_{name,link_denied}: constify struct path
constify get_dcookie() and friends
autofs: constify find_autofs_mount() callback
constify btrfs_mksubvol()
constify alloc_file()
quota: constify struct path in quota_on
namespace.c: constify struct path passed to a bunch of primitives
vfs: misc struct path constification
nfs_write_end(): fix handling of short copies
fix ceph_write_end()
fix gfs2_stuffed_write_end() on short copies
9p: saner ->write_end() on failing copy into non-uptodate page
exofs: don't mess with simple_write_{begin,end}
simple_write_end(): don't zero in short copy into uptodate
Merge branch 'work.write_end' into for-linus
Merge remote-tracking branch 'djwong/ocfs2-vfs-reflink-6' into for-linus
Merge branch 'work.autofs' into for-linus

Christoph Hellwig (1):
fs: try to clone files first in vfs_copy_file_range

Darrick J. Wong (10):
vfs: refactor clone/dedupe_file_range common functions
ocfs2: convert inode refcount test to a helper
ocfs2: add newlines to some error messages
ocfs2: prohibit refcounted swapfiles
ocfs2: budget for extent tree splits when adding refcount flag
ocfs2: don't eat io errors during _dio_end_io_write
ocfs2: always unlock when completing dio writes
ocfs2: fix bad pointer cast
ocfs2: charge quota for reflinked blocks
ocfs2: implement the VFS clone_range, copy_range, and dedupe_range features

Ian Kent (10):
vfs: change d_manage() to take a struct path
vfs: add path_is_mountpoint() helper
vfs: add path_has_submounts()
autofs: change autofs4_expire_wait()/do_expire_wait() to take struct path
autofs: change autofs4_wait() to take struct path
autofs: use path_is_mountpoint() to fix unreliable d_mountpoint() checks
autofs: use path_has_submounts() to fix unreliable have_submount() checks
vfs: remove unused have_submounts() function
autofs - constify misc struct path instances
autofs - dont hold spin lock over direct mount expire

Mickaël Salaün (1):
fs: Constify path_is_under()'s arguments

Documentation/filesystems/Locking | 2 +-
Documentation/filesystems/vfs.txt | 2 +-
arch/powerpc/oprofile/cell/spu_task_sync.c | 2 +-
drivers/oprofile/buffer_sync.c | 2 +-
fs/9p/vfs_addr.c | 15 +-
fs/autofs4/autofs_i.h | 5 +-
fs/autofs4/dev-ioctl.c | 10 +-
fs/autofs4/expire.c | 25 +-
fs/autofs4/root.c | 61 ++--
fs/autofs4/waitq.c | 13 +-
fs/btrfs/ctree.h | 3 -
fs/btrfs/file.c | 1 -
fs/btrfs/ioctl.c | 14 +-
fs/ceph/addr.c | 14 +-
fs/dcache.c | 40 +--
fs/dcookies.c | 4 +-
fs/exofs/inode.c | 68 ++---
fs/ext4/super.c | 4 +-
fs/file_table.c | 2 +-
fs/gfs2/aops.c | 4 +-
fs/internal.h | 2 +-
fs/libfs.c | 14 +-
fs/mount.h | 6 +
fs/namei.c | 17 +-
fs/namespace.c | 39 ++-
fs/nfs/file.c | 2 +-
fs/notify/dnotify/dnotify.c | 2 +-
fs/notify/fanotify/fanotify.c | 8 +-
fs/notify/fanotify/fanotify.h | 2 +-
fs/notify/fsnotify.c | 8 +-
fs/notify/inotify/inotify.h | 2 +-
fs/notify/inotify/inotify_fsnotify.c | 4 +-
fs/ocfs2/alloc.c | 7 +-
fs/ocfs2/aops.c | 31 +-
fs/ocfs2/file.c | 42 ++-
fs/ocfs2/file.h | 3 +
fs/ocfs2/inode.h | 6 +
fs/ocfs2/move_extents.c | 10 +-
fs/ocfs2/refcounttree.c | 464 ++++++++++++++++++++++++++++-
fs/ocfs2/refcounttree.h | 7 +
fs/ocfs2/xattr.c | 4 +-
fs/quota/dquot.c | 2 +-
fs/quota/quota.c | 4 +-
fs/read_write.c | 231 +++++++++++++-
fs/reiserfs/super.c | 4 +-
fs/statfs.c | 2 +-
fs/utimes.c | 2 +-
fs/xfs/xfs_file.c | 19 --
fs/xfs/xfs_reflink.c | 213 +------------
include/linux/audit.h | 2 +-
include/linux/dcache.h | 4 +-
include/linux/dcookies.h | 4 +-
include/linux/file.h | 2 +-
include/linux/fs.h | 12 +-
include/linux/fsnotify.h | 12 +-
include/linux/fsnotify_backend.h | 10 +-
include/linux/mount.h | 6 +-
include/linux/quota.h | 2 +-
include/linux/quotaops.h | 2 +-
kernel/audit.c | 4 +-
kernel/audit.h | 2 +-
kernel/audit_fsnotify.c | 10 +-
kernel/audit_tree.c | 2 +-
kernel/audit_watch.c | 8 +-
64 files changed, 1027 insertions(+), 503 deletions(-)