diff options
author | Miklos Szeredi <mszeredi@redhat.com> | 2022-09-24 07:00:00 +0200 |
---|---|---|
committer | Miklos Szeredi <mszeredi@redhat.com> | 2022-09-24 07:00:00 +0200 |
commit | 863f144f12add1f4eab80b70561a90857c524a8b (patch) | |
tree | e537ccaee9ef0a552e610024357cfa5ad53b5516 /fs/ramfs/inode.c | |
parent | 9751b338656f05a0ce918befd5118fcd970c71c6 (diff) | |
download | linux-863f144f12add1f4eab80b70561a90857c524a8b.tar.gz linux-863f144f12add1f4eab80b70561a90857c524a8b.tar.bz2 linux-863f144f12add1f4eab80b70561a90857c524a8b.zip |
vfs: open inside ->tmpfile()
This is in preparation for adding tmpfile support to fuse, which requires
that the tmpfile creation and opening are done as a single operation.
Replace the 'struct dentry *' argument of i_op->tmpfile with
'struct file *'.
Call finish_open_simple() as the last thing in ->tmpfile() instances (may
be omitted in the error case).
Change d_tmpfile() argument to 'struct file *' as well to make callers more
readable.
Reviewed-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'fs/ramfs/inode.c')
-rw-r--r-- | fs/ramfs/inode.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c index bc66d0173e33..b3257e852820 100644 --- a/fs/ramfs/inode.c +++ b/fs/ramfs/inode.c @@ -146,15 +146,15 @@ static int ramfs_symlink(struct user_namespace *mnt_userns, struct inode *dir, } static int ramfs_tmpfile(struct user_namespace *mnt_userns, - struct inode *dir, struct dentry *dentry, umode_t mode) + struct inode *dir, struct file *file, umode_t mode) { struct inode *inode; inode = ramfs_get_inode(dir->i_sb, dir, mode, 0); if (!inode) return -ENOSPC; - d_tmpfile(dentry, inode); - return 0; + d_tmpfile(file, inode); + return finish_open_simple(file, 0); } static const struct inode_operations ramfs_dir_inode_operations = { |