Lines Matching refs:req
73 do_sstf_ord_q(RF_DiskQueueData_t **queuep, RF_DiskQueueData_t **tailp, RF_DiskQueueData_t *req) in do_sstf_ord_q() argument
78 *queuep = req; in do_sstf_ord_q()
79 *tailp = req; in do_sstf_ord_q()
80 req->next = NULL; in do_sstf_ord_q()
81 req->prev = NULL; in do_sstf_ord_q()
84 if (req->sectorOffset <= (*queuep)->sectorOffset) { in do_sstf_ord_q()
85 req->next = *queuep; in do_sstf_ord_q()
86 req->prev = NULL; in do_sstf_ord_q()
87 (*queuep)->prev = req; in do_sstf_ord_q()
88 *queuep = req; in do_sstf_ord_q()
91 if (req->sectorOffset > (*tailp)->sectorOffset) { in do_sstf_ord_q()
98 if (r->sectorOffset >= req->sectorOffset) { in do_sstf_ord_q()
101 req->next = r; in do_sstf_ord_q()
102 r->prev = req; in do_sstf_ord_q()
103 s->next = req; in do_sstf_ord_q()
104 req->prev = s; in do_sstf_ord_q()
113 req->next = NULL; in do_sstf_ord_q()
114 req->prev = s; in do_sstf_ord_q()
115 s->next = req; in do_sstf_ord_q()
116 *tailp = req; in do_sstf_ord_q()
283 rf_SstfEnqueue(void *qptr, RF_DiskQueueData_t *req, int priority) in rf_SstfEnqueue() argument
293 dq = (RF_DiskQueue_t *) req->queue; in rf_SstfEnqueue()
295 req->raidPtr->raidid, in rf_SstfEnqueue()
301 do_sstf_ord_q(&sstfq->lopri.queue, &sstfq->lopri.qtail, req); in rf_SstfEnqueue()
304 if (req->sectorOffset < sstfq->last_sector) { in rf_SstfEnqueue()
305 do_sstf_ord_q(&sstfq->left.queue, &sstfq->left.qtail, req); in rf_SstfEnqueue()
308 do_sstf_ord_q(&sstfq->right.queue, &sstfq->right.qtail, req); in rf_SstfEnqueue()
315 do_dequeue(RF_SstfQ_t *queue, RF_DiskQueueData_t *req) in do_dequeue() argument
321 printf("raid%d: do_dequeue\n", req->raidPtr->raidid); in do_dequeue()
324 if (req == queue->queue) { in do_dequeue()
326 RF_ASSERT(req2 == req); in do_dequeue()
328 if (req == queue->qtail) { in do_dequeue()
330 RF_ASSERT(req2 == req); in do_dequeue()
333 RF_ASSERT(req->next); in do_dequeue()
334 RF_ASSERT(req->prev); in do_dequeue()
336 req->next->prev = req->prev; in do_dequeue()
337 req->prev->next = req->next; in do_dequeue()
338 req->next = req->prev = NULL; in do_dequeue()
345 RF_DiskQueueData_t *req = NULL; in rf_SstfDequeue() local
353 dq = (RF_DiskQueue_t *) req->queue; in rf_SstfDequeue()
356 req->raidPtr->raidid, dq->col, in rf_SstfDequeue()
371 req->raidPtr->raidid); in rf_SstfDequeue()
374 req = closest_to_arm(&sstfq->lopri, sstfq->last_sector, in rf_SstfDequeue()
379 req->raidPtr->raidid, (long) req); in rf_SstfDequeue()
382 if (req == NULL) in rf_SstfDequeue()
384 do_dequeue(&sstfq->lopri, req); in rf_SstfDequeue()
386 DO_BEST_DEQ(sstfq->last_sector, req, &sstfq->right); in rf_SstfDequeue()
391 DO_BEST_DEQ(sstfq->last_sector, req, &sstfq->left); in rf_SstfDequeue()
395 DO_HEAD_DEQ(req, &sstfq->right); in rf_SstfDequeue()
397 DO_TAIL_DEQ(req, &sstfq->left); in rf_SstfDequeue()
401 RF_ASSERT(req); in rf_SstfDequeue()
402 sstfq->last_sector = req->sectorOffset; in rf_SstfDequeue()
403 return (req); in rf_SstfDequeue()
409 RF_DiskQueueData_t *req = NULL; in rf_ScanDequeue() local
417 dq = (RF_DiskQueue_t *) req->queue; in rf_ScanDequeue()
420 req->raidPtr->raidid, dq->col, in rf_ScanDequeue()
432 req = closest_to_arm(&scanq->lopri, scanq->last_sector, in rf_ScanDequeue()
434 if (req == NULL) in rf_ScanDequeue()
436 do_dequeue(&scanq->lopri, req); in rf_ScanDequeue()
439 DO_HEAD_DEQ(req, &scanq->right); in rf_ScanDequeue()
446 DO_TAIL_DEQ(req, &scanq->left); in rf_ScanDequeue()
451 DO_HEAD_DEQ(req, &scanq->right); in rf_ScanDequeue()
453 DO_TAIL_DEQ(req, &scanq->left); in rf_ScanDequeue()
456 RF_ASSERT(req); in rf_ScanDequeue()
457 scanq->last_sector = req->sectorOffset; in rf_ScanDequeue()
458 return (req); in rf_ScanDequeue()
464 RF_DiskQueueData_t *req = NULL; in rf_CscanDequeue() local
473 dq = (RF_DiskQueue_t *) req->queue; in rf_CscanDequeue()
476 req->raidPtr->raidid, dq->col, in rf_CscanDequeue()
482 DO_HEAD_DEQ(req, &cscanq->right); in rf_CscanDequeue()
491 req = closest_to_arm(&cscanq->lopri, cscanq->last_sector, in rf_CscanDequeue()
493 if (req == NULL) in rf_CscanDequeue()
495 do_dequeue(&cscanq->lopri, req); in rf_CscanDequeue()
504 DO_HEAD_DEQ(req, &cscanq->right); in rf_CscanDequeue()
507 RF_ASSERT(req); in rf_CscanDequeue()
508 cscanq->last_sector = req->sectorOffset; in rf_CscanDequeue()
509 return (req); in rf_CscanDequeue()