... and kill anon_inode_getfile_private()
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 9 Oct 2013 14:26:28 +0000 (10:26 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 9 Nov 2013 05:16:28 +0000 (00:16 -0500)
it's a seriously misguided API, now fortunately without users.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/anon_inodes.c
include/linux/anon_inodes.h

index 22f9698a1214c732a38f79e38e0707c6931a35c2..24084732b1d0b264b5c3262796f1ec3dd5fc505f 100644 (file)
@@ -62,72 +62,6 @@ static struct file_system_type anon_inode_fs_type = {
        .kill_sb        = kill_anon_super,
 };
 
-/**
- * anon_inode_getfile_private - creates a new file instance by hooking it up to an
- *                      anonymous inode, and a dentry that describe the "class"
- *                      of the file
- *
- * @name:    [in]    name of the "class" of the new file
- * @fops:    [in]    file operations for the new file
- * @priv:    [in]    private data for the new file (will be file's private_data)
- * @flags:   [in]    flags
- *
- *
- * Similar to anon_inode_getfile, but each file holds a single inode.
- *
- */
-struct file *anon_inode_getfile_private(const char *name,
-                                       const struct file_operations *fops,
-                                       void *priv, int flags)
-{
-       struct qstr this;
-       struct path path;
-       struct file *file;
-       struct inode *inode;
-
-       if (fops->owner && !try_module_get(fops->owner))
-               return ERR_PTR(-ENOENT);
-
-       inode = alloc_anon_inode(anon_inode_mnt->mnt_sb);
-       if (IS_ERR(inode)) {
-               file = ERR_PTR(-ENOMEM);
-               goto err_module;
-       }
-
-       /*
-        * Link the inode to a directory entry by creating a unique name
-        * using the inode sequence number.
-        */
-       file = ERR_PTR(-ENOMEM);
-       this.name = name;
-       this.len = strlen(name);
-       this.hash = 0;
-       path.dentry = d_alloc_pseudo(anon_inode_mnt->mnt_sb, &this);
-       if (!path.dentry)
-               goto err_module;
-
-       path.mnt = mntget(anon_inode_mnt);
-
-       d_instantiate(path.dentry, inode);
-
-       file = alloc_file(&path, OPEN_FMODE(flags), fops);
-       if (IS_ERR(file))
-               goto err_dput;
-
-       file->f_mapping = inode->i_mapping;
-       file->f_flags = flags & (O_ACCMODE | O_NONBLOCK);
-       file->private_data = priv;
-
-       return file;
-
-err_dput:
-       path_put(&path);
-err_module:
-       module_put(fops->owner);
-       return file;
-}
-EXPORT_SYMBOL_GPL(anon_inode_getfile_private);
-
 /**
  * anon_inode_getfile - creates a new file instance by hooking it up to an
  *                      anonymous inode, and a dentry that describe the "class"
index cf573c22b81ef4b1b1e602244119808f86f65871..8013a45242fe37df8b07d8970e14f3ab05d570da 100644 (file)
@@ -13,9 +13,6 @@ struct file_operations;
 struct file *anon_inode_getfile(const char *name,
                                const struct file_operations *fops,
                                void *priv, int flags);
-struct file *anon_inode_getfile_private(const char *name,
-                               const struct file_operations *fops,
-                               void *priv, int flags);
 int anon_inode_getfd(const char *name, const struct file_operations *fops,
                     void *priv, int flags);