summaryrefslogtreecommitdiff
path: root/fs/init.c
diff options
context:
space:
mode:
authorJeff Layton <jlayton@kernel.org>2025-11-11 09:12:53 -0500
committerChristian Brauner <brauner@kernel.org>2025-11-12 09:38:36 +0100
commit92bf53577f01aad988f7f39f69163b41f94cfb7d (patch)
treed669d11890f438b5bbcdee804eb66681ae311e72 /fs/init.c
parente8960c1b2ee9ba75d65492b8e90e851d11e5f215 (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.c2
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;
}