Lines Matching refs:task
433 static int nfs41_sequence_done(struct rpc_task *task, struct nfs4_sequence_res *res) in nfs41_sequence_done() argument
442 if (!RPC_WAS_SENT(task)) in nfs41_sequence_done()
521 if (rpc_restart_call_prepare(task)) { in nfs41_sequence_done()
522 task->tk_status = 0; in nfs41_sequence_done()
527 if (!rpc_restart_call(task)) in nfs41_sequence_done()
529 rpc_delay(task, NFS4_POLL_RETRY_MAX); in nfs41_sequence_done()
533 static int nfs4_sequence_done(struct rpc_task *task, in nfs4_sequence_done() argument
538 return nfs41_sequence_done(task, res); in nfs4_sequence_done()
560 struct rpc_task *task) in nfs41_setup_sequence() argument
572 task->tk_timeout = 0; in nfs41_setup_sequence()
586 task->tk_timeout = HZ >> 2; in nfs41_setup_sequence()
606 rpc_call_start(task); in nfs41_setup_sequence()
611 rpc_sleep_on_priority(&tbl->slot_tbl_waitq, task, in nfs41_setup_sequence()
614 rpc_sleep_on(&tbl->slot_tbl_waitq, task, NULL); in nfs41_setup_sequence()
623 struct rpc_task *task) in nfs4_setup_sequence() argument
629 rpc_call_start(task); in nfs4_setup_sequence()
637 ret = nfs41_setup_sequence(session, args, res, task); in nfs4_setup_sequence()
649 static void nfs41_call_sync_prepare(struct rpc_task *task, void *calldata) in nfs41_call_sync_prepare() argument
656 nfs41_setup_sequence(session, data->seq_args, data->seq_res, task); in nfs41_call_sync_prepare()
659 static void nfs41_call_sync_done(struct rpc_task *task, void *calldata) in nfs41_call_sync_done() argument
663 nfs41_sequence_done(task, data->seq_res); in nfs41_call_sync_done()
678 struct rpc_task *task; in nfs4_call_sync_sequence() local
691 task = rpc_run_task(&task_setup); in nfs4_call_sync_sequence()
692 if (IS_ERR(task)) in nfs4_call_sync_sequence()
693 ret = PTR_ERR(task); in nfs4_call_sync_sequence()
695 ret = task->tk_status; in nfs4_call_sync_sequence()
696 rpc_put_task(task); in nfs4_call_sync_sequence()
713 static int nfs4_sequence_done(struct rpc_task *task, in nfs4_sequence_done() argument
917 static int nfs4_wait_for_completion_rpc_task(struct rpc_task *task) in nfs4_wait_for_completion_rpc_task() argument
921 ret = rpc_wait_for_completion_task(task); in nfs4_wait_for_completion_rpc_task()
1454 static void nfs4_open_confirm_done(struct rpc_task *task, void *calldata) in nfs4_open_confirm_done() argument
1458 data->rpc_status = task->tk_status; in nfs4_open_confirm_done()
1496 struct rpc_task *task; in _nfs4_proc_open_confirm() local
1517 task = rpc_run_task(&task_setup_data); in _nfs4_proc_open_confirm()
1518 if (IS_ERR(task)) in _nfs4_proc_open_confirm()
1519 return PTR_ERR(task); in _nfs4_proc_open_confirm()
1520 status = nfs4_wait_for_completion_rpc_task(task); in _nfs4_proc_open_confirm()
1526 rpc_put_task(task); in _nfs4_proc_open_confirm()
1530 static void nfs4_open_prepare(struct rpc_task *task, void *calldata) in nfs4_open_prepare() argument
1536 if (nfs_wait_on_sequence(data->o_arg.seqid, task) != 0) in nfs4_open_prepare()
1563 task->tk_msg.rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_OPEN_NOATTR]; in nfs4_open_prepare()
1570 task) != 0) in nfs4_open_prepare()
1586 task->tk_action = NULL; in nfs4_open_prepare()
1588 nfs4_sequence_done(task, &data->o_res.seq_res); in nfs4_open_prepare()
1591 static void nfs4_open_done(struct rpc_task *task, void *calldata) in nfs4_open_done() argument
1595 data->rpc_status = task->tk_status; in nfs4_open_done()
1597 if (!nfs4_sequence_done(task, &data->o_res.seq_res)) in nfs4_open_done()
1600 if (task->tk_status == 0) { in nfs4_open_done()
1655 struct rpc_task *task; in nfs4_run_open_task() local
1682 task = rpc_run_task(&task_setup_data); in nfs4_run_open_task()
1683 if (IS_ERR(task)) in nfs4_run_open_task()
1684 return PTR_ERR(task); in nfs4_run_open_task()
1685 status = nfs4_wait_for_completion_rpc_task(task); in nfs4_run_open_task()
1691 rpc_put_task(task); in nfs4_run_open_task()
2253 static void nfs4_close_done(struct rpc_task *task, void *data) in nfs4_close_done() argument
2260 if (!nfs4_sequence_done(task, &calldata->res.seq_res)) in nfs4_close_done()
2265 switch (task->tk_status) { in nfs4_close_done()
2282 if (nfs4_async_handle_error(task, server, state) == -EAGAIN) in nfs4_close_done()
2283 rpc_restart_call_prepare(task); in nfs4_close_done()
2287 dprintk("%s: done, ret = %d!\n", __func__, task->tk_status); in nfs4_close_done()
2290 static void nfs4_close_prepare(struct rpc_task *task, void *data) in nfs4_close_prepare() argument
2298 if (nfs_wait_on_sequence(calldata->arg.seqid, task) != 0) in nfs4_close_prepare()
2301 task->tk_msg.rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_OPEN_DOWNGRADE]; in nfs4_close_prepare()
2327 task->tk_msg.rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_CLOSE]; in nfs4_close_prepare()
2329 pnfs_roc_drain(inode, &calldata->roc_barrier, task)) { in nfs4_close_prepare()
2340 task) != 0) in nfs4_close_prepare()
2345 task->tk_action = NULL; in nfs4_close_prepare()
2347 nfs4_sequence_done(task, &calldata->res.seq_res); in nfs4_close_prepare()
2372 struct rpc_task *task; in nfs4_do_close() local
2409 task = rpc_run_task(&task_setup_data); in nfs4_do_close()
2410 if (IS_ERR(task)) in nfs4_do_close()
2411 return PTR_ERR(task); in nfs4_do_close()
2414 status = rpc_wait_for_completion_task(task); in nfs4_do_close()
2415 rpc_put_task(task); in nfs4_do_close()
3103 static void nfs4_proc_unlink_rpc_prepare(struct rpc_task *task, struct nfs_unlinkdata *data) in nfs4_proc_unlink_rpc_prepare() argument
3108 task); in nfs4_proc_unlink_rpc_prepare()
3111 static int nfs4_proc_unlink_done(struct rpc_task *task, struct inode *dir) in nfs4_proc_unlink_done() argument
3113 struct nfs_removeres *res = task->tk_msg.rpc_resp; in nfs4_proc_unlink_done()
3115 if (!nfs4_sequence_done(task, &res->seq_res)) in nfs4_proc_unlink_done()
3117 if (nfs4_async_handle_error(task, res->server, NULL) == -EAGAIN) in nfs4_proc_unlink_done()
3134 static void nfs4_proc_rename_rpc_prepare(struct rpc_task *task, struct nfs_renamedata *data) in nfs4_proc_rename_rpc_prepare() argument
3139 task); in nfs4_proc_rename_rpc_prepare()
3142 static int nfs4_proc_rename_done(struct rpc_task *task, struct inode *old_dir, in nfs4_proc_rename_done() argument
3145 struct nfs_renameres *res = task->tk_msg.rpc_resp; in nfs4_proc_rename_done()
3147 if (!nfs4_sequence_done(task, &res->seq_res)) in nfs4_proc_rename_done()
3149 if (nfs4_async_handle_error(task, res->server, NULL) == -EAGAIN) in nfs4_proc_rename_done()
3640 static int nfs4_read_done_cb(struct rpc_task *task, struct nfs_read_data *data) in nfs4_read_done_cb() argument
3644 if (nfs4_async_handle_error(task, server, data->args.context->state) == -EAGAIN) { in nfs4_read_done_cb()
3645 rpc_restart_call_prepare(task); in nfs4_read_done_cb()
3650 if (task->tk_status > 0) in nfs4_read_done_cb()
3655 static bool nfs4_read_stateid_changed(struct rpc_task *task, in nfs4_read_stateid_changed() argument
3659 if (!nfs4_error_stateid_expired(task->tk_status) || in nfs4_read_stateid_changed()
3665 rpc_restart_call_prepare(task); in nfs4_read_stateid_changed()
3669 static int nfs4_read_done(struct rpc_task *task, struct nfs_read_data *data) in nfs4_read_done() argument
3674 if (!nfs4_sequence_done(task, &data->res.seq_res)) in nfs4_read_done()
3676 if (nfs4_read_stateid_changed(task, &data->args)) in nfs4_read_done()
3678 return data->read_done_cb ? data->read_done_cb(task, data) : in nfs4_read_done()
3679 nfs4_read_done_cb(task, data); in nfs4_read_done()
3690 static void nfs4_proc_read_rpc_prepare(struct rpc_task *task, struct nfs_read_data *data) in nfs4_proc_read_rpc_prepare() argument
3695 task)) in nfs4_proc_read_rpc_prepare()
3701 static int nfs4_write_done_cb(struct rpc_task *task, struct nfs_write_data *data) in nfs4_write_done_cb() argument
3705 if (nfs4_async_handle_error(task, NFS_SERVER(inode), data->args.context->state) == -EAGAIN) { in nfs4_write_done_cb()
3706 rpc_restart_call_prepare(task); in nfs4_write_done_cb()
3709 if (task->tk_status >= 0) { in nfs4_write_done_cb()
3716 static bool nfs4_write_stateid_changed(struct rpc_task *task, in nfs4_write_stateid_changed() argument
3720 if (!nfs4_error_stateid_expired(task->tk_status) || in nfs4_write_stateid_changed()
3726 rpc_restart_call_prepare(task); in nfs4_write_stateid_changed()
3730 static int nfs4_write_done(struct rpc_task *task, struct nfs_write_data *data) in nfs4_write_done() argument
3732 if (!nfs4_sequence_done(task, &data->res.seq_res)) in nfs4_write_done()
3734 if (nfs4_write_stateid_changed(task, &data->args)) in nfs4_write_done()
3736 return data->write_done_cb ? data->write_done_cb(task, data) : in nfs4_write_done()
3737 nfs4_write_done_cb(task, data); in nfs4_write_done()
3773 static void nfs4_proc_write_rpc_prepare(struct rpc_task *task, struct nfs_write_data *data) in nfs4_proc_write_rpc_prepare() argument
3778 task)) in nfs4_proc_write_rpc_prepare()
3784 static void nfs4_proc_commit_rpc_prepare(struct rpc_task *task, struct nfs_commit_data *data) in nfs4_proc_commit_rpc_prepare() argument
3789 task); in nfs4_proc_commit_rpc_prepare()
3792 static int nfs4_commit_done_cb(struct rpc_task *task, struct nfs_commit_data *data) in nfs4_commit_done_cb() argument
3796 if (nfs4_async_handle_error(task, NFS_SERVER(inode), NULL) == -EAGAIN) { in nfs4_commit_done_cb()
3797 rpc_restart_call_prepare(task); in nfs4_commit_done_cb()
3803 static int nfs4_commit_done(struct rpc_task *task, struct nfs_commit_data *data) in nfs4_commit_done() argument
3805 if (!nfs4_sequence_done(task, &data->res.seq_res)) in nfs4_commit_done()
3807 return data->commit_done_cb(task, data); in nfs4_commit_done()
3841 static void nfs4_renew_done(struct rpc_task *task, void *calldata) in nfs4_renew_done() argument
3847 if (task->tk_status < 0) { in nfs4_renew_done()
3851 if (task->tk_status != NFS4ERR_CB_PATH_DOWN) { in nfs4_renew_done()
4191 nfs4_async_handle_error(struct rpc_task *task, const struct nfs_server *server, struct nfs4_state *… in nfs4_async_handle_error() argument
4195 if (task->tk_status >= 0) in nfs4_async_handle_error()
4197 switch(task->tk_status) { in nfs4_async_handle_error()
4228 task->tk_status); in nfs4_async_handle_error()
4229 nfs4_schedule_session_recovery(clp->cl_session, task->tk_status); in nfs4_async_handle_error()
4230 task->tk_status = 0; in nfs4_async_handle_error()
4236 rpc_delay(task, NFS4_POLL_RETRY_MAX); in nfs4_async_handle_error()
4237 task->tk_status = 0; in nfs4_async_handle_error()
4241 task->tk_status = 0; in nfs4_async_handle_error()
4244 task->tk_status = nfs4_map_errors(task->tk_status); in nfs4_async_handle_error()
4247 task->tk_status = -EIO; in nfs4_async_handle_error()
4250 rpc_sleep_on(&clp->cl_rpcwaitq, task, NULL); in nfs4_async_handle_error()
4252 rpc_wake_up_queued_task(&clp->cl_rpcwaitq, task); in nfs4_async_handle_error()
4253 task->tk_status = 0; in nfs4_async_handle_error()
4401 static void nfs4_delegreturn_done(struct rpc_task *task, void *calldata) in nfs4_delegreturn_done() argument
4405 if (!nfs4_sequence_done(task, &data->res.seq_res)) in nfs4_delegreturn_done()
4408 switch (task->tk_status) { in nfs4_delegreturn_done()
4415 if (nfs4_async_handle_error(task, data->res.server, NULL) == in nfs4_delegreturn_done()
4417 rpc_restart_call_prepare(task); in nfs4_delegreturn_done()
4421 data->rpc_status = task->tk_status; in nfs4_delegreturn_done()
4430 static void nfs4_delegreturn_prepare(struct rpc_task *task, void *data) in nfs4_delegreturn_prepare() argument
4439 task); in nfs4_delegreturn_prepare()
4455 struct rpc_task *task; in _nfs4_proc_delegreturn() local
4486 task = rpc_run_task(&task_setup_data); in _nfs4_proc_delegreturn()
4487 if (IS_ERR(task)) in _nfs4_proc_delegreturn()
4488 return PTR_ERR(task); in _nfs4_proc_delegreturn()
4491 status = nfs4_wait_for_completion_rpc_task(task); in _nfs4_proc_delegreturn()
4500 rpc_put_task(task); in _nfs4_proc_delegreturn()
4652 static void nfs4_locku_done(struct rpc_task *task, void *data) in nfs4_locku_done() argument
4656 if (!nfs4_sequence_done(task, &calldata->res.seq_res)) in nfs4_locku_done()
4658 switch (task->tk_status) { in nfs4_locku_done()
4670 if (nfs4_async_handle_error(task, calldata->server, NULL) == -EAGAIN) in nfs4_locku_done()
4671 rpc_restart_call_prepare(task); in nfs4_locku_done()
4676 static void nfs4_locku_prepare(struct rpc_task *task, void *data) in nfs4_locku_prepare() argument
4680 if (nfs_wait_on_sequence(calldata->arg.seqid, task) != 0) in nfs4_locku_prepare()
4690 task) != 0) in nfs4_locku_prepare()
4694 task->tk_action = NULL; in nfs4_locku_prepare()
4696 nfs4_sequence_done(task, &calldata->res.seq_res); in nfs4_locku_prepare()
4748 struct rpc_task *task; in nfs4_proc_unlck() local
4776 task = nfs4_do_unlck(request, nfs_file_open_context(request->fl_file), lsp, seqid); in nfs4_proc_unlck()
4777 status = PTR_ERR(task); in nfs4_proc_unlck()
4778 if (IS_ERR(task)) in nfs4_proc_unlck()
4780 status = nfs4_wait_for_completion_rpc_task(task); in nfs4_proc_unlck()
4781 rpc_put_task(task); in nfs4_proc_unlck()
4837 static void nfs4_lock_prepare(struct rpc_task *task, void *calldata) in nfs4_lock_prepare() argument
4843 if (nfs_wait_on_sequence(data->arg.lock_seqid, task) != 0) in nfs4_lock_prepare()
4847 if (nfs_wait_on_sequence(data->arg.open_seqid, task) != 0) { in nfs4_lock_prepare()
4857 task->tk_action = NULL; in nfs4_lock_prepare()
4864 task) == 0) in nfs4_lock_prepare()
4871 nfs4_sequence_done(task, &data->res.seq_res); in nfs4_lock_prepare()
4875 static void nfs4_lock_done(struct rpc_task *task, void *calldata) in nfs4_lock_done() argument
4881 if (!nfs4_sequence_done(task, &data->res.seq_res)) in nfs4_lock_done()
4884 data->rpc_status = task->tk_status; in nfs4_lock_done()
4907 struct rpc_task *task; in nfs4_lock_release() local
4908 task = nfs4_do_unlck(&data->fl, data->ctx, data->lsp, in nfs4_lock_release()
4910 if (!IS_ERR(task)) in nfs4_lock_release()
4911 rpc_put_task_async(task); in nfs4_lock_release()
4947 struct rpc_task *task; in _nfs4_do_setlk() local
4978 task = rpc_run_task(&task_setup_data); in _nfs4_do_setlk()
4979 if (IS_ERR(task)) in _nfs4_do_setlk()
4980 return PTR_ERR(task); in _nfs4_do_setlk()
4981 ret = nfs4_wait_for_completion_rpc_task(task); in _nfs4_do_setlk()
4989 rpc_put_task(task); in _nfs4_do_setlk()
5665 static void nfs4_get_lease_time_prepare(struct rpc_task *task, in nfs4_get_lease_time_prepare() argument
5677 task); in nfs4_get_lease_time_prepare()
5685 static void nfs4_get_lease_time_done(struct rpc_task *task, void *calldata) in nfs4_get_lease_time_done() argument
5691 if (!nfs41_sequence_done(task, &data->res->lr_seq_res)) in nfs4_get_lease_time_done()
5693 switch (task->tk_status) { in nfs4_get_lease_time_done()
5696 dprintk("%s Retry: tk_status %d\n", __func__, task->tk_status); in nfs4_get_lease_time_done()
5697 rpc_delay(task, NFS4_POLL_RETRY_MIN); in nfs4_get_lease_time_done()
5698 task->tk_status = 0; in nfs4_get_lease_time_done()
5701 rpc_restart_call_prepare(task); in nfs4_get_lease_time_done()
5714 struct rpc_task *task; in nfs4_proc_get_lease_time() local
5741 task = rpc_run_task(&task_setup); in nfs4_proc_get_lease_time()
5743 if (IS_ERR(task)) in nfs4_proc_get_lease_time()
5744 status = PTR_ERR(task); in nfs4_proc_get_lease_time()
5746 status = task->tk_status; in nfs4_proc_get_lease_time()
5747 rpc_put_task(task); in nfs4_proc_get_lease_time()
5967 static int nfs41_sequence_handle_errors(struct rpc_task *task, struct nfs_client *clp) in nfs41_sequence_handle_errors() argument
5969 switch(task->tk_status) { in nfs41_sequence_handle_errors()
5971 rpc_delay(task, NFS4_POLL_RETRY_MAX); in nfs41_sequence_handle_errors()
5979 static void nfs41_sequence_call_done(struct rpc_task *task, void *data) in nfs41_sequence_call_done() argument
5984 if (!nfs41_sequence_done(task, task->tk_msg.rpc_resp)) in nfs41_sequence_call_done()
5987 if (task->tk_status < 0) { in nfs41_sequence_call_done()
5988 dprintk("%s ERROR %d\n", __func__, task->tk_status); in nfs41_sequence_call_done()
5992 if (nfs41_sequence_handle_errors(task, clp) == -EAGAIN) { in nfs41_sequence_call_done()
5993 rpc_restart_call_prepare(task); in nfs41_sequence_call_done()
5997 dprintk("%s rpc_cred %p\n", __func__, task->tk_msg.rpc_cred); in nfs41_sequence_call_done()
6002 static void nfs41_sequence_prepare(struct rpc_task *task, void *data) in nfs41_sequence_prepare() argument
6009 args = task->tk_msg.rpc_argp; in nfs41_sequence_prepare()
6010 res = task->tk_msg.rpc_resp; in nfs41_sequence_prepare()
6012 nfs41_setup_sequence(clp->cl_session, args, res, task); in nfs41_sequence_prepare()
6057 struct rpc_task *task; in nfs41_proc_async_sequence() local
6062 task = _nfs41_proc_sequence(clp, cred, false); in nfs41_proc_async_sequence()
6063 if (IS_ERR(task)) in nfs41_proc_async_sequence()
6064 ret = PTR_ERR(task); in nfs41_proc_async_sequence()
6066 rpc_put_task_async(task); in nfs41_proc_async_sequence()
6073 struct rpc_task *task; in nfs4_proc_sequence() local
6076 task = _nfs41_proc_sequence(clp, cred, true); in nfs4_proc_sequence()
6077 if (IS_ERR(task)) { in nfs4_proc_sequence()
6078 ret = PTR_ERR(task); in nfs4_proc_sequence()
6081 ret = rpc_wait_for_completion_task(task); in nfs4_proc_sequence()
6083 struct nfs4_sequence_res *res = task->tk_msg.rpc_resp; in nfs4_proc_sequence()
6085 if (task->tk_status == 0) in nfs4_proc_sequence()
6087 ret = task->tk_status; in nfs4_proc_sequence()
6089 rpc_put_task(task); in nfs4_proc_sequence()
6101 static void nfs4_reclaim_complete_prepare(struct rpc_task *task, void *data) in nfs4_reclaim_complete_prepare() argument
6108 task); in nfs4_reclaim_complete_prepare()
6111 static int nfs41_reclaim_complete_handle_errors(struct rpc_task *task, struct nfs_client *clp) in nfs41_reclaim_complete_handle_errors() argument
6113 switch(task->tk_status) { in nfs41_reclaim_complete_handle_errors()
6119 rpc_delay(task, NFS4_POLL_RETRY_MAX); in nfs41_reclaim_complete_handle_errors()
6129 static void nfs4_reclaim_complete_done(struct rpc_task *task, void *data) in nfs4_reclaim_complete_done() argument
6136 if (!nfs41_sequence_done(task, res)) in nfs4_reclaim_complete_done()
6139 if (nfs41_reclaim_complete_handle_errors(task, clp) == -EAGAIN) { in nfs4_reclaim_complete_done()
6140 rpc_restart_call_prepare(task); in nfs4_reclaim_complete_done()
6165 struct rpc_task *task; in nfs41_proc_reclaim_complete() local
6189 task = rpc_run_task(&task_setup_data); in nfs41_proc_reclaim_complete()
6190 if (IS_ERR(task)) { in nfs41_proc_reclaim_complete()
6191 status = PTR_ERR(task); in nfs41_proc_reclaim_complete()
6194 status = nfs4_wait_for_completion_rpc_task(task); in nfs41_proc_reclaim_complete()
6196 status = task->tk_status; in nfs41_proc_reclaim_complete()
6197 rpc_put_task(task); in nfs41_proc_reclaim_complete()
6205 nfs4_layoutget_prepare(struct rpc_task *task, void *calldata) in nfs4_layoutget_prepare() argument
6218 &lgp->res.seq_res, task)) in nfs4_layoutget_prepare()
6223 rpc_exit(task, NFS4_OK); in nfs4_layoutget_prepare()
6227 static void nfs4_layoutget_done(struct rpc_task *task, void *calldata) in nfs4_layoutget_done() argument
6238 if (!nfs41_sequence_done(task, &lgp->res.seq_res)) in nfs4_layoutget_done()
6241 switch (task->tk_status) { in nfs4_layoutget_done()
6246 timeo = rpc_get_timeout(task->tk_client); in nfs4_layoutget_done()
6249 task->tk_status = -NFS4ERR_DELAY; in nfs4_layoutget_done()
6269 if (nfs4_async_handle_error(task, server, state) == -EAGAIN) in nfs4_layoutget_done()
6270 rpc_restart_call_prepare(task); in nfs4_layoutget_done()
6346 struct rpc_task *task; in nfs4_proc_layoutget() local
6379 task = rpc_run_task(&task_setup_data); in nfs4_proc_layoutget()
6380 if (IS_ERR(task)) in nfs4_proc_layoutget()
6381 return ERR_CAST(task); in nfs4_proc_layoutget()
6382 status = nfs4_wait_for_completion_rpc_task(task); in nfs4_proc_layoutget()
6384 status = task->tk_status; in nfs4_proc_layoutget()
6388 rpc_put_task(task); in nfs4_proc_layoutget()
6396 nfs4_layoutreturn_prepare(struct rpc_task *task, void *calldata) in nfs4_layoutreturn_prepare() argument
6404 task); in nfs4_layoutreturn_prepare()
6407 static void nfs4_layoutreturn_done(struct rpc_task *task, void *calldata) in nfs4_layoutreturn_done() argument
6414 if (!nfs41_sequence_done(task, &lrp->res.seq_res)) in nfs4_layoutreturn_done()
6418 if (nfs4_async_handle_error(task, server, NULL) == -EAGAIN) { in nfs4_layoutreturn_done()
6419 rpc_restart_call_prepare(task); in nfs4_layoutreturn_done()
6449 struct rpc_task *task; in nfs4_proc_layoutreturn() local
6465 task = rpc_run_task(&task_setup_data); in nfs4_proc_layoutreturn()
6466 if (IS_ERR(task)) in nfs4_proc_layoutreturn()
6467 return PTR_ERR(task); in nfs4_proc_layoutreturn()
6468 status = task->tk_status; in nfs4_proc_layoutreturn()
6470 rpc_put_task(task); in nfs4_proc_layoutreturn()
6559 static void nfs4_layoutcommit_prepare(struct rpc_task *task, void *calldata) in nfs4_layoutcommit_prepare() argument
6568 task); in nfs4_layoutcommit_prepare()
6572 nfs4_layoutcommit_done(struct rpc_task *task, void *calldata) in nfs4_layoutcommit_done() argument
6577 if (!nfs41_sequence_done(task, &data->res.seq_res)) in nfs4_layoutcommit_done()
6580 switch (task->tk_status) { /* Just ignore these failures */ in nfs4_layoutcommit_done()
6585 task->tk_status = 0; in nfs4_layoutcommit_done()
6592 if (nfs4_async_handle_error(task, server, NULL) == -EAGAIN) { in nfs4_layoutcommit_done()
6593 rpc_restart_call_prepare(task); in nfs4_layoutcommit_done()
6624 .task = &data->task, in nfs4_proc_layoutcommit()
6631 struct rpc_task *task; in nfs4_proc_layoutcommit() local
6636 data->task.tk_pid, sync, in nfs4_proc_layoutcommit()
6641 task = rpc_run_task(&task_setup_data); in nfs4_proc_layoutcommit()
6642 if (IS_ERR(task)) in nfs4_proc_layoutcommit()
6643 return PTR_ERR(task); in nfs4_proc_layoutcommit()
6646 status = nfs4_wait_for_completion_rpc_task(task); in nfs4_proc_layoutcommit()
6649 status = task->tk_status; in nfs4_proc_layoutcommit()
6652 rpc_put_task(task); in nfs4_proc_layoutcommit()
6791 static void nfs41_free_stateid_prepare(struct rpc_task *task, void *calldata) in nfs41_free_stateid_prepare() argument
6797 task); in nfs41_free_stateid_prepare()
6800 static void nfs41_free_stateid_done(struct rpc_task *task, void *calldata) in nfs41_free_stateid_done() argument
6804 nfs41_sequence_done(task, &data->res.seq_res); in nfs41_free_stateid_done()
6806 switch (task->tk_status) { in nfs41_free_stateid_done()
6808 if (nfs4_async_handle_error(task, data->server, NULL) == -EAGAIN) in nfs41_free_stateid_done()
6809 rpc_restart_call_prepare(task); in nfs41_free_stateid_done()
6868 struct rpc_task *task; in nfs41_free_stateid() local
6871 task = _nfs41_free_stateid(server, stateid, true); in nfs41_free_stateid()
6872 if (IS_ERR(task)) in nfs41_free_stateid()
6873 return PTR_ERR(task); in nfs41_free_stateid()
6874 ret = rpc_wait_for_completion_task(task); in nfs41_free_stateid()
6876 ret = task->tk_status; in nfs41_free_stateid()
6877 rpc_put_task(task); in nfs41_free_stateid()
6883 struct rpc_task *task; in nfs41_free_lock_state() local
6885 task = _nfs41_free_stateid(server, &lsp->ls_stateid, false); in nfs41_free_lock_state()
6887 if (IS_ERR(task)) in nfs41_free_lock_state()
6888 return PTR_ERR(task); in nfs41_free_lock_state()
6889 rpc_put_task(task); in nfs41_free_lock_state()