From: Alexey Dobriyan <adobriyan@xxxxxxxxx> Subject: ramfs: support O_TMPFILE [akpm@xxxxxxxxxxxxxxxxxxxx: update inode_operations.tmpfile] Link: http://lkml.kernel.org/r/20190206073349.GA15311@avx2 Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx> Cc: Christian Brauner <christian.brauner@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/ramfs/inode.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) --- a/fs/ramfs/inode.c~ramfs-support-o_tmpfile +++ a/fs/ramfs/inode.c @@ -151,6 +151,18 @@ static int ramfs_symlink(struct user_nam return error; } +static int ramfs_tmpfile(struct user_namespace *mnt_userns, + struct inode *dir, struct dentry *dentry, 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; +} + static const struct inode_operations ramfs_dir_inode_operations = { .create = ramfs_create, .lookup = simple_lookup, @@ -161,6 +173,7 @@ static const struct inode_operations ram .rmdir = simple_rmdir, .mknod = ramfs_mknod, .rename = simple_rename, + .tmpfile = ramfs_tmpfile, }; /* _