linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/9] Support follow_link in RCU-walk.
@ 2015-03-05  5:21 NeilBrown
  2015-03-05  5:21 ` [PATCH 5/9] VFS/namei: enhance follow_link to support RCU-walk NeilBrown
                   ` (9 more replies)
  0 siblings, 10 replies; 16+ messages in thread
From: NeilBrown @ 2015-03-05  5:21 UTC (permalink / raw)
  To: Alexander Viro; +Cc: linux-fsdevel, linux-kernel

Hi Al (and others),

 I wonder if you could look over this patchset.
 It allows RCU-walk to follow symlinks in many common cases,
 thus removing a surprising performance hit caused by using symlinks.

 The last could of patches make changes to XFS and NFS to support
 this but I haven't forwarded to the relevant lists yet.
 If/when the early code meets with approval I'll do that.

 The first patch almost certainly needs to be changed.  I originally
 wrote this code when filesystems could see inside nameidata.
 It is now opaque so the simplest solution was to provide an
 accessor function.
 Maybe I should as a 'flags' arg to ->follow_link?? Or have
 ->follow_link and ->follow_link_rcu ??
 What do you suggest?


Thanks,
NeilBrown


---

NeilBrown (9):
      FS: make all ->follow_link handlers aware for LOOKUP_RCU
      VFS/namei: use terminate_walk when symlink lookup fails.
      VFS/namei: new flag to support RCU symlinks: LOOKUP_LINK_RCU.
      VFS/namei: abort RCU-walk on symlink if atime needs updating.
      VFS/namei: enhance follow_link to support RCU-walk.
      VFS/namei: enable RCU-walk when following symlinks.
      VFS/namei: handle LOOKUP_RCU in page_follow_link_light.
      XFS: allow follow_link to often succeed in RCU-walk.
      NFS: support LOOKUP_RCU in nfs_follow_link.


 drivers/staging/lustre/lustre/llite/symlink.c |    3 +
 fs/9p/vfs_inode.c                             |    6 +
 fs/9p/vfs_inode_dotl.c                        |    5 +
 fs/befs/linuxvfs.c                            |    2 
 fs/cifs/link.c                                |    2 
 fs/configfs/symlink.c                         |    7 +
 fs/ecryptfs/inode.c                           |    7 +
 fs/fuse/dir.c                                 |    2 
 fs/gfs2/inode.c                               |    2 
 fs/hostfs/hostfs_kern.c                       |    7 +
 fs/inode.c                                    |   26 ++++-
 fs/kernfs/symlink.c                           |    7 +
 fs/namei.c                                    |  132 ++++++++++++++++---------
 fs/nfs/inode.c                                |   22 ++++
 fs/nfs/symlink.c                              |   17 +++
 fs/overlayfs/inode.c                          |    3 +
 fs/proc/base.c                                |    2 
 fs/proc/namespaces.c                          |    3 +
 fs/proc/self.c                                |    4 +
 fs/proc/thread_self.c                         |    4 +
 fs/xfs/xfs_ioctl.c                            |    2 
 fs/xfs/xfs_iops.c                             |   13 ++
 fs/xfs/xfs_symlink.c                          |   11 ++
 fs/xfs/xfs_symlink.h                          |    2 
 include/linux/fs.h                            |    2 
 include/linux/namei.h                         |    1 
 include/linux/nfs_fs.h                        |    1 
 mm/shmem.c                                    |    6 +
 28 files changed, 234 insertions(+), 67 deletions(-)

--
Signature

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2015-03-09  2:21 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-05  5:21 [PATCH 0/9] Support follow_link in RCU-walk NeilBrown
2015-03-05  5:21 ` [PATCH 5/9] VFS/namei: enhance follow_link to support RCU-walk NeilBrown
2015-03-05  5:21 ` [PATCH 3/9] VFS/namei: new flag to support RCU symlinks: LOOKUP_LINK_RCU NeilBrown
2015-03-05  5:21 ` [PATCH 6/9] VFS/namei: enable RCU-walk when following symlinks NeilBrown
2015-03-05  5:21 ` [PATCH 9/9] NFS: support LOOKUP_RCU in nfs_follow_link NeilBrown
2015-03-05  5:21 ` [PATCH 2/9] VFS/namei: use terminate_walk when symlink lookup fails NeilBrown
2015-03-05  5:21 ` [PATCH 1/9] FS: make all ->follow_link handlers aware for LOOKUP_RCU NeilBrown
2015-03-05  5:21 ` [PATCH 4/9] VFS/namei: abort RCU-walk on symlink if atime needs updating NeilBrown
2015-03-05  5:21 ` [PATCH 8/9] XFS: allow follow_link to often succeed in RCU-walk NeilBrown
2015-03-05  5:21 ` [PATCH 7/9] VFS/namei: handle LOOKUP_RCU in page_follow_link_light NeilBrown
2015-03-05  6:05 ` [PATCH 0/9] Support follow_link in RCU-walk Al Viro
2015-03-05 13:52   ` John Stoffel
2015-03-05 16:00     ` Al Viro
2015-03-05 17:17       ` John Stoffel
2015-03-05 21:08   ` NeilBrown
2015-03-09  2:21   ` NeilBrown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).