summaryrefslogtreecommitdiffstats
path: root/drivers/staging
diff options
context:
space:
mode:
authorAl Viro2015-12-29 21:58:39 +0100
committerAl Viro2015-12-30 19:01:03 +0100
commitfceef393a538134f03b778c5d2519e670269342f (patch)
treecd43c9afdc07852d286965ad4d11772f6c275d1a /drivers/staging
parentkill free_page_put_link() (diff)
downloadkernel-qcow2-linux-fceef393a538134f03b778c5d2519e670269342f.tar.gz
kernel-qcow2-linux-fceef393a538134f03b778c5d2519e670269342f.tar.xz
kernel-qcow2-linux-fceef393a538134f03b778c5d2519e670269342f.zip
switch ->get_link() to delayed_call, kill ->put_link()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/lustre/lustre/llite/symlink.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/staging/lustre/lustre/llite/symlink.c b/drivers/staging/lustre/lustre/llite/symlink.c
index 153fdf908328..e489a3271f06 100644
--- a/drivers/staging/lustre/lustre/llite/symlink.c
+++ b/drivers/staging/lustre/lustre/llite/symlink.c
@@ -118,8 +118,14 @@ failed:
return rc;
}
+static void ll_put_link(void *p)
+{
+ ptlrpc_req_finished(p);
+}
+
static const char *ll_get_link(struct dentry *dentry,
- struct inode *inode, void **cookie)
+ struct inode *inode,
+ struct delayed_call *done)
{
struct ptlrpc_request *request = NULL;
int rc;
@@ -137,22 +143,16 @@ static const char *ll_get_link(struct dentry *dentry,
}
/* symname may contain a pointer to the request message buffer,
- * we delay request releasing until ll_put_link then.
+ * we delay request releasing then.
*/
- *cookie = request;
+ set_delayed_call(done, ll_put_link, request);
return symname;
}
-static void ll_put_link(struct inode *unused, void *cookie)
-{
- ptlrpc_req_finished(cookie);
-}
-
struct inode_operations ll_fast_symlink_inode_operations = {
.readlink = generic_readlink,
.setattr = ll_setattr,
.get_link = ll_get_link,
- .put_link = ll_put_link,
.getattr = ll_getattr,
.permission = ll_inode_permission,
.setxattr = ll_setxattr,