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 - the first pile
Date: Tue, 15 Mar 2011 21:32:48 +0000 [thread overview]
Message-ID: <20110315213248.GL22723@ZenIV.linux.org.uk> (raw)
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(-)
next reply other threads:[~2011-03-15 21:32 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-15 21:32 Al Viro [this message]
2011-03-15 22:02 ` [git pull] VFS - the first pile Sam Ravnborg
2011-03-15 22:18 ` Al Viro
2011-03-15 22:47 ` Linus Torvalds
2011-03-15 23:02 ` Al Viro
2011-03-16 6:19 ` Dave Chinner
2011-03-16 6:51 ` Al Viro
2011-03-16 7:21 ` Al Viro
2011-03-16 11:46 ` Theodore Tso
2011-03-16 13:07 ` Christoph Hellwig
2011-03-16 13:15 ` Al Viro
2011-03-16 13:18 ` Christoph Hellwig
2011-03-16 13:05 ` Christoph Hellwig
2011-03-16 13:10 ` 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=20110315213248.GL22723@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.