History

Merge tag 'vfs-7.3-rc1.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull vfs lookup updates from Christian Brauner: "This refactors lookup_open() and adds vfs_lookup_open() for nfsd. mnt_want_write() and parent locking are moved into lookup_open() itself. audit_inode_child() is also now called in lookup_open() on failure. That is the calling convention in vfs_create() and vfs_mkdir(), but lookup_open() made no such call when atomic_open() should have created a file and did not. And neither did the regular ->create() path fwiw. This also contains work to remove the unneeded excl argument from the ->create() inode op" * tag 'vfs-7.3-rc1.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: fs/namei.c: fix coding style in atomic_open() and lookup_open() fs/namei.c: fix kerneldoc of atomic_open() and vfs_lookup_open() fs/namei.c: update stale comments in lookup_open() Remove excl arg to ->create inode_operation fs/namei.c: update kerneldoc of atomic_open() vfs: call audit_inode_child() in lookup_open() on failure vfs: move create error && negative dentry case in lookup_open() up VFS: add vfs_lookup_open() for nfsd VFS: move delegated_inode retry loop into lookup_open() VFS: move mnt_want_write() and locking into lookup_open()

Linus Torvalds committed 2 months ago

Commit ab5ed082 parents fff0150 895741754 files · +316 −174Browse files

Showing the changes to include (2 of 54 files). Show all

Unified · Split

2 files
  1. include/linux/fs.h +1 −1
  2. include/linux/namei.h +3 −0
include/linux/fs.h+1−1
@@ -2002,7 +2002,7 @@ struct inode_operations { · 2001 unmodified lines
2002 int (*readlink) (struct dentry *, char __user *,int);2002 int (*readlink) (struct dentry *, char __user *,int);
2003 2003
2004 int (*create) (struct mnt_idmap *, struct inode *,struct dentry *,2004 int (*create) (struct mnt_idmap *, struct inode *,struct dentry *,
2005 umode_t, bool);2005 umode_t);
2006 int (*link) (struct dentry *,struct inode *,struct dentry *);2006 int (*link) (struct dentry *,struct inode *,struct dentry *);
2007 int (*unlink) (struct inode *,struct dentry *);2007 int (*unlink) (struct inode *,struct dentry *);
2008 int (*symlink) (struct mnt_idmap *, struct inode *,struct dentry *,2008 int (*symlink) (struct mnt_idmap *, struct inode *,struct dentry *,
include/linux/namei.h+3−0
@@ -97,6 +97,9 @@ struct dentry *start_creating_dentry(struct dentry *parent, · 96 unmodified lines
97struct dentry *start_removing_dentry(struct dentry *parent,97struct dentry *start_removing_dentry(struct dentry *parent,
98 struct dentry *child);98 struct dentry *child);
99 99
100struct file *vfs_lookup_open(struct path *parent, struct qstr *last,
101 int open_flag, umode_t mode);
102
100/* end_creating - finish action started with start_creating103/* end_creating - finish action started with start_creating
101 * @child: dentry returned by start_creating() or vfs_mkdir()104 * @child: dentry returned by start_creating() or vfs_mkdir()
102 *105 *

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t