Lines Matching defs:task

91 	struct rpc_task *task = &hdr->task;
94 dprintk("%s Reset task %5u for i/o through MDS "
96 hdr->task.tk_pid,
102 task->tk_status = pnfs_write_done_resend_to_mds(hdr);
108 struct rpc_task *task = &hdr->task;
111 dprintk("%s Reset task %5u for i/o through MDS "
113 hdr->task.tk_pid,
119 task->tk_status = pnfs_read_done_resend_to_mds(hdr);
123 static int filelayout_async_handle_error(struct rpc_task *task,
133 if (task->tk_status >= 0)
136 switch (task->tk_status) {
146 "flags 0x%x\n", __func__, task->tk_status,
148 nfs4_schedule_session_recovery(clp->cl_session, task->tk_status);
152 rpc_delay(task, FILELAYOUT_POLL_RETRY_MAX);
165 task->tk_status);
185 task->tk_status);
194 task->tk_status);
197 task->tk_status = 0;
203 static int filelayout_read_done_cb(struct rpc_task *task,
208 trace_nfs4_pnfs_read(hdr, task->tk_status);
209 err = filelayout_async_handle_error(task, hdr->args.context->state,
215 return task->tk_status;
217 rpc_restart_call_prepare(task);
266 static void filelayout_read_prepare(struct rpc_task *task, void *data)
271 rpc_exit(task, -EIO);
275 dprintk("%s task %u reset io to MDS\n", __func__, task->tk_pid);
277 rpc_exit(task, 0);
285 task))
289 rpc_exit(task, -EIO); /* lost lock, terminate I/O */
292 static void filelayout_read_call_done(struct rpc_task *task, void *data)
296 dprintk("--> %s task->tk_status %d\n", __func__, task->tk_status);
299 task->tk_status == 0) {
300 nfs41_sequence_done(task, &hdr->res.seq_res);
305 hdr->mds_ops->rpc_call_done(task, data);
308 static void filelayout_read_count_stats(struct rpc_task *task, void *data)
312 rpc_count_iostats(task, NFS_SERVER(hdr->inode)->client->cl_metrics);
315 static int filelayout_write_done_cb(struct rpc_task *task,
320 trace_nfs4_pnfs_write(hdr, task->tk_status);
321 err = filelayout_async_handle_error(task, hdr->args.context->state,
327 return task->tk_status;
329 rpc_restart_call_prepare(task);
337 if (task->tk_status >= 0)
343 static int filelayout_commit_done_cb(struct rpc_task *task,
348 trace_nfs4_pnfs_commit_ds(data, task->tk_status);
349 err = filelayout_async_handle_error(task, NULL, data->ds_clp,
357 rpc_restart_call_prepare(task);
366 static void filelayout_write_prepare(struct rpc_task *task, void *data)
371 rpc_exit(task, -EIO);
375 dprintk("%s task %u reset io to MDS\n", __func__, task->tk_pid);
377 rpc_exit(task, 0);
383 task))
387 rpc_exit(task, -EIO); /* lost lock, terminate I/O */
390 static void filelayout_write_call_done(struct rpc_task *task, void *data)
395 task->tk_status == 0) {
396 nfs41_sequence_done(task, &hdr->res.seq_res);
401 hdr->mds_ops->rpc_call_done(task, data);
404 static void filelayout_write_count_stats(struct rpc_task *task, void *data)
408 rpc_count_iostats(task, NFS_SERVER(hdr->inode)->client->cl_metrics);
411 static void filelayout_commit_prepare(struct rpc_task *task, void *data)
418 task);
421 static void filelayout_commit_count_stats(struct rpc_task *task, void *data)
425 rpc_count_iostats(task, NFS_SERVER(cdata->inode)->client->cl_metrics);