mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
Merge tag 'vfs-6.18-rc1.async' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
Pull vfs async directory updates from Christian Brauner:
"This contains further preparatory changes for the asynchronous directory
locking scheme:
- Add lookup_one_positive_killable() which allows overlayfs to
perform lookup that won't block on a fatal signal
- Unify the mount idmap handling in struct renamedata as a rename can
only happen within a single mount
- Introduce kern_path_parent() for audit which sets the path to the
parent and returns a dentry for the target without holding any
locks on return
- Rename kern_path_locked() as it is only used to prepare for the
removal of an object from the filesystem:
kern_path_locked() => start_removing_path()
kern_path_create() => start_creating_path()
user_path_create() => start_creating_user_path()
user_path_locked_at() => start_removing_user_path_at()
done_path_create() => end_creating_path()
NA => end_removing_path()"
* tag 'vfs-6.18-rc1.async' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
debugfs: rename start_creating() to debugfs_start_creating()
VFS: rename kern_path_locked() and related functions.
VFS/audit: introduce kern_path_parent() for audit
VFS: unify old_mnt_idmap and new_mnt_idmap in renamedata
VFS: discard err2 in filename_create()
VFS/ovl: add lookup_one_positive_killable()
This commit is contained in:
@@ -362,7 +362,8 @@ struct dentry *debugfs_lookup(const char *name, struct dentry *parent)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(debugfs_lookup);
|
||||
|
||||
static struct dentry *start_creating(const char *name, struct dentry *parent)
|
||||
static struct dentry *debugfs_start_creating(const char *name,
|
||||
struct dentry *parent)
|
||||
{
|
||||
struct dentry *dentry;
|
||||
int error;
|
||||
@@ -428,7 +429,7 @@ static struct dentry *__debugfs_create_file(const char *name, umode_t mode,
|
||||
if (!(mode & S_IFMT))
|
||||
mode |= S_IFREG;
|
||||
BUG_ON(!S_ISREG(mode));
|
||||
dentry = start_creating(name, parent);
|
||||
dentry = debugfs_start_creating(name, parent);
|
||||
|
||||
if (IS_ERR(dentry))
|
||||
return dentry;
|
||||
@@ -577,7 +578,7 @@ EXPORT_SYMBOL_GPL(debugfs_create_file_size);
|
||||
*/
|
||||
struct dentry *debugfs_create_dir(const char *name, struct dentry *parent)
|
||||
{
|
||||
struct dentry *dentry = start_creating(name, parent);
|
||||
struct dentry *dentry = debugfs_start_creating(name, parent);
|
||||
struct inode *inode;
|
||||
|
||||
if (IS_ERR(dentry))
|
||||
@@ -624,7 +625,7 @@ struct dentry *debugfs_create_automount(const char *name,
|
||||
debugfs_automount_t f,
|
||||
void *data)
|
||||
{
|
||||
struct dentry *dentry = start_creating(name, parent);
|
||||
struct dentry *dentry = debugfs_start_creating(name, parent);
|
||||
struct inode *inode;
|
||||
|
||||
if (IS_ERR(dentry))
|
||||
@@ -687,7 +688,7 @@ struct dentry *debugfs_create_symlink(const char *name, struct dentry *parent,
|
||||
if (!link)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
dentry = start_creating(name, parent);
|
||||
dentry = debugfs_start_creating(name, parent);
|
||||
if (IS_ERR(dentry)) {
|
||||
kfree(link);
|
||||
return dentry;
|
||||
|
||||
Reference in New Issue
Block a user