summaryrefslogtreecommitdiff
path: root/fs/open.c
diff options
context:
space:
mode:
authorJeff Layton <jlayton@kernel.org>2025-11-11 09:12:51 -0500
committerChristian Brauner <brauner@kernel.org>2025-11-12 09:38:36 +0100
commitc826229c6a82fe1fe7b7752692f87a881eb4b545 (patch)
tree40147562eea7d179a17dcd98d4773318e0778132 /fs/open.c
parent85bbffcad7307e2ca6136be657cc21b0e1c42241 (diff)
vfs: make vfs_create break delegations on parent directory
In order to add directory delegation support, we need to break delegations on the parent whenever there is going to be a change in the directory. Add a delegated_inode parameter to vfs_create. Most callers are converted to pass in NULL, but do_mknodat() is changed to wait for a delegation break if there is one. 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-10-52f3feebb2f2@kernel.org Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/open.c')
-rw-r--r--fs/open.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/open.c b/fs/open.c
index e440f58e3ce8..92cf2e11781b 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -1171,7 +1171,7 @@ struct file *dentry_create(const struct path *path, int flags, umode_t mode,
if (IS_ERR(f))
return f;
- error = vfs_create(mnt_idmap(path->mnt), path->dentry, mode);
+ error = vfs_create(mnt_idmap(path->mnt), path->dentry, mode, NULL);
if (!error)
error = vfs_open(path, f);