]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - fs/proc/inode.c
switch ->get_link() to delayed_call, kill ->put_link()
[mirror_ubuntu-bionic-kernel.git] / fs / proc / inode.c
index 10360b2687943e8965dbded80cac6441d93bcac2..d0e9b9b6223e984879620839effb830fb7937219 100644 (file)
@@ -393,25 +393,25 @@ static const struct file_operations proc_reg_file_ops_no_compat = {
 };
 #endif
 
+static void proc_put_link(void *p)
+{
+       unuse_pde(p);
+}
+
 static const char *proc_get_link(struct dentry *dentry,
-                                struct inode *inode, void **cookie)
+                                struct inode *inode,
+                                struct delayed_call *done)
 {
        struct proc_dir_entry *pde = PDE(inode);
        if (unlikely(!use_pde(pde)))
                return ERR_PTR(-EINVAL);
-       *cookie = pde;
+       set_delayed_call(done, proc_put_link, pde);
        return pde->data;
 }
 
-static void proc_put_link(struct inode *unused, void *p)
-{
-       unuse_pde(p);
-}
-
 const struct inode_operations proc_link_inode_operations = {
        .readlink       = generic_readlink,
        .get_link       = proc_get_link,
-       .put_link       = proc_put_link,
 };
 
 struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)