diff options
| author | Jeff Layton <jlayton@kernel.org> | 2025-11-11 09:12:53 -0500 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2025-11-12 09:38:36 +0100 |
| commit | 92bf53577f01aad988f7f39f69163b41f94cfb7d (patch) | |
| tree | d669d11890f438b5bbcdee804eb66681ae311e72 /fs/init.c | |
| parent | e8960c1b2ee9ba75d65492b8e90e851d11e5f215 (diff) | |
vfs: make vfs_symlink break delegations on parent dir
In order to add directory delegation support, we must break delegations
on the parent on any change to the directory.
Add a delegated_inode parameter to vfs_symlink() and have it break the
delegation. do_symlinkat() can then wait on the delegation break before
proceeding.
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: NeilBrown <neil@brown.name>
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Link: https://patch.msgid.link/20251111-dir-deleg-ro-v6-12-52f3feebb2f2@kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/init.c')
| -rw-r--r-- | fs/init.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/init.c b/fs/init.c index 4f02260dd65b..e0f5429c0a49 100644 --- a/fs/init.c +++ b/fs/init.c @@ -209,7 +209,7 @@ int __init init_symlink(const char *oldname, const char *newname) error = security_path_symlink(&path, dentry, oldname); if (!error) error = vfs_symlink(mnt_idmap(path.mnt), path.dentry->d_inode, - dentry, oldname); + dentry, oldname, NULL); end_creating_path(&path, dentry); return error; } |