static int ping_client_prep_rpc(sfw_test_unit_t *tsu, lnet_process_id_t dest, srpc_client_rpc_t **rpc) { srpc_ping_reqst_t *req; sfw_test_instance_t *tsi = tsu->tsu_instance; sfw_session_t *sn = tsi->tsi_batch->bat_session; struct timeval tv; int rc; LASSERT(sn != NULL); LASSERT((sn->sn_features & ~LST_FEATS_MASK) == 0); rc = sfw_create_test_rpc(tsu, dest, sn->sn_features, 0, 0, rpc); if (rc != 0) return rc; req = &(*rpc)->crpc_reqstmsg.msg_body.ping_reqst; req->pnr_magic = LST_PING_TEST_MAGIC; spin_lock(&lst_ping_data.pnd_lock); req->pnr_seq = lst_ping_data.pnd_counter++; spin_unlock(&lst_ping_data.pnd_lock); cfs_fs_timeval(&tv); req->pnr_time_sec = tv.tv_sec; req->pnr_time_usec = tv.tv_usec; return rc; }
static int ping_client_prep_rpc(struct sfw_test_unit *tsu, lnet_process_id_t dest, struct srpc_client_rpc **rpc) { struct srpc_ping_reqst *req; struct sfw_test_instance *tsi = tsu->tsu_instance; struct sfw_session *sn = tsi->tsi_batch->bat_session; struct timespec64 ts; int rc; LASSERT(sn); LASSERT(!(sn->sn_features & ~LST_FEATS_MASK)); rc = sfw_create_test_rpc(tsu, dest, sn->sn_features, 0, 0, rpc); if (rc) return rc; req = &(*rpc)->crpc_reqstmsg.msg_body.ping_reqst; req->pnr_magic = LST_PING_TEST_MAGIC; spin_lock(&lst_ping_data.pnd_lock); req->pnr_seq = lst_ping_data.pnd_counter++; spin_unlock(&lst_ping_data.pnd_lock); ktime_get_real_ts64(&ts); req->pnr_time_sec = ts.tv_sec; req->pnr_time_usec = ts.tv_nsec / NSEC_PER_USEC; return rc; }