aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4proc.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r--fs/nfs/nfs4proc.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index dc070819096a..d2cfa4f86537 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -3533,7 +3533,7 @@ static struct nfs4_unlockdata *nfs4_alloc_unlockdata(struct file_lock *fl,
3533 struct nfs4_unlockdata *p; 3533 struct nfs4_unlockdata *p;
3534 struct inode *inode = lsp->ls_state->inode; 3534 struct inode *inode = lsp->ls_state->inode;
3535 3535
3536 p = kmalloc(sizeof(*p), GFP_KERNEL); 3536 p = kzalloc(sizeof(*p), GFP_KERNEL);
3537 if (p == NULL) 3537 if (p == NULL)
3538 return NULL; 3538 return NULL;
3539 p->arg.fh = NFS_FH(inode); 3539 p->arg.fh = NFS_FH(inode);
@@ -3564,6 +3564,8 @@ static void nfs4_locku_done(struct rpc_task *task, void *data)
3564{ 3564{
3565 struct nfs4_unlockdata *calldata = data; 3565 struct nfs4_unlockdata *calldata = data;
3566 3566
3567 nfs4_sequence_done(calldata->server, &calldata->res.seq_res,
3568 task->tk_status);
3567 if (RPC_ASSASSINATED(task)) 3569 if (RPC_ASSASSINATED(task))
3568 return; 3570 return;
3569 switch (task->tk_status) { 3571 switch (task->tk_status) {
@@ -3582,6 +3584,8 @@ static void nfs4_locku_done(struct rpc_task *task, void *data)
3582 if (nfs4_async_handle_error(task, calldata->server, NULL) == -EAGAIN) 3584 if (nfs4_async_handle_error(task, calldata->server, NULL) == -EAGAIN)
3583 rpc_restart_call(task); 3585 rpc_restart_call(task);
3584 } 3586 }
3587 nfs4_sequence_free_slot(calldata->server->nfs_client,
3588 &calldata->res.seq_res);
3585} 3589}
3586 3590
3587static void nfs4_locku_prepare(struct rpc_task *task, void *data) 3591static void nfs4_locku_prepare(struct rpc_task *task, void *data)
@@ -3596,6 +3600,10 @@ static void nfs4_locku_prepare(struct rpc_task *task, void *data)
3596 return; 3600 return;
3597 } 3601 }
3598 calldata->timestamp = jiffies; 3602 calldata->timestamp = jiffies;
3603 if (nfs4_setup_sequence(calldata->server->nfs_client,
3604 &calldata->arg.seq_args,
3605 &calldata->res.seq_res, 1, task))
3606 return;
3599 rpc_call_start(task); 3607 rpc_call_start(task);
3600} 3608}
3601 3609