diff options
author | Alexey Dobriyan <adobriyan@gmail.com> | 2019-04-26 10:26:00 +1000 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2019-04-28 01:03:58 +1000 |
commit | bac2a98eddbfbaca50cdb1718da73e37e400c910 (patch) | |
tree | ef996db2b707d3da8426511ea549ec7c9f25531e | |
parent | f4f0efdf4532542449f36c06091f00e8218267ac (diff) | |
download | linux-next-bac2a98eddbfbaca50cdb1718da73e37e400c910.tar.gz |
ramfs: support O_TMPFILE
Link: http://lkml.kernel.org/r/20190206073349.GA15311@avx2
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
-rw-r--r-- | fs/ramfs/inode.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c index 11201b2d06b9..a26ae0b83f8f 100644 --- a/fs/ramfs/inode.c +++ b/fs/ramfs/inode.c @@ -145,6 +145,17 @@ static int ramfs_symlink(struct inode * dir, struct dentry *dentry, const char * return error; } +static int ramfs_tmpfile(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, @@ -155,6 +166,7 @@ static const struct inode_operations ramfs_dir_inode_operations = { .rmdir = simple_rmdir, .mknod = ramfs_mknod, .rename = simple_rename, + .tmpfile = ramfs_tmpfile, }; /* |