All of lore.kernel.org
 help / color / mirror / Atom feed
From: Al Viro <viro@ZenIV.linux.org.uk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: [git pull] vfs pile 1
Date: Mon, 22 Jun 2015 07:47:37 +0100	[thread overview]
Message-ID: <20150622064737.GQ17109@ZenIV.linux.org.uk> (raw)

	In this pile: pathname resolution rewrite.
* recursion in link_path_walk() is gone.
* nesting limits on symlinks are gone (the only limit remaining is that
the total amount of symlinks is no more than 40, no matter how nested).
* "fast" (inline) symlinks are handled without leaving rcuwalk mode.
* stack footprint (independent of the nesting) is below kilobyte now -
about on par with what it used to be with one level of nested symlinks
and ~2.8 times lower than it used to be in the worst case.
* struct nameidata is entirely private to fs/namei.c now (not even opaque
pointers are being passed around).
* ->follow_link() and ->put_link() calling conventions had been changed;
all in-tree filesystems converted, out-of-tree should be able to follow
reasonably easy; see Documentation/filesystems/porting for details (and
in-tree filesystems for examples of conversion).

That has sat in -next since mid-May, seems to survive all testing without
regressions and merges clean with v4.1.  Please, pull from

git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus-1

Shortlog:
Al Viro (123):
      9p: don't bother with 4K allocation for 24-byte local array...
      9p: don't bother with __getname() in ->follow_link()
      ext4: split inode_operations for encrypted symlinks off the rest
      libfs: simple_follow_link()
      ext2: use simple_follow_link()
      befs: switch to simple_follow_link()
      ext3: switch to simple_follow_link()
      ext4: switch to simple_follow_link()
      jffs2: switch to simple_follow_link()
      shmem: switch to simple_follow_link()
      debugfs: switch to simple_follow_link()
      ufs: switch to simple_follow_link()
      ubifs: switch to simple_follow_link()
      sysv: switch to simple_follow_link()
      jfs: switch to simple_follow_link()
      freevxfs: switch to simple_follow_link()
      exofs: switch to {simple,page}_symlink_inode_operations
      ceph: switch to simple_follow_link()
      logfs: fix a pagecache leak for symlinks
      uninline walk_component()
      namei: take O_NOFOLLOW treatment into do_last()
      do_last: kill symlink_ok
      do_last: regularize the logics around following symlinks
      namei: get rid of lookup_hash()
      name: shift nameidata down into user_path_walk()
      namei: lift nameidata into filename_mountpoint()
      new ->follow_link() and ->put_link() calling conventions
      namei.c: separate the parts of follow_link() that find the link body
      namei: don't bother with ->follow_link() if ->i_link is set
      namei: introduce nameidata->link
      do_last: move path there from caller's stack frame
      namei: expand nested_symlink() in its only caller
      namei: expand the call of follow_link() in link_path_walk()
      namei: move the calls of may_follow_link() into follow_link()
      namei: rename follow_link to trailing_symlink, move it down
      link_path_walk: handle get_link() returning ERR_PTR() immediately
      link_path_walk: don't bother with walk_component() after jumping link
      link_path_walk: turn inner loop into explicit goto
      link_path_walk: massage a bit more
      link_path_walk: get rid of duplication
      link_path_walk: final preparations to killing recursion
      link_path_walk: kill the recursion
      link_path_walk: split "return from recursive call" path
      link_path_walk: cleanup - turn goto start; into continue;
      namei: move link/cookie pairs into nameidata
      namei: trim redundant arguments of trailing_symlink()
      namei: trim redundant arguments of fs/namei.c:put_link()
      namei: trim the arguments of get_link()
      namei: remove restrictions on nesting depth
      link_path_walk: nd->depth massage, part 1
      link_path_walk: nd->depth massage, part 2
      link_path_walk: nd->depth massage, part 3
      link_path_walk: nd->depth massage, part 4
      trailing_symlink: nd->depth massage, part 5
      get_link: nd->depth massage, part 6
      trailing_symlink: nd->depth massage, part 7
      put_link: nd->depth massage, part 8
      link_path_walk: nd->depth massage, part 9
      link_path_walk: nd->depth massage, part 10
      link_path_walk: end of nd->depth massage
      namei: we never need more than MAXSYMLINKS entries in nd->stack
      namei: lift (open-coded) terminate_walk() in follow_dotdot_rcu() into callers
      lift terminate_walk() into callers of walk_component()
      namei: lift (open-coded) terminate_walk() into callers of get_link()
      namei: take put_link() into {lookup,mountpoint,do}_last()
      namei: have terminate_walk() do put_link() on everything left
      link_path_walk: move the OK: inside the loop
      namei: new calling conventions for walk_component()
      namei: make should_follow_link() store the link in nd->link
      namei: move link count check and stack allocation into pick_link()
      lustre: rip the private symlink nesting limit out
      namei: simplify the callers of follow_managed()
      don't pass nameidata to ->follow_link()
      namei: simplify failure exits in get_link()
      namei: simpler treatment of symlinks with nothing other that / in the body
      namei: take the treatment of absolute symlinks to get_link()
      namei: fold put_link() into the failure case of complete_walk()
      namei: move bumping the refcount of link->mnt into pick_link()
      may_follow_link(): trim arguments
      namei: kill nd->link
      namei: take increment of nd->depth into pick_link()
      namei: may_follow_link() - lift terminate_walk() on failures into caller
      namei: split off filename_lookupat() with LOOKUP_PARENT
      namei: get rid of nameidata->base
      namei: path_init() calling conventions change
      namei: lift link_path_walk() call out of trailing_symlink()
      namei: lift terminate_walk() all the way up
      link_path_walk: use explicit returns for failure exits
      namei: explicitly pass seq number to unlazy_walk() when dentry != NULL
      namei: don't mangle nd->seq in lookup_fast()
      namei: store inode in nd->stack[]
      namei: pick_link() callers already have inode
      switch ->put_link() from dentry to inode
      new helper: free_page_put_link()
      namei: make put_link() RCU-safe
      namei: make may_follow_link() safe in RCU mode
      new helper: __legitimize_mnt()
      namei: store seq numbers in nd->stack[]
      namei: make unlazy_walk and terminate_walk handle nd->stack, add unlazy_link
      namei: don't unlazy until get_link()
      enable passing fast relative symlinks without dropping out of RCU mode
      namei: handle absolute symlinks without dropping out of RCU mode
      update Documentation/filesystems/ regarding the follow_link/put_link changes
      namei: unlazy_walk() doesn't need to mess with current->fs anymore
      lustre: kill unused macro (LOOKUP_CONTINUE)
      lustre: kill unused helper
      get rid of assorted nameidata-related debris
      namei: be careful with mountpoint crossings in follow_dotdot_rcu()
      namei: uninline set_root{,_rcu}()
      namei: pass the struct path to store the result down into path_lookupat()
      namei: move putname() call into filename_lookup()
      namei: shift nameidata inside filename_lookup()
      namei: make filename_lookup() reject ERR_PTR() passed as name
      namei: shift nameidata down into filename_parentat()
      namei: saner calling conventions for filename_create()
      namei: saner calling conventions for filename_parentat()
      namei: fold path_cleanup() into terminate_walk()
      namei: stash dfd and name into nameidata
      namei: trim do_last() arguments
      inline user_path_parent()
      inline user_path_create()
      namei: move saved_nd pointer into struct nameidata
      turn user_{path_at,path,lpath,path_dir}() into static inlines

David Howells (1):
      VFS: Handle lower layer dentry/inode in pathwalk

NeilBrown (7):
      ovl: rearrange ovl_follow_link to it doesn't need to call ->put_link
      SECURITY: remove nameidata arg from inode_follow_link.
      VFS: replace {, total_}link_count in task_struct with pointer to nameidata
      security/selinux: pass 'flags' arg to avc_audit() and avc_has_perm_flags()
      security: make inode_follow_link RCU-walk aware
      VFS/namei: make the use of touch_atime() in get_link() RCU-safe.
      Documentation: remove outdated information from automount-support.txt

Diffstat:
 Documentation/filesystems/Locking                  |    4 +-
 Documentation/filesystems/automount-support.txt    |   51 +-
 Documentation/filesystems/porting                  |   17 +
 Documentation/filesystems/vfs.txt                  |   22 +-
 .../lustre/lustre/include/linux/lustre_compat25.h  |   15 -
 .../staging/lustre/lustre/llite/llite_internal.h   |    6 -
 drivers/staging/lustre/lustre/llite/symlink.c      |   26 +-
 fs/9p/v9fs.h                                       |    2 -
 fs/9p/vfs_inode.c                                  |  123 +-
 fs/9p/vfs_inode_dotl.c                             |   39 +-
 fs/autofs4/symlink.c                               |    5 +-
 fs/befs/linuxvfs.c                                 |   57 +-
 fs/ceph/inode.c                                    |   11 +-
 fs/cifs/cifsfs.h                                   |    2 +-
 fs/cifs/link.c                                     |   28 +-
 fs/configfs/symlink.c                              |   31 +-
 fs/debugfs/file.c                                  |   12 -
 fs/debugfs/inode.c                                 |    6 +-
 fs/ecryptfs/inode.c                                |   11 +-
 fs/exofs/Kbuild                                    |    2 +-
 fs/exofs/exofs.h                                   |    4 -
 fs/exofs/inode.c                                   |    9 +-
 fs/exofs/namei.c                                   |    5 +-
 fs/exofs/symlink.c                                 |   55 -
 fs/ext2/inode.c                                    |    1 +
 fs/ext2/namei.c                                    |    3 +-
 fs/ext2/symlink.c                                  |   10 +-
 fs/ext3/inode.c                                    |    1 +
 fs/ext3/namei.c                                    |    3 +-
 fs/ext3/symlink.c                                  |   10 +-
 fs/ext4/ext4.h                                     |    1 +
 fs/ext4/inode.c                                    |    7 +-
 fs/ext4/namei.c                                    |   11 +-
 fs/ext4/symlink.c                                  |   48 +-
 fs/f2fs/namei.c                                    |   18 +-
 fs/freevxfs/vxfs_extern.h                          |    3 -
 fs/freevxfs/vxfs_immed.c                           |   34 -
 fs/freevxfs/vxfs_inode.c                           |    7 +-
 fs/fuse/dir.c                                      |   22 +-
 fs/gfs2/inode.c                                    |   10 +-
 fs/hostfs/hostfs_kern.c                            |   15 +-
 fs/hppfs/hppfs.c                                   |   13 +-
 fs/inode.c                                         |   31 +-
 fs/jffs2/dir.c                                     |    1 +
 fs/jffs2/fs.c                                      |    1 +
 fs/jffs2/symlink.c                                 |   45 +-
 fs/jfs/inode.c                                     |    3 +-
 fs/jfs/namei.c                                     |    5 +-
 fs/jfs/symlink.c                                   |   10 +-
 fs/kernfs/symlink.c                                |   25 +-
 fs/libfs.c                                         |   25 +-
 fs/logfs/dir.c                                     |    1 +
 fs/mount.h                                         |    1 +
 fs/namei.c                                         | 1453 ++++++++++----------
 fs/namespace.c                                     |   27 +-
 fs/nfs/symlink.c                                   |   19 +-
 fs/ntfs/namei.c                                    |    2 +-
 fs/open.c                                          |    2 +-
 fs/overlayfs/inode.c                               |   35 +-
 fs/proc/base.c                                     |    4 +-
 fs/proc/inode.c                                    |    9 +-
 fs/proc/namespaces.c                               |    4 +-
 fs/proc/self.c                                     |   24 +-
 fs/proc/thread_self.c                              |   22 +-
 fs/sysv/Makefile                                   |    2 +-
 fs/sysv/inode.c                                    |    5 +-
 fs/sysv/symlink.c                                  |   20 -
 fs/sysv/sysv.h                                     |    1 -
 fs/ubifs/dir.c                                     |    1 +
 fs/ubifs/file.c                                    |   11 +-
 fs/ubifs/super.c                                   |    1 +
 fs/ufs/inode.c                                     |    5 +-
 fs/ufs/namei.c                                     |    3 +-
 fs/ufs/symlink.c                                   |   13 +-
 fs/xfs/xfs_iops.c                                  |   11 +-
 include/linux/debugfs.h                            |    1 -
 include/linux/fs.h                                 |   16 +-
 include/linux/namei.h                              |   41 +-
 include/linux/sched.h                              |    3 +-
 include/linux/security.h                           |   13 +-
 mm/shmem.c                                         |   32 +-
 security/capability.c                              |    4 +-
 security/security.c                                |    7 +-
 security/selinux/avc.c                             |   18 +-
 security/selinux/hooks.c                           |   18 +-
 security/selinux/include/avc.h                     |    9 +-
 86 files changed, 1222 insertions(+), 1522 deletions(-)
 delete mode 100644 fs/exofs/symlink.c
 delete mode 100644 fs/sysv/symlink.c
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in

WARNING: multiple messages have this Message-ID (diff)
From: Al Viro <viro@ZenIV.linux.org.uk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: [git pull] vfs pile 1
Date: Mon, 22 Jun 2015 07:47:37 +0100	[thread overview]
Message-ID: <20150622064737.GQ17109@ZenIV.linux.org.uk> (raw)

	In this pile: pathname resolution rewrite.
* recursion in link_path_walk() is gone.
* nesting limits on symlinks are gone (the only limit remaining is that
the total amount of symlinks is no more than 40, no matter how nested).
* "fast" (inline) symlinks are handled without leaving rcuwalk mode.
* stack footprint (independent of the nesting) is below kilobyte now -
about on par with what it used to be with one level of nested symlinks
and ~2.8 times lower than it used to be in the worst case.
* struct nameidata is entirely private to fs/namei.c now (not even opaque
pointers are being passed around).
* ->follow_link() and ->put_link() calling conventions had been changed;
all in-tree filesystems converted, out-of-tree should be able to follow
reasonably easy; see Documentation/filesystems/porting for details (and
in-tree filesystems for examples of conversion).

That has sat in -next since mid-May, seems to survive all testing without
regressions and merges clean with v4.1.  Please, pull from

git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus-1

Shortlog:
Al Viro (123):
      9p: don't bother with 4K allocation for 24-byte local array...
      9p: don't bother with __getname() in ->follow_link()
      ext4: split inode_operations for encrypted symlinks off the rest
      libfs: simple_follow_link()
      ext2: use simple_follow_link()
      befs: switch to simple_follow_link()
      ext3: switch to simple_follow_link()
      ext4: switch to simple_follow_link()
      jffs2: switch to simple_follow_link()
      shmem: switch to simple_follow_link()
      debugfs: switch to simple_follow_link()
      ufs: switch to simple_follow_link()
      ubifs: switch to simple_follow_link()
      sysv: switch to simple_follow_link()
      jfs: switch to simple_follow_link()
      freevxfs: switch to simple_follow_link()
      exofs: switch to {simple,page}_symlink_inode_operations
      ceph: switch to simple_follow_link()
      logfs: fix a pagecache leak for symlinks
      uninline walk_component()
      namei: take O_NOFOLLOW treatment into do_last()
      do_last: kill symlink_ok
      do_last: regularize the logics around following symlinks
      namei: get rid of lookup_hash()
      name: shift nameidata down into user_path_walk()
      namei: lift nameidata into filename_mountpoint()
      new ->follow_link() and ->put_link() calling conventions
      namei.c: separate the parts of follow_link() that find the link body
      namei: don't bother with ->follow_link() if ->i_link is set
      namei: introduce nameidata->link
      do_last: move path there from caller's stack frame
      namei: expand nested_symlink() in its only caller
      namei: expand the call of follow_link() in link_path_walk()
      namei: move the calls of may_follow_link() into follow_link()
      namei: rename follow_link to trailing_symlink, move it down
      link_path_walk: handle get_link() returning ERR_PTR() immediately
      link_path_walk: don't bother with walk_component() after jumping link
      link_path_walk: turn inner loop into explicit goto
      link_path_walk: massage a bit more
      link_path_walk: get rid of duplication
      link_path_walk: final preparations to killing recursion
      link_path_walk: kill the recursion
      link_path_walk: split "return from recursive call" path
      link_path_walk: cleanup - turn goto start; into continue;
      namei: move link/cookie pairs into nameidata
      namei: trim redundant arguments of trailing_symlink()
      namei: trim redundant arguments of fs/namei.c:put_link()
      namei: trim the arguments of get_link()
      namei: remove restrictions on nesting depth
      link_path_walk: nd->depth massage, part 1
      link_path_walk: nd->depth massage, part 2
      link_path_walk: nd->depth massage, part 3
      link_path_walk: nd->depth massage, part 4
      trailing_symlink: nd->depth massage, part 5
      get_link: nd->depth massage, part 6
      trailing_symlink: nd->depth massage, part 7
      put_link: nd->depth massage, part 8
      link_path_walk: nd->depth massage, part 9
      link_path_walk: nd->depth massage, part 10
      link_path_walk: end of nd->depth massage
      namei: we never need more than MAXSYMLINKS entries in nd->stack
      namei: lift (open-coded) terminate_walk() in follow_dotdot_rcu() into callers
      lift terminate_walk() into callers of walk_component()
      namei: lift (open-coded) terminate_walk() into callers of get_link()
      namei: take put_link() into {lookup,mountpoint,do}_last()
      namei: have terminate_walk() do put_link() on everything left
      link_path_walk: move the OK: inside the loop
      namei: new calling conventions for walk_component()
      namei: make should_follow_link() store the link in nd->link
      namei: move link count check and stack allocation into pick_link()
      lustre: rip the private symlink nesting limit out
      namei: simplify the callers of follow_managed()
      don't pass nameidata to ->follow_link()
      namei: simplify failure exits in get_link()
      namei: simpler treatment of symlinks with nothing other that / in the body
      namei: take the treatment of absolute symlinks to get_link()
      namei: fold put_link() into the failure case of complete_walk()
      namei: move bumping the refcount of link->mnt into pick_link()
      may_follow_link(): trim arguments
      namei: kill nd->link
      namei: take increment of nd->depth into pick_link()
      namei: may_follow_link() - lift terminate_walk() on failures into caller
      namei: split off filename_lookupat() with LOOKUP_PARENT
      namei: get rid of nameidata->base
      namei: path_init() calling conventions change
      namei: lift link_path_walk() call out of trailing_symlink()
      namei: lift terminate_walk() all the way up
      link_path_walk: use explicit returns for failure exits
      namei: explicitly pass seq number to unlazy_walk() when dentry != NULL
      namei: don't mangle nd->seq in lookup_fast()
      namei: store inode in nd->stack[]
      namei: pick_link() callers already have inode
      switch ->put_link() from dentry to inode
      new helper: free_page_put_link()
      namei: make put_link() RCU-safe
      namei: make may_follow_link() safe in RCU mode
      new helper: __legitimize_mnt()
      namei: store seq numbers in nd->stack[]
      namei: make unlazy_walk and terminate_walk handle nd->stack, add unlazy_link
      namei: don't unlazy until get_link()
      enable passing fast relative symlinks without dropping out of RCU mode
      namei: handle absolute symlinks without dropping out of RCU mode
      update Documentation/filesystems/ regarding the follow_link/put_link changes
      namei: unlazy_walk() doesn't need to mess with current->fs anymore
      lustre: kill unused macro (LOOKUP_CONTINUE)
      lustre: kill unused helper
      get rid of assorted nameidata-related debris
      namei: be careful with mountpoint crossings in follow_dotdot_rcu()
      namei: uninline set_root{,_rcu}()
      namei: pass the struct path to store the result down into path_lookupat()
      namei: move putname() call into filename_lookup()
      namei: shift nameidata inside filename_lookup()
      namei: make filename_lookup() reject ERR_PTR() passed as name
      namei: shift nameidata down into filename_parentat()
      namei: saner calling conventions for filename_create()
      namei: saner calling conventions for filename_parentat()
      namei: fold path_cleanup() into terminate_walk()
      namei: stash dfd and name into nameidata
      namei: trim do_last() arguments
      inline user_path_parent()
      inline user_path_create()
      namei: move saved_nd pointer into struct nameidata
      turn user_{path_at,path,lpath,path_dir}() into static inlines

David Howells (1):
      VFS: Handle lower layer dentry/inode in pathwalk

NeilBrown (7):
      ovl: rearrange ovl_follow_link to it doesn't need to call ->put_link
      SECURITY: remove nameidata arg from inode_follow_link.
      VFS: replace {, total_}link_count in task_struct with pointer to nameidata
      security/selinux: pass 'flags' arg to avc_audit() and avc_has_perm_flags()
      security: make inode_follow_link RCU-walk aware
      VFS/namei: make the use of touch_atime() in get_link() RCU-safe.
      Documentation: remove outdated information from automount-support.txt

Diffstat:
 Documentation/filesystems/Locking                  |    4 +-
 Documentation/filesystems/automount-support.txt    |   51 +-
 Documentation/filesystems/porting                  |   17 +
 Documentation/filesystems/vfs.txt                  |   22 +-
 .../lustre/lustre/include/linux/lustre_compat25.h  |   15 -
 .../staging/lustre/lustre/llite/llite_internal.h   |    6 -
 drivers/staging/lustre/lustre/llite/symlink.c      |   26 +-
 fs/9p/v9fs.h                                       |    2 -
 fs/9p/vfs_inode.c                                  |  123 +-
 fs/9p/vfs_inode_dotl.c                             |   39 +-
 fs/autofs4/symlink.c                               |    5 +-
 fs/befs/linuxvfs.c                                 |   57 +-
 fs/ceph/inode.c                                    |   11 +-
 fs/cifs/cifsfs.h                                   |    2 +-
 fs/cifs/link.c                                     |   28 +-
 fs/configfs/symlink.c                              |   31 +-
 fs/debugfs/file.c                                  |   12 -
 fs/debugfs/inode.c                                 |    6 +-
 fs/ecryptfs/inode.c                                |   11 +-
 fs/exofs/Kbuild                                    |    2 +-
 fs/exofs/exofs.h                                   |    4 -
 fs/exofs/inode.c                                   |    9 +-
 fs/exofs/namei.c                                   |    5 +-
 fs/exofs/symlink.c                                 |   55 -
 fs/ext2/inode.c                                    |    1 +
 fs/ext2/namei.c                                    |    3 +-
 fs/ext2/symlink.c                                  |   10 +-
 fs/ext3/inode.c                                    |    1 +
 fs/ext3/namei.c                                    |    3 +-
 fs/ext3/symlink.c                                  |   10 +-
 fs/ext4/ext4.h                                     |    1 +
 fs/ext4/inode.c                                    |    7 +-
 fs/ext4/namei.c                                    |   11 +-
 fs/ext4/symlink.c                                  |   48 +-
 fs/f2fs/namei.c                                    |   18 +-
 fs/freevxfs/vxfs_extern.h                          |    3 -
 fs/freevxfs/vxfs_immed.c                           |   34 -
 fs/freevxfs/vxfs_inode.c                           |    7 +-
 fs/fuse/dir.c                                      |   22 +-
 fs/gfs2/inode.c                                    |   10 +-
 fs/hostfs/hostfs_kern.c                            |   15 +-
 fs/hppfs/hppfs.c                                   |   13 +-
 fs/inode.c                                         |   31 +-
 fs/jffs2/dir.c                                     |    1 +
 fs/jffs2/fs.c                                      |    1 +
 fs/jffs2/symlink.c                                 |   45 +-
 fs/jfs/inode.c                                     |    3 +-
 fs/jfs/namei.c                                     |    5 +-
 fs/jfs/symlink.c                                   |   10 +-
 fs/kernfs/symlink.c                                |   25 +-
 fs/libfs.c                                         |   25 +-
 fs/logfs/dir.c                                     |    1 +
 fs/mount.h                                         |    1 +
 fs/namei.c                                         | 1453 ++++++++++----------
 fs/namespace.c                                     |   27 +-
 fs/nfs/symlink.c                                   |   19 +-
 fs/ntfs/namei.c                                    |    2 +-
 fs/open.c                                          |    2 +-
 fs/overlayfs/inode.c                               |   35 +-
 fs/proc/base.c                                     |    4 +-
 fs/proc/inode.c                                    |    9 +-
 fs/proc/namespaces.c                               |    4 +-
 fs/proc/self.c                                     |   24 +-
 fs/proc/thread_self.c                              |   22 +-
 fs/sysv/Makefile                                   |    2 +-
 fs/sysv/inode.c                                    |    5 +-
 fs/sysv/symlink.c                                  |   20 -
 fs/sysv/sysv.h                                     |    1 -
 fs/ubifs/dir.c                                     |    1 +
 fs/ubifs/file.c                                    |   11 +-
 fs/ubifs/super.c                                   |    1 +
 fs/ufs/inode.c                                     |    5 +-
 fs/ufs/namei.c                                     |    3 +-
 fs/ufs/symlink.c                                   |   13 +-
 fs/xfs/xfs_iops.c                                  |   11 +-
 include/linux/debugfs.h                            |    1 -
 include/linux/fs.h                                 |   16 +-
 include/linux/namei.h                              |   41 +-
 include/linux/sched.h                              |    3 +-
 include/linux/security.h                           |   13 +-
 mm/shmem.c                                         |   32 +-
 security/capability.c                              |    4 +-
 security/security.c                                |    7 +-
 security/selinux/avc.c                             |   18 +-
 security/selinux/hooks.c                           |   18 +-
 security/selinux/include/avc.h                     |    9 +-
 86 files changed, 1222 insertions(+), 1522 deletions(-)
 delete mode 100644 fs/exofs/symlink.c
 delete mode 100644 fs/sysv/symlink.c
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

             reply	other threads:[~2015-06-22  6:47 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-22  6:47 Al Viro [this message]
2015-06-22  6:47 ` [git pull] vfs pile 1 Al Viro
  -- strict thread matches above, loose matches on Subject: below --
2018-06-04  0:59 [git pull] vfs, " Al Viro
2016-12-16 13:30 [git pull] vfs " Al Viro
2015-09-06  2:55 Al Viro
2014-01-27 14:25 Al Viro
2014-01-27 23:05 ` Stephen Rothwell
2014-01-29  3:26 ` Linus Torvalds
2014-01-29 13:37   ` Jan Kara
2014-01-30  2:02     ` Kim Jaegeuk
2014-01-30 15:26       ` Jan Kara
2014-01-30 13:07   ` Christoph Hellwig
2013-02-27  3:24 Al Viro
2012-03-21  3:31 Al Viro
2012-01-05  2:23 Al Viro
2012-01-08 23:04 ` Linus Torvalds
2012-01-08 23:50   ` Al Viro
2012-01-08 23:53     ` Al Viro
2012-01-09  0:11       ` Linus Torvalds
2012-01-09  0:25         ` Al Viro
2012-01-09  0:39           ` Linus Torvalds
2012-01-09  0:39             ` Linus Torvalds
2012-01-09  2:12             ` Al Viro
2012-01-09 15:11     ` Ted Ts'o
2012-01-11 11:58   ` Christoph Hellwig
2012-01-11 12:36     ` Miklos Szeredi
2012-01-11 12:40       ` Christoph Hellwig
2012-01-11 13:12         ` Miklos Szeredi
2012-01-11 15:23           ` Ted Ts'o
2012-01-11 16:19             ` Al Viro
2012-01-12 11:41               ` Miklos Szeredi
2011-05-26 11:53 Al Viro
2011-01-13  5:35 Al Viro
2011-01-13  6:25 ` Stephen Rothwell
2011-01-13  8:55   ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150622064737.GQ17109@ZenIV.linux.org.uk \
    --to=viro@zeniv.linux.org.uk \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.