Commit 49cd3254 authored by Trond Myklebust's avatar Trond Myklebust

NFS: Avoid referencing the cred twice in async rename/unlink

In both async rename and rename, we take a reference to the
cred in the call arguments.
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent 63ec2b69
...@@ -98,7 +98,7 @@ static void nfs_do_call_unlink(struct inode *inode, struct nfs_unlinkdata *data) ...@@ -98,7 +98,7 @@ static void nfs_do_call_unlink(struct inode *inode, struct nfs_unlinkdata *data)
.callback_ops = &nfs_unlink_ops, .callback_ops = &nfs_unlink_ops,
.callback_data = data, .callback_data = data,
.workqueue = nfsiod_workqueue, .workqueue = nfsiod_workqueue,
.flags = RPC_TASK_ASYNC, .flags = RPC_TASK_ASYNC | RPC_TASK_CRED_NOREF,
}; };
struct rpc_task *task; struct rpc_task *task;
struct inode *dir = d_inode(data->dentry->d_parent); struct inode *dir = d_inode(data->dentry->d_parent);
...@@ -341,7 +341,7 @@ nfs_async_rename(struct inode *old_dir, struct inode *new_dir, ...@@ -341,7 +341,7 @@ nfs_async_rename(struct inode *old_dir, struct inode *new_dir,
.callback_ops = &nfs_rename_ops, .callback_ops = &nfs_rename_ops,
.workqueue = nfsiod_workqueue, .workqueue = nfsiod_workqueue,
.rpc_client = NFS_CLIENT(old_dir), .rpc_client = NFS_CLIENT(old_dir),
.flags = RPC_TASK_ASYNC, .flags = RPC_TASK_ASYNC | RPC_TASK_CRED_NOREF,
}; };
data = kzalloc(sizeof(*data), GFP_KERNEL); data = kzalloc(sizeof(*data), GFP_KERNEL);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment