diff options
| author | Benjamin Coddington <bcodding@hammerspace.com> | 2025-11-27 11:02:03 -0500 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2025-12-15 14:12:41 +0100 |
| commit | 977de00dfcf87e8d95f55dfc247955dc2f9da14d (patch) | |
| tree | 2b274a4bf9927f89d3d06d02171d1880ba4ad828 /fs/open.c | |
| parent | 8f0b4cce4481fb22653697cced8d0d04027cb1e8 (diff) | |
| download | linux-next-977de00dfcf87e8d95f55dfc247955dc2f9da14d.tar.gz linux-next-977de00dfcf87e8d95f55dfc247955dc2f9da14d.zip | |
VFS: move dentry_create() from fs/open.c to fs/namei.c
To prepare knfsd's helper dentry_create(), move it to namei.c so that it
can access static functions within. Callers of dentry_create() can be
viewed as being mostly done with lookup, but still need to perform a few
final checks. In order to use atomic_open() we want dentry_create() to
be able to access:
- vfs_prepare_mode
- may_o_create
- atomic_open
.. all of which have static declarations.
Signed-off-by: Benjamin Coddington <bcodding@hammerspace.com>
Link: https://patch.msgid.link/42deec53a50e1676e5501f8f1e17967d47b83681.1764259052.git.bcodding@hammerspace.com
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/open.c')
| -rw-r--r-- | fs/open.c | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/fs/open.c b/fs/open.c index f328622061c5..74c4c1462b3e 100644 --- a/fs/open.c +++ b/fs/open.c @@ -1142,45 +1142,6 @@ struct file *dentry_open_nonotify(const struct path *path, int flags, } /** - * dentry_create - Create and open a file - * @path: path to create - * @flags: O_ flags - * @mode: mode bits for new file - * @cred: credentials to use - * - * Caller must hold the parent directory's lock, and have prepared - * a negative dentry, placed in @path->dentry, for the new file. - * - * Caller sets @path->mnt to the vfsmount of the filesystem where - * the new file is to be created. The parent directory and the - * negative dentry must reside on the same filesystem instance. - * - * On success, returns a "struct file *". Otherwise a ERR_PTR - * is returned. - */ -struct file *dentry_create(const struct path *path, int flags, umode_t mode, - const struct cred *cred) -{ - struct file *f; - int error; - - f = alloc_empty_file(flags, cred); - if (IS_ERR(f)) - return f; - - error = vfs_create(mnt_idmap(path->mnt), path->dentry, mode, NULL); - if (!error) - error = vfs_open(path, f); - - if (unlikely(error)) { - fput(f); - return ERR_PTR(error); - } - return f; -} -EXPORT_SYMBOL(dentry_create); - -/** * kernel_file_open - open a file for kernel internal use * @path: path of the file to open * @flags: open flags |
