Lines Matching refs:task

611 	struct rpc_task *task = &hdr->task;  in ff_layout_reset_write()  local
618 hdr->task.tk_pid, in ff_layout_reset_write()
642 hdr->task.tk_pid, in ff_layout_reset_write()
648 task->tk_status = pnfs_write_done_resend_to_mds(hdr); in ff_layout_reset_write()
654 struct rpc_task *task = &hdr->task; in ff_layout_reset_read() local
661 hdr->task.tk_pid, in ff_layout_reset_read()
667 task->tk_status = pnfs_read_done_resend_to_mds(hdr); in ff_layout_reset_read()
671 static int ff_layout_async_handle_error_v4(struct rpc_task *task, in ff_layout_async_handle_error_v4() argument
685 if (task->tk_status >= 0) in ff_layout_async_handle_error_v4()
688 switch (task->tk_status) { in ff_layout_async_handle_error_v4()
718 "flags 0x%x\n", __func__, task->tk_status, in ff_layout_async_handle_error_v4()
720 nfs4_schedule_session_recovery(clp->cl_session, task->tk_status); in ff_layout_async_handle_error_v4()
724 rpc_delay(task, FF_LAYOUT_POLL_RETRY_MAX); in ff_layout_async_handle_error_v4()
736 task->tk_status); in ff_layout_async_handle_error_v4()
756 task->tk_status); in ff_layout_async_handle_error_v4()
765 task->tk_status); in ff_layout_async_handle_error_v4()
769 task->tk_status = 0; in ff_layout_async_handle_error_v4()
772 task->tk_status = -EIO; in ff_layout_async_handle_error_v4()
775 rpc_sleep_on(&mds_client->cl_rpcwaitq, task, NULL); in ff_layout_async_handle_error_v4()
777 rpc_wake_up_queued_task(&mds_client->cl_rpcwaitq, task); in ff_layout_async_handle_error_v4()
782 static int ff_layout_async_handle_error_v3(struct rpc_task *task, in ff_layout_async_handle_error_v3() argument
788 if (task->tk_status >= 0) in ff_layout_async_handle_error_v3()
791 if (task->tk_status != -EJUKEBOX) { in ff_layout_async_handle_error_v3()
793 task->tk_status); in ff_layout_async_handle_error_v3()
801 if (task->tk_status == -EJUKEBOX) in ff_layout_async_handle_error_v3()
803 task->tk_status = 0; in ff_layout_async_handle_error_v3()
804 rpc_restart_call(task); in ff_layout_async_handle_error_v3()
805 rpc_delay(task, NFS_JUKEBOX_RETRY_TIME); in ff_layout_async_handle_error_v3()
809 static int ff_layout_async_handle_error(struct rpc_task *task, in ff_layout_async_handle_error() argument
819 return ff_layout_async_handle_error_v3(task, lseg, idx); in ff_layout_async_handle_error()
821 return ff_layout_async_handle_error_v4(task, state, clp, in ff_layout_async_handle_error()
846 static int ff_layout_read_done_cb(struct rpc_task *task, in ff_layout_read_done_cb() argument
852 trace_nfs4_pnfs_read(hdr, task->tk_status); in ff_layout_read_done_cb()
853 if (task->tk_status == -ETIMEDOUT && !hdr->res.op_status) in ff_layout_read_done_cb()
855 if (task->tk_status < 0 && hdr->res.op_status) in ff_layout_read_done_cb()
859 err = ff_layout_async_handle_error(task, hdr->args.context->state, in ff_layout_read_done_cb()
868 return task->tk_status; in ff_layout_read_done_cb()
873 return task->tk_status; in ff_layout_read_done_cb()
875 rpc_restart_call_prepare(task); in ff_layout_read_done_cb()
909 static int ff_layout_read_prepare_common(struct rpc_task *task, in ff_layout_read_prepare_common() argument
913 rpc_exit(task, -EIO); in ff_layout_read_prepare_common()
917 dprintk("%s task %u reset io to MDS\n", __func__, task->tk_pid); in ff_layout_read_prepare_common()
922 rpc_exit(task, 0); in ff_layout_read_prepare_common()
935 static void ff_layout_read_prepare_v3(struct rpc_task *task, void *data) in ff_layout_read_prepare_v3() argument
939 if (ff_layout_read_prepare_common(task, hdr)) in ff_layout_read_prepare_v3()
942 rpc_call_start(task); in ff_layout_read_prepare_v3()
948 struct rpc_task *task) in ff_layout_setup_sequence() argument
954 task); in ff_layout_setup_sequence()
958 task); in ff_layout_setup_sequence()
961 static void ff_layout_read_prepare_v4(struct rpc_task *task, void *data) in ff_layout_read_prepare_v4() argument
965 if (ff_layout_read_prepare_common(task, hdr)) in ff_layout_read_prepare_v4()
971 task)) in ff_layout_read_prepare_v4()
976 rpc_exit(task, -EIO); /* lost lock, terminate I/O */ in ff_layout_read_prepare_v4()
979 static void ff_layout_read_call_done(struct rpc_task *task, void *data) in ff_layout_read_call_done() argument
983 dprintk("--> %s task->tk_status %d\n", __func__, task->tk_status); in ff_layout_read_call_done()
986 task->tk_status == 0) { in ff_layout_read_call_done()
987 nfs4_sequence_done(task, &hdr->res.seq_res); in ff_layout_read_call_done()
992 hdr->mds_ops->rpc_call_done(task, hdr); in ff_layout_read_call_done()
995 static void ff_layout_read_count_stats(struct rpc_task *task, void *data) in ff_layout_read_count_stats() argument
999 rpc_count_iostats_metrics(task, in ff_layout_read_count_stats()
1003 static int ff_layout_write_done_cb(struct rpc_task *task, in ff_layout_write_done_cb() argument
1009 trace_nfs4_pnfs_write(hdr, task->tk_status); in ff_layout_write_done_cb()
1010 if (task->tk_status == -ETIMEDOUT && !hdr->res.op_status) in ff_layout_write_done_cb()
1012 if (task->tk_status < 0 && hdr->res.op_status) in ff_layout_write_done_cb()
1016 err = ff_layout_async_handle_error(task, hdr->args.context->state, in ff_layout_write_done_cb()
1032 return task->tk_status; in ff_layout_write_done_cb()
1034 rpc_restart_call_prepare(task); in ff_layout_write_done_cb()
1044 if (task->tk_status >= 0) in ff_layout_write_done_cb()
1050 static int ff_layout_commit_done_cb(struct rpc_task *task, in ff_layout_commit_done_cb() argument
1056 trace_nfs4_pnfs_commit_ds(data, task->tk_status); in ff_layout_commit_done_cb()
1057 if (task->tk_status == -ETIMEDOUT && !data->res.op_status) in ff_layout_commit_done_cb()
1059 if (task->tk_status < 0 && data->res.op_status) in ff_layout_commit_done_cb()
1063 err = ff_layout_async_handle_error(task, NULL, data->ds_clp, in ff_layout_commit_done_cb()
1078 rpc_restart_call_prepare(task); in ff_layout_commit_done_cb()
1088 static int ff_layout_write_prepare_common(struct rpc_task *task, in ff_layout_write_prepare_common() argument
1092 rpc_exit(task, -EIO); in ff_layout_write_prepare_common()
1101 task->tk_pid, retry_pnfs ? "pNFS" : "MDS"); in ff_layout_write_prepare_common()
1103 rpc_exit(task, 0); in ff_layout_write_prepare_common()
1110 static void ff_layout_write_prepare_v3(struct rpc_task *task, void *data) in ff_layout_write_prepare_v3() argument
1114 if (ff_layout_write_prepare_common(task, hdr)) in ff_layout_write_prepare_v3()
1117 rpc_call_start(task); in ff_layout_write_prepare_v3()
1120 static void ff_layout_write_prepare_v4(struct rpc_task *task, void *data) in ff_layout_write_prepare_v4() argument
1124 if (ff_layout_write_prepare_common(task, hdr)) in ff_layout_write_prepare_v4()
1130 task)) in ff_layout_write_prepare_v4()
1135 rpc_exit(task, -EIO); /* lost lock, terminate I/O */ in ff_layout_write_prepare_v4()
1138 static void ff_layout_write_call_done(struct rpc_task *task, void *data) in ff_layout_write_call_done() argument
1143 task->tk_status == 0) { in ff_layout_write_call_done()
1144 nfs4_sequence_done(task, &hdr->res.seq_res); in ff_layout_write_call_done()
1149 hdr->mds_ops->rpc_call_done(task, hdr); in ff_layout_write_call_done()
1152 static void ff_layout_write_count_stats(struct rpc_task *task, void *data) in ff_layout_write_count_stats() argument
1156 rpc_count_iostats_metrics(task, in ff_layout_write_count_stats()
1160 static void ff_layout_commit_prepare_v3(struct rpc_task *task, void *data) in ff_layout_commit_prepare_v3() argument
1162 rpc_call_start(task); in ff_layout_commit_prepare_v3()
1165 static void ff_layout_commit_prepare_v4(struct rpc_task *task, void *data) in ff_layout_commit_prepare_v4() argument
1172 task); in ff_layout_commit_prepare_v4()
1175 static void ff_layout_commit_count_stats(struct rpc_task *task, void *data) in ff_layout_commit_count_stats() argument
1179 rpc_count_iostats_metrics(task, in ff_layout_commit_count_stats()