Lines Matching refs:request

214     struct pst_request *request;  in pst_start()  local
222 if (!(request = malloc(sizeof(struct pst_request), in pst_start()
225 biofinish(request->bp, NULL, ENOMEM); in pst_start()
229 callout_init_mtx(&request->timeout, &psc->iop->mtx, 0); in pst_start()
231 request->psc = psc; in pst_start()
232 request->mfa = mfa; in pst_start()
233 request->bp = bp; in pst_start()
234 if (pst_rw(request)) { in pst_start()
235 biofinish(request->bp, NULL, EIO); in pst_start()
236 iop_free_mfa(request->psc->iop, request->mfa); in pst_start()
238 free(request, M_PSTRAID); in pst_start()
247 struct pst_request *request = in pst_done() local
249 struct pst_softc *psc = request->psc; in pst_done()
251 callout_stop(&request->timeout); in pst_done()
252 request->bp->bio_resid = request->bp->bio_bcount - reply->donecount; in pst_done()
253 biofinish(request->bp, NULL, reply->status ? EIO : 0); in pst_done()
254 free(request, M_PSTRAID); in pst_done()
261 pst_rw(struct pst_request *request) in pst_rw() argument
267 (request->psc->iop->ibase + request->mfa); in pst_rw()
272 msg->target_address = request->psc->lct->local_tid; in pst_rw()
274 switch (request->bp->bio_cmd) { in pst_rw()
288 printf("pst: unknown command type 0x%02x\n", request->bp->bio_cmd); in pst_rw()
292 msg->transaction_context = (u_int32_t)request; in pst_rw()
294 msg->bytecount = request->bp->bio_bcount; in pst_rw()
295 msg->lba = ((u_int64_t)request->bp->bio_pblkno) * (DEV_BSIZE * 1LL); in pst_rw()
297 if (!iop_create_sgl((struct i2o_basic_message *)msg, request->bp->bio_data, in pst_rw()
298 request->bp->bio_bcount, sgl_flag)) in pst_rw()
301 request->psc->iop->reg->iqueue = request->mfa; in pst_rw()
304 callout_reset(&request->timeout, 10 * hz, pst_timeout, request); in pst_rw()
311 struct pst_request *request; in pst_timeout() local
313 request = arg; in pst_timeout()
315 request->mfa, request->bp->bio_cmd); in pst_timeout()
316 mtx_assert(&request->psc->iop->mtx, MA_OWNED); in pst_timeout()
317 iop_free_mfa(request->psc->iop, request->mfa); in pst_timeout()
318 if ((request->mfa = iop_get_mfa(request->psc->iop)) == 0xffffffff) { in pst_timeout()
320 biofinish(request->bp, NULL, EIO); in pst_timeout()
321 request->psc->iop->outstanding--; in pst_timeout()
324 if (pst_rw(request)) { in pst_timeout()
325 iop_free_mfa(request->psc->iop, request->mfa); in pst_timeout()
326 biofinish(request->bp, NULL, EIO); in pst_timeout()
327 request->psc->iop->outstanding--; in pst_timeout()