[git pull] VFS - the first pile

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



	Let's try to start pushing early in the window this time...
There are several big ones in that:
	* pathname resolution rewrite: trailing symlink resolution is
iterative in all cases, overall structure simplified a _lot_, do_lookup()
turned into something readable, knowledge of RCU stuff localized, do_last()
returned to handling non-create cases as well, NEED_REVAL_DOT got a lot
saner.
	* open-by-fhandle series by Aneesh
	* O_PATH descriptors (basically, "location in namespace, not actually
opened from fs POV, can be dup'ed/passed around/etc. and used as starting
points in ...at(2) kind of syscalls, but not used for any IO; that stuff
allows to do sane pathname resolution in userland and avoids the need to
add fsckloads of extra syscalls in open-by-fhandle series).

There will be more pull requests; this is just taking care of really
heavy-weight stuff.

Please, pull from
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6.git/ for-linus

Shortlog:
Al Viro (45):
      compat breakage in preadv() and pwritev()
      fix race in audit_get_nd()
      kill path_lookup()
      take RCU-dependent stuff around exec_permission() into a new helper
      sanitize path_walk() mess
      merge path_init and path_init_rcu
      merge component type recognition
      untangle the "need_reval_dot" mess
      pull dropping RCU on success of link_path_walk() into path_lookupat()
      pull security_inode_follow_link() into __do_follow_link()
      clean up the failure exits after __do_follow_link() in do_filp_open()
      Collect "operation mode" arguments of do_last() into a structure
      switch do_filp_open() to struct open_flags
      separate -ESTALE/-ECHILD retries in do_filp_open() from real work
      kill out_dput: in link_path_walk()
      pull handling of . and .. into inlined helper
      clear RCU on all failure exits from link_path_walk()
      make handle_dots() leave RCU mode on error
      make nameidata_dentry_drop_rcu_maybe() always leave RCU mode
      get rid of the last LOOKUP_RCU dependencies in link_path_walk()
      get rid of nd->file
      switch non-create side of open() to use of do_last()
      kill __lookup_one_len()
      sanitize pathname component hash calculation
      expand finish_open() in its only caller
      move may_open() from __open_name_create() to do_last()
      do_last: unify may_open() call and everyting after it
      fold __open_namei_create() and open_will_truncate() into do_last()
      do_last: kill a rudiment of old ->d_revalidate() workaround
      path_openat: clean ELOOP handling a bit
      untangle do_lookup()
      reduce vfs_path_lookup() to do_path_lookup()
      open-style analog of vfs_path_lookup()
      clean statfs-like syscalls up
      New AT_... flag: AT_EMPTY_PATH
      New kind of open files - "location only".
      Allow O_PATH for symlinks
      readlinkat(), fchownat() and fstatat() with empty relative pathnames
      Allow passing O_PATH descriptors via SCM_RIGHTS datagrams
      pull handling of one pathname component into a helper
      update nd->inode in __do_follow_link() instead of after do_follow_link()
      Make trailing symlink resolution in path_lookupat() iterative
      simplify link_path_walk() tail
      Turn resolution of trailing symlinks iterative everywhere
      tidy the trailing symlinks traversal up

Aneesh Kumar K.V (12):
      exportfs: Return the minimum required handle size
      vfs: Add name to file handle conversion support
      vfs: Add open by file handle support
      fs: Don't allow to create hardlink for deleted file
      fs: Remove i_nlink check from file system link callback
      x86: Add new syscalls for x86_32
      x86: Add new syscalls for x86_64
      unistd.h: Add new syscalls numbers to asm-generic
      vfs: Export file system uuid via /proc/<pid>/mountinfo
      ext3: Copy fs UUID to superblock.
      ext4: Copy fs UUID to superblock
      fs: allow AT_EMPTY_PATH in linkat(), limit that to CAP_DAC_READ_SEARCH

Diffstat:
 arch/alpha/kernel/osf_sys.c                  |   36 +-
 arch/parisc/hpux/sys_hpux.c                  |   65 +-
 arch/powerpc/platforms/cell/spufs/syscalls.c |    2 +-
 arch/um/drivers/mconsole_kern.c              |   21 +-
 arch/x86/ia32/ia32entry.S                    |    2 +
 arch/x86/include/asm/unistd_32.h             |    4 +-
 arch/x86/include/asm/unistd_64.h             |    4 +
 arch/x86/kernel/syscall_table_32.S           |    2 +
 fs/Kconfig                                   |    2 +-
 fs/Makefile                                  |    2 +
 fs/btrfs/export.c                            |    8 +-
 fs/btrfs/inode.c                             |    3 -
 fs/compat.c                                  |   69 +-
 fs/exec.c                                    |   18 +-
 fs/exportfs/expfs.c                          |   11 +-
 fs/ext3/namei.c                              |    7 -
 fs/ext3/super.c                              |    1 +
 fs/ext4/namei.c                              |    7 -
 fs/ext4/super.c                              |    2 +
 fs/fat/inode.c                               |    4 +-
 fs/fcntl.c                                   |   37 +-
 fs/fhandle.c                                 |  265 +++++
 fs/file_table.c                              |   55 +-
 fs/fuse/inode.c                              |    4 +-
 fs/gfs2/export.c                             |    8 +-
 fs/internal.h                                |   13 +
 fs/isofs/export.c                            |    8 +-
 fs/jfs/namei.c                               |    3 -
 fs/namei.c                                   | 1498 +++++++++++---------------
 fs/namespace.c                               |   16 +
 fs/nfsctl.c                                  |   21 +-
 fs/ocfs2/export.c                            |    8 +-
 fs/ocfs2/refcounttree.c                      |    2 +-
 fs/open.c                                    |  126 ++-
 fs/reiserfs/inode.c                          |    7 +-
 fs/reiserfs/namei.c                          |    4 -
 fs/stat.c                                    |    7 +-
 fs/statfs.c                                  |  176 ++--
 fs/ubifs/dir.c                               |   18 -
 fs/udf/namei.c                               |    7 +-
 fs/xfs/linux-2.6/xfs_export.c                |    4 +-
 include/asm-generic/fcntl.h                  |    4 +
 include/asm-generic/unistd.h                 |    6 +-
 include/linux/exportfs.h                     |    9 +-
 include/linux/fcntl.h                        |    1 +
 include/linux/file.h                         |    2 +
 include/linux/fs.h                           |   19 +-
 include/linux/namei.h                        |    7 +-
 include/linux/syscalls.h                     |    8 +-
 init/Kconfig                                 |   12 +
 kernel/audit_watch.c                         |   85 +-
 kernel/sys_ni.c                              |    5 +
 kernel/sysctl_binary.c                       |   19 +-
 mm/shmem.c                                   |    4 +-
 net/core/scm.c                               |    2 +-
 net/unix/af_unix.c                           |    2 +-
 net/unix/garbage.c                           |    2 +-
 57 files changed, 1489 insertions(+), 1255 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


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux