Lines Matching refs:task
667 nfs4_ff_layout_stat_io_end_read(struct rpc_task *task, in nfs4_ff_layout_stat_io_end_read() argument
675 ktime_get(), task->tk_start); in nfs4_ff_layout_stat_io_end_read()
696 nfs4_ff_layout_stat_io_end_write(struct rpc_task *task, in nfs4_ff_layout_stat_io_end_write() argument
707 requested, completed, ktime_get(), task->tk_start); in nfs4_ff_layout_stat_io_end_write()
902 struct rpc_task *task = &hdr->task; in ff_layout_reset_write() local
909 hdr->task.tk_pid, in ff_layout_reset_write()
933 hdr->task.tk_pid, in ff_layout_reset_write()
939 task->tk_status = pnfs_write_done_resend_to_mds(hdr); in ff_layout_reset_write()
945 struct rpc_task *task = &hdr->task; in ff_layout_reset_read() local
952 hdr->task.tk_pid, in ff_layout_reset_read()
958 task->tk_status = pnfs_read_done_resend_to_mds(hdr); in ff_layout_reset_read()
962 static int ff_layout_async_handle_error_v4(struct rpc_task *task, in ff_layout_async_handle_error_v4() argument
976 if (task->tk_status >= 0) in ff_layout_async_handle_error_v4()
979 switch (task->tk_status) { in ff_layout_async_handle_error_v4()
1009 "flags 0x%x\n", __func__, task->tk_status, in ff_layout_async_handle_error_v4()
1011 nfs4_schedule_session_recovery(clp->cl_session, task->tk_status); in ff_layout_async_handle_error_v4()
1015 rpc_delay(task, FF_LAYOUT_POLL_RETRY_MAX); in ff_layout_async_handle_error_v4()
1027 task->tk_status); in ff_layout_async_handle_error_v4()
1047 task->tk_status); in ff_layout_async_handle_error_v4()
1057 task->tk_status); in ff_layout_async_handle_error_v4()
1061 task->tk_status = 0; in ff_layout_async_handle_error_v4()
1064 task->tk_status = -EIO; in ff_layout_async_handle_error_v4()
1067 rpc_sleep_on(&mds_client->cl_rpcwaitq, task, NULL); in ff_layout_async_handle_error_v4()
1069 rpc_wake_up_queued_task(&mds_client->cl_rpcwaitq, task); in ff_layout_async_handle_error_v4()
1074 static int ff_layout_async_handle_error_v3(struct rpc_task *task, in ff_layout_async_handle_error_v3() argument
1080 if (task->tk_status >= 0) in ff_layout_async_handle_error_v3()
1083 switch (task->tk_status) { in ff_layout_async_handle_error_v3()
1097 task->tk_status); in ff_layout_async_handle_error_v3()
1103 task->tk_status = 0; in ff_layout_async_handle_error_v3()
1104 rpc_restart_call(task); in ff_layout_async_handle_error_v3()
1105 rpc_delay(task, NFS_JUKEBOX_RETRY_TIME); in ff_layout_async_handle_error_v3()
1109 static int ff_layout_async_handle_error(struct rpc_task *task, in ff_layout_async_handle_error() argument
1119 return ff_layout_async_handle_error_v3(task, lseg, idx); in ff_layout_async_handle_error()
1121 return ff_layout_async_handle_error_v4(task, state, clp, in ff_layout_async_handle_error()
1171 static int ff_layout_read_done_cb(struct rpc_task *task, in ff_layout_read_done_cb() argument
1176 trace_nfs4_pnfs_read(hdr, task->tk_status); in ff_layout_read_done_cb()
1177 if (task->tk_status < 0) in ff_layout_read_done_cb()
1181 task->tk_status); in ff_layout_read_done_cb()
1182 err = ff_layout_async_handle_error(task, hdr->args.context->state, in ff_layout_read_done_cb()
1195 return task->tk_status; in ff_layout_read_done_cb()
1198 return task->tk_status; in ff_layout_read_done_cb()
1205 rpc_restart_call_prepare(task); in ff_layout_read_done_cb()
1245 static int ff_layout_read_prepare_common(struct rpc_task *task, in ff_layout_read_prepare_common() argument
1251 task->tk_start); in ff_layout_read_prepare_common()
1254 rpc_exit(task, -EIO); in ff_layout_read_prepare_common()
1258 dprintk("%s task %u reset io to MDS\n", __func__, task->tk_pid); in ff_layout_read_prepare_common()
1263 rpc_exit(task, 0); in ff_layout_read_prepare_common()
1276 static void ff_layout_read_prepare_v3(struct rpc_task *task, void *data) in ff_layout_read_prepare_v3() argument
1280 if (ff_layout_read_prepare_common(task, hdr)) in ff_layout_read_prepare_v3()
1283 rpc_call_start(task); in ff_layout_read_prepare_v3()
1289 struct rpc_task *task) in ff_layout_setup_sequence() argument
1295 task); in ff_layout_setup_sequence()
1299 task); in ff_layout_setup_sequence()
1302 static void ff_layout_read_prepare_v4(struct rpc_task *task, void *data) in ff_layout_read_prepare_v4() argument
1309 task)) in ff_layout_read_prepare_v4()
1312 if (ff_layout_read_prepare_common(task, hdr)) in ff_layout_read_prepare_v4()
1317 rpc_exit(task, -EIO); /* lost lock, terminate I/O */ in ff_layout_read_prepare_v4()
1320 static void ff_layout_read_call_done(struct rpc_task *task, void *data) in ff_layout_read_call_done() argument
1324 dprintk("--> %s task->tk_status %d\n", __func__, task->tk_status); in ff_layout_read_call_done()
1326 nfs4_ff_layout_stat_io_end_read(task, in ff_layout_read_call_done()
1331 task->tk_status == 0) { in ff_layout_read_call_done()
1332 nfs4_sequence_done(task, &hdr->res.seq_res); in ff_layout_read_call_done()
1337 hdr->mds_ops->rpc_call_done(task, hdr); in ff_layout_read_call_done()
1340 static void ff_layout_read_count_stats(struct rpc_task *task, void *data) in ff_layout_read_count_stats() argument
1344 rpc_count_iostats_metrics(task, in ff_layout_read_count_stats()
1348 static int ff_layout_write_done_cb(struct rpc_task *task, in ff_layout_write_done_cb() argument
1353 trace_nfs4_pnfs_write(hdr, task->tk_status); in ff_layout_write_done_cb()
1354 if (task->tk_status < 0) in ff_layout_write_done_cb()
1358 task->tk_status); in ff_layout_write_done_cb()
1359 err = ff_layout_async_handle_error(task, hdr->args.context->state, in ff_layout_write_done_cb()
1367 return task->tk_status; in ff_layout_write_done_cb()
1371 return task->tk_status; in ff_layout_write_done_cb()
1373 rpc_restart_call_prepare(task); in ff_layout_write_done_cb()
1383 if (task->tk_status >= 0) in ff_layout_write_done_cb()
1389 static int ff_layout_commit_done_cb(struct rpc_task *task, in ff_layout_commit_done_cb() argument
1394 trace_nfs4_pnfs_commit_ds(data, task->tk_status); in ff_layout_commit_done_cb()
1395 if (task->tk_status < 0) in ff_layout_commit_done_cb()
1399 task->tk_status); in ff_layout_commit_done_cb()
1400 err = ff_layout_async_handle_error(task, NULL, data->ds_clp, in ff_layout_commit_done_cb()
1413 rpc_restart_call_prepare(task); in ff_layout_commit_done_cb()
1424 static int ff_layout_write_prepare_common(struct rpc_task *task, in ff_layout_write_prepare_common() argument
1430 task->tk_start); in ff_layout_write_prepare_common()
1433 rpc_exit(task, -EIO); in ff_layout_write_prepare_common()
1442 task->tk_pid, retry_pnfs ? "pNFS" : "MDS"); in ff_layout_write_prepare_common()
1444 rpc_exit(task, 0); in ff_layout_write_prepare_common()
1451 static void ff_layout_write_prepare_v3(struct rpc_task *task, void *data) in ff_layout_write_prepare_v3() argument
1455 if (ff_layout_write_prepare_common(task, hdr)) in ff_layout_write_prepare_v3()
1458 rpc_call_start(task); in ff_layout_write_prepare_v3()
1461 static void ff_layout_write_prepare_v4(struct rpc_task *task, void *data) in ff_layout_write_prepare_v4() argument
1468 task)) in ff_layout_write_prepare_v4()
1471 if (ff_layout_write_prepare_common(task, hdr)) in ff_layout_write_prepare_v4()
1476 rpc_exit(task, -EIO); /* lost lock, terminate I/O */ in ff_layout_write_prepare_v4()
1479 static void ff_layout_write_call_done(struct rpc_task *task, void *data) in ff_layout_write_call_done() argument
1483 nfs4_ff_layout_stat_io_end_write(task, in ff_layout_write_call_done()
1489 task->tk_status == 0) { in ff_layout_write_call_done()
1490 nfs4_sequence_done(task, &hdr->res.seq_res); in ff_layout_write_call_done()
1495 hdr->mds_ops->rpc_call_done(task, hdr); in ff_layout_write_call_done()
1498 static void ff_layout_write_count_stats(struct rpc_task *task, void *data) in ff_layout_write_count_stats() argument
1502 rpc_count_iostats_metrics(task, in ff_layout_write_count_stats()
1506 static void ff_layout_commit_prepare_common(struct rpc_task *task, in ff_layout_commit_prepare_common() argument
1511 0, task->tk_start); in ff_layout_commit_prepare_common()
1514 static void ff_layout_commit_prepare_v3(struct rpc_task *task, void *data) in ff_layout_commit_prepare_v3() argument
1516 ff_layout_commit_prepare_common(task, data); in ff_layout_commit_prepare_v3()
1517 rpc_call_start(task); in ff_layout_commit_prepare_v3()
1520 static void ff_layout_commit_prepare_v4(struct rpc_task *task, void *data) in ff_layout_commit_prepare_v4() argument
1527 task)) in ff_layout_commit_prepare_v4()
1529 ff_layout_commit_prepare_common(task, data); in ff_layout_commit_prepare_v4()
1532 static void ff_layout_commit_done(struct rpc_task *task, void *data) in ff_layout_commit_done() argument
1538 if (task->tk_status == 0) { in ff_layout_commit_done()
1543 nfs4_ff_layout_stat_io_end_write(task, in ff_layout_commit_done()
1547 pnfs_generic_write_commit_done(task, data); in ff_layout_commit_done()
1550 static void ff_layout_commit_count_stats(struct rpc_task *task, void *data) in ff_layout_commit_count_stats() argument
1554 rpc_count_iostats_metrics(task, in ff_layout_commit_count_stats()