Home | History | Annotate | Download | only in raidframe

Lines Matching refs:req

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