* [git pull] vfs.git part 2 - the rest of RCU symlink traversal
@ 2016-01-11 1:13 Al Viro
0 siblings, 0 replies; only message in thread
From: Al Viro @ 2016-01-11 1:13 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-kernel, linux-fsdevel
Replacement of ->follow_link/->put_link, allowing to stay in RCU
mode even if the symlink is not an embedded one. No changes since the
mailbomb on Jan 1. Please, pull from
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.symlinks
Shortlog:
Al Viro (13):
switch befs long symlinks to page_symlink_operations
logfs: don't duplicate page_symlink_inode_operations
udf: don't duplicate page_symlink_inode_operations
ufs: get rid of ->setattr() for symlinks
namei: page_getlink() and page_follow_link_light() are the same thing
don't put symlink bodies in pagecache into highmem
replace ->follow_link() with new method that could stay in RCU mode
teach page_get_link() to work in RCU mode
teach shmem_get_link() to work in RCU mode
teach proc_self_get_link()/proc_thread_self_get_link() to work in RCU mode
teach nfs_get_link() to work in RCU mode
kill free_page_put_link()
switch ->get_link() to delayed_call, kill ->put_link()
Diffstat:
Documentation/filesystems/Locking | 6 +-
Documentation/filesystems/porting | 17 ++++
Documentation/filesystems/vfs.txt | 21 ++---
drivers/staging/lustre/lustre/llite/symlink.c | 24 ++---
fs/9p/vfs_inode.c | 24 +++--
fs/9p/vfs_inode_dotl.c | 21 +++--
fs/affs/inode.c | 1 +
fs/affs/namei.c | 1 +
fs/affs/symlink.c | 9 +-
fs/afs/inode.c | 1 +
fs/autofs4/symlink.c | 14 ++-
fs/befs/linuxvfs.c | 40 ++++----
fs/btrfs/inode.c | 5 +-
fs/ceph/inode.c | 2 +-
fs/cifs/cifsfs.c | 3 +-
fs/cifs/cifsfs.h | 5 +-
fs/cifs/link.c | 10 +-
fs/coda/cnode.c | 5 +-
fs/coda/symlink.c | 4 +-
fs/configfs/symlink.c | 22 +++--
fs/cramfs/inode.c | 1 +
fs/dcache.c | 2 +-
fs/ecryptfs/inode.c | 17 +++-
fs/efs/inode.c | 1 +
fs/efs/symlink.c | 4 +-
fs/exofs/inode.c | 1 +
fs/exofs/namei.c | 1 +
fs/ext2/inode.c | 1 +
fs/ext2/namei.c | 1 +
fs/ext2/symlink.c | 5 +-
fs/ext4/inode.c | 1 +
fs/ext4/namei.c | 1 +
fs/ext4/symlink.c | 29 +++---
fs/f2fs/inode.c | 1 +
fs/f2fs/namei.c | 31 ++++---
fs/freevxfs/vxfs_inode.c | 1 +
fs/fuse/dir.c | 17 ++--
fs/gfs2/inode.c | 19 ++--
fs/hfsplus/inode.c | 2 +
fs/hostfs/hostfs_kern.c | 22 ++---
fs/hpfs/inode.c | 1 +
fs/hpfs/namei.c | 5 +-
fs/hugetlbfs/inode.c | 1 +
fs/inode.c | 6 ++
fs/isofs/inode.c | 1 +
fs/isofs/rock.c | 4 +-
fs/jffs2/symlink.c | 2 +-
fs/jfs/inode.c | 1 +
fs/jfs/namei.c | 1 +
fs/jfs/symlink.c | 5 +-
fs/kernfs/symlink.c | 24 +++--
fs/libfs.c | 22 ++---
fs/logfs/dir.c | 9 +-
fs/logfs/inode.c | 3 +-
fs/logfs/logfs.h | 1 -
fs/minix/inode.c | 4 +-
fs/namei.c | 126 +++++++++++++-------------
fs/ncpfs/inode.c | 4 +-
fs/nfs/inode.c | 26 +++++-
fs/nfs/symlink.c | 39 +++++---
fs/nilfs2/inode.c | 1 +
fs/nilfs2/namei.c | 4 +-
fs/ocfs2/inode.c | 1 +
fs/ocfs2/namei.c | 1 +
fs/ocfs2/symlink.c | 3 +-
fs/overlayfs/inode.c | 53 ++---------
fs/proc/base.c | 24 +++--
fs/proc/inode.c | 21 +++--
fs/proc/namespaces.c | 10 +-
fs/proc/self.c | 18 ++--
fs/proc/thread_self.c | 19 ++--
fs/qnx4/inode.c | 1 +
fs/qnx6/inode.c | 1 +
fs/ramfs/inode.c | 1 +
fs/reiserfs/inode.c | 1 +
fs/reiserfs/namei.c | 4 +-
fs/romfs/super.c | 1 +
fs/squashfs/inode.c | 2 +
fs/squashfs/symlink.c | 3 +-
fs/sysv/inode.c | 4 +-
fs/ubifs/file.c | 2 +-
fs/udf/inode.c | 3 +-
fs/udf/namei.c | 8 +-
fs/udf/symlink.c | 4 +-
fs/udf/udfdecl.h | 1 -
fs/ufs/Makefile | 2 +-
fs/ufs/inode.c | 5 +-
fs/ufs/namei.c | 5 +-
fs/ufs/symlink.c | 42 ---------
fs/ufs/ufs.h | 4 -
fs/xfs/xfs_iops.c | 14 ++-
include/linux/delayed_call.h | 34 +++++++
include/linux/fs.h | 16 ++--
include/linux/nfs_fs.h | 1 +
mm/shmem.c | 48 ++++++----
95 files changed, 570 insertions(+), 470 deletions(-)
delete mode 100644 fs/ufs/symlink.c
create mode 100644 include/linux/delayed_call.h
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2016-01-11 1:13 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-11 1:13 [git pull] vfs.git part 2 - the rest of RCU symlink traversal Al Viro
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.