fs: rename {vfs,kernel}_tmpfile_open()
authorAmir Goldstein <amir73il@gmail.com>
Thu, 15 Jun 2023 11:22:25 +0000 (14:22 +0300)
committerChristian Brauner <brauner@kernel.org>
Mon, 19 Jun 2023 16:09:09 +0000 (18:09 +0200)
Overlayfs and cachefiles use vfs_open_tmpfile() to open a tmpfile
without accounting for nr_files.

Rename this helper to kernel_tmpfile_open() to better reflect this
helper is used for kernel internal users.

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Message-Id: <20230615112229.2143178-2-amir73il@gmail.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/cachefiles/namei.c
fs/namei.c
fs/overlayfs/overlayfs.h
include/linux/fs.h

index 82219a8..6c7d4e9 100644 (file)
@@ -451,9 +451,9 @@ struct file *cachefiles_create_tmpfile(struct cachefiles_object *object)
 
        ret = cachefiles_inject_write_error();
        if (ret == 0) {
-               file = vfs_tmpfile_open(&nop_mnt_idmap, &parentpath, S_IFREG,
-                                       O_RDWR | O_LARGEFILE | O_DIRECT,
-                                       cache->cache_cred);
+               file = kernel_tmpfile_open(&nop_mnt_idmap, &parentpath, S_IFREG,
+                                          O_RDWR | O_LARGEFILE | O_DIRECT,
+                                          cache->cache_cred);
                ret = PTR_ERR_OR_ZERO(file);
        }
        if (ret) {
index e4fe087..36e335c 100644 (file)
@@ -3703,7 +3703,7 @@ static int vfs_tmpfile(struct mnt_idmap *idmap,
 }
 
 /**
- * vfs_tmpfile_open - open a tmpfile for kernel internal use
+ * kernel_tmpfile_open - open a tmpfile for kernel internal use
  * @idmap:     idmap of the mount the inode was found from
  * @parentpath:        path of the base directory
  * @mode:      mode of the new tmpfile
@@ -3714,24 +3714,26 @@ static int vfs_tmpfile(struct mnt_idmap *idmap,
  * hence this is only for kernel internal use, and must not be installed into
  * file tables or such.
  */
-struct file *vfs_tmpfile_open(struct mnt_idmap *idmap,
-                         const struct path *parentpath,
-                         umode_t mode, int open_flag, const struct cred *cred)
+struct file *kernel_tmpfile_open(struct mnt_idmap *idmap,
+                                const struct path *parentpath,
+                                umode_t mode, int open_flag,
+                                const struct cred *cred)
 {
        struct file *file;
        int error;
 
        file = alloc_empty_file_noaccount(open_flag, cred);
-       if (!IS_ERR(file)) {
-               error = vfs_tmpfile(idmap, parentpath, file, mode);
-               if (error) {
-                       fput(file);
-                       file = ERR_PTR(error);
-               }
+       if (IS_ERR(file))
+               return file;
+
+       error = vfs_tmpfile(idmap, parentpath, file, mode);
+       if (error) {
+               fput(file);
+               file = ERR_PTR(error);
        }
        return file;
 }
-EXPORT_SYMBOL(vfs_tmpfile_open);
+EXPORT_SYMBOL(kernel_tmpfile_open);
 
 static int do_tmpfile(struct nameidata *nd, unsigned flags,
                const struct open_flags *op,
index 4d0b278..23686e8 100644 (file)
@@ -329,8 +329,9 @@ static inline struct file *ovl_do_tmpfile(struct ovl_fs *ofs,
                                          struct dentry *dentry, umode_t mode)
 {
        struct path path = { .mnt = ovl_upper_mnt(ofs), .dentry = dentry };
-       struct file *file = vfs_tmpfile_open(ovl_upper_mnt_idmap(ofs), &path, mode,
-                                       O_LARGEFILE | O_WRONLY, current_cred());
+       struct file *file = kernel_tmpfile_open(ovl_upper_mnt_idmap(ofs), &path,
+                                               mode, O_LARGEFILE | O_WRONLY,
+                                               current_cred());
        int err = PTR_ERR_OR_ZERO(file);
 
        pr_debug("tmpfile(%pd2, 0%o) = %i\n", dentry, mode, err);
index 21a9816..62237be 100644 (file)
@@ -1672,9 +1672,10 @@ static inline int vfs_whiteout(struct mnt_idmap *idmap,
                         WHITEOUT_DEV);
 }
 
-struct file *vfs_tmpfile_open(struct mnt_idmap *idmap,
-                       const struct path *parentpath,
-                       umode_t mode, int open_flag, const struct cred *cred);
+struct file *kernel_tmpfile_open(struct mnt_idmap *idmap,
+                                const struct path *parentpath,
+                                umode_t mode, int open_flag,
+                                const struct cred *cred);
 
 int vfs_mkobj(struct dentry *, umode_t,
                int (*f)(struct dentry *, umode_t, void *),