if (req != NULL && req->rq_send_state != LUSTRE_IMP_FULL)
return &ptlrpcd_rcv;
- cpt = cfs_cpt_current(cfs_cpt_table, 1);
+ cpt = cfs_cpt_current(cfs_cpt_tab, 1);
if (ptlrpcds_cpt_idx == NULL)
idx = cpt;
else
unshare_fs_struct();
- if (cfs_cpt_bind(cfs_cpt_table, pc->pc_cpt) != 0)
+ if (cfs_cpt_bind(cfs_cpt_tab, pc->pc_cpt) != 0)
CWARN("Failed to bind %s on CPT %d\n", pc->pc_name, pc->pc_cpt);
/*
* new_req_list and ptlrpcd_check() moves them into the set.
*/
do {
- struct l_wait_info lwi;
time64_t timeout;
timeout = ptlrpc_set_next_timeout(set);
- lwi = LWI_TIMEOUT(cfs_time_seconds(timeout),
- ptlrpc_expired_set, set);
lu_context_enter(&env.le_ctx);
lu_context_enter(env.le_ses);
- l_wait_event(set->set_waitq, ptlrpcd_check(&env, pc), &lwi);
+ if (timeout == 0)
+ wait_event_idle(set->set_waitq,
+ ptlrpcd_check(&env, pc));
+ else if (wait_event_idle_timeout(set->set_waitq,
+ ptlrpcd_check(&env, pc),
+ cfs_time_seconds(timeout))
+ == 0)
+ ptlrpc_expired_set(set);
lu_context_exit(&env.le_ctx);
lu_context_exit(env.le_ses);
if (pc->pc_npartners <= 0)
GOTO(out, rc);
- OBD_CPT_ALLOC(pc->pc_partners, cfs_cpt_table, pc->pc_cpt,
+ OBD_CPT_ALLOC(pc->pc_partners, cfs_cpt_tab, pc->pc_cpt,
sizeof(struct ptlrpcd_ctl *) * pc->pc_npartners);
if (pc->pc_partners == NULL) {
pc->pc_npartners = 0;
if (pc->pc_npartners > 0) {
LASSERT(pc->pc_partners != NULL);
- OBD_FREE(pc->pc_partners,
- sizeof(struct ptlrpcd_ctl *) * pc->pc_npartners);
+ OBD_FREE_PTR_ARRAY(pc->pc_partners, pc->pc_npartners);
pc->pc_partners = NULL;
}
pc->pc_npartners = 0;
OBD_FREE(ptlrpcds[i], ptlrpcds[i]->pd_size);
ptlrpcds[i] = NULL;
}
- OBD_FREE(ptlrpcds, sizeof(ptlrpcds[0]) * ptlrpcds_num);
+ OBD_FREE_PTR_ARRAY(ptlrpcds, ptlrpcds_num);
}
ptlrpcds_num = 0;
ptlrpcd_free(&ptlrpcd_rcv);
if (ptlrpcds_cpt_idx != NULL) {
- ncpts = cfs_cpt_number(cfs_cpt_table);
- OBD_FREE(ptlrpcds_cpt_idx, ncpts * sizeof(ptlrpcds_cpt_idx[0]));
+ ncpts = cfs_cpt_number(cfs_cpt_tab);
+ OBD_FREE_PTR_ARRAY(ptlrpcds_cpt_idx, ncpts);
ptlrpcds_cpt_idx = NULL;
}
/*
* Determine the CPTs that ptlrpcd threads will run on.
*/
- cptable = cfs_cpt_table;
+ cptable = cfs_cpt_tab;
ncpts = cfs_cpt_number(cptable);
if (ptlrpcd_cpts != NULL) {
struct cfs_expr_list *el;