[PATCH 00/16] vfs: atomic open v5 (part 1)

May 21st, 2012 - 11:40 am ET by Miklos Szeredi | Report spam
This is part 1 of the atomic open series. The second part is also ready for
review and I'll post it once this first part is accepted.

Change since v4: added a BUG_ON and a comment about where we can be in RCU mode
and where we can't (Nick's comment).

Al, can you please review and apply?

git tree is here (full series, not just part 1):

git://git.kernel.org/pub/scm/linux/...di/vfs.git atomic-open.v5

Thanks,
Miklos


Miklos Szeredi (16):
vfs: split do_lookup()
vfs: do_last(): make exit RCU safe
vfs: do_last(): inline walk_component()
vfs: do_last(): use inode variable
vfs: make follow_link check RCU safe
vfs: do_last(): make ENOENT exit RCU safe
vfs: do_last(): check LOOKUP_DIRECTORY
vfs: do_last(): only return EISDIR for O_CREAT
vfs: do_last(): add audit_inode before open
vfs: do_last() common post lookup
vfs: split __dentry_open()
vfs: do_dentry_open(): don't put filp
vfs: nameidata_to_filp(): inline __dentry_open()
vfs: nameidata_to_filp(): don't throw away file on error
vfs: retry last component if opening stale dentry
nfs: don't open in ->d_revalidate


fs/internal.h | 1 +
fs/namei.c | 153 +++++++++++++++++++++++++++++++++++++
fs/nfs/dir.c | 56 ++-
fs/nfs/file.c | 77 +++++++++++++++++++++++-
fs/open.c | 76 ++++++++++++++++++
include/linux/errno.h | 1 +
6 files changed, 252 insertions(+), 112 deletions(-)


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
email Follow the discussionReplies 5 repliesReplies Make a reply

Replies

#1 Miklos Szeredi
May 21st, 2012 - 11:40 am ET | Report spam
From: Miklos Szeredi

Allow returning from do_last() with LOOKUP_RCU still set on the "out:" and
"exit:" labels.

Signed-off-by: Miklos Szeredi

fs/namei.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/namei.c b/fs/namei.c
index b11fcb2..d55ef9e 100644
a/fs/namei.c
+++ b/fs/namei.c
@@ -2385,7 +2385,7 @@ common:
out:
if (want_write)
mnt_drop_write(nd->path.mnt);
- path_put(&nd->path);
+ terminate_walk(nd);
return filp;

exit_mutex_unlock:
1.7.7

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Similar topics