Various disk queue "peek" routines were only ever used in the simulator
version of RAIDFrame. Remove them from here.
This commit is contained in:
parent
022a019485
commit
33d61e1478
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: rf_diskqueue.c,v 1.60 2021/07/23 00:54:45 oster Exp $ */
|
||||
/* $NetBSD: rf_diskqueue.c,v 1.61 2021/07/23 20:18:24 oster Exp $ */
|
||||
/*
|
||||
* Copyright (c) 1995 Carnegie-Mellon University.
|
||||
* All rights reserved.
|
||||
|
@ -66,7 +66,7 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: rf_diskqueue.c,v 1.60 2021/07/23 00:54:45 oster Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: rf_diskqueue.c,v 1.61 2021/07/23 20:18:24 oster Exp $");
|
||||
|
||||
#include <dev/raidframe/raidframevar.h>
|
||||
|
||||
|
@ -115,36 +115,31 @@ static const RF_DiskQueueSW_t diskqueuesw[] = {
|
|||
rf_FifoCreate,
|
||||
rf_FifoEnqueue,
|
||||
rf_FifoDequeue,
|
||||
rf_FifoPeek,
|
||||
rf_FifoPromote},
|
||||
rf_FifoPromote},
|
||||
|
||||
{"cvscan", /* cvscan */
|
||||
rf_CvscanCreate,
|
||||
rf_CvscanEnqueue,
|
||||
rf_CvscanDequeue,
|
||||
rf_CvscanPeek,
|
||||
rf_CvscanPromote},
|
||||
rf_CvscanPromote},
|
||||
|
||||
{"sstf", /* shortest seek time first */
|
||||
rf_SstfCreate,
|
||||
rf_SstfEnqueue,
|
||||
rf_SstfDequeue,
|
||||
rf_SstfPeek,
|
||||
rf_SstfPromote},
|
||||
rf_SstfPromote},
|
||||
|
||||
{"scan", /* SCAN (two-way elevator) */
|
||||
rf_ScanCreate,
|
||||
rf_SstfEnqueue,
|
||||
rf_ScanDequeue,
|
||||
rf_ScanPeek,
|
||||
rf_SstfPromote},
|
||||
rf_SstfPromote},
|
||||
|
||||
{"cscan", /* CSCAN (one-way elevator) */
|
||||
rf_CscanCreate,
|
||||
rf_SstfEnqueue,
|
||||
rf_CscanDequeue,
|
||||
rf_CscanPeek,
|
||||
rf_SstfPromote},
|
||||
rf_SstfPromote},
|
||||
|
||||
};
|
||||
#define NUM_DISK_QUEUE_TYPES (sizeof(diskqueuesw)/sizeof(RF_DiskQueueSW_t))
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: rf_diskqueue.h,v 1.27 2021/07/23 00:54:45 oster Exp $ */
|
||||
/* $NetBSD: rf_diskqueue.h,v 1.28 2021/07/23 20:18:24 oster Exp $ */
|
||||
/*
|
||||
* Copyright (c) 1995 Carnegie-Mellon University.
|
||||
* All rights reserved.
|
||||
|
@ -89,7 +89,6 @@ struct RF_DiskQueueSW_s {
|
|||
* system */
|
||||
void (*Enqueue) (void *, RF_DiskQueueData_t *, int); /* enqueue routine */
|
||||
RF_DiskQueueData_t *(*Dequeue) (void *); /* dequeue routine */
|
||||
RF_DiskQueueData_t *(*Peek) (void *); /* peek at head of queue */
|
||||
|
||||
/* the rest are optional: they improve performance, but the driver
|
||||
* will deal with it if they don't exist */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: rf_fifo.c,v 1.16 2019/02/09 03:34:00 christos Exp $ */
|
||||
/* $NetBSD: rf_fifo.c,v 1.17 2021/07/23 20:18:24 oster Exp $ */
|
||||
/*
|
||||
* Copyright (c) 1995 Carnegie-Mellon University.
|
||||
* All rights reserved.
|
||||
|
@ -36,7 +36,7 @@
|
|||
***************************************************/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: rf_fifo.c,v 1.16 2019/02/09 03:34:00 christos Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: rf_fifo.c,v 1.17 2021/07/23 20:18:24 oster Exp $");
|
||||
|
||||
#include <dev/raidframe/raidframevar.h>
|
||||
|
||||
|
@ -147,23 +147,6 @@ rf_FifoDequeue(void *q_in)
|
|||
return (nd);
|
||||
}
|
||||
|
||||
/* Return ptr to item at head of queue. Used to examine request
|
||||
* info without actually dequeueing the request.
|
||||
*/
|
||||
RF_DiskQueueData_t *
|
||||
rf_FifoPeek(void *q_in)
|
||||
{
|
||||
RF_DiskQueueData_t *headElement = NULL;
|
||||
RF_FifoHeader_t *q = (RF_FifoHeader_t *) q_in;
|
||||
|
||||
RF_ASSERT(q);
|
||||
if (q->hq_head)
|
||||
headElement = q->hq_head;
|
||||
else
|
||||
if (q->lq_head)
|
||||
headElement = q->lq_head;
|
||||
return (headElement);
|
||||
}
|
||||
/* We sometimes need to promote a low priority access to a regular priority access.
|
||||
* Currently, this is only used when the user wants to write a stripe which is currently
|
||||
* under reconstruction.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: rf_fifo.h,v 1.6 2005/12/11 12:23:37 christos Exp $ */
|
||||
/* $NetBSD: rf_fifo.h,v 1.7 2021/07/23 20:18:24 oster Exp $ */
|
||||
/*
|
||||
* Copyright (c) 1995 Carnegie-Mellon University.
|
||||
* All rights reserved.
|
||||
|
@ -54,7 +54,6 @@ extern void
|
|||
rf_FifoEnqueue(void *q_in, RF_DiskQueueData_t * elem,
|
||||
int priority);
|
||||
extern RF_DiskQueueData_t *rf_FifoDequeue(void *q_in);
|
||||
extern RF_DiskQueueData_t *rf_FifoPeek(void *q_in);
|
||||
extern int
|
||||
rf_FifoPromote(void *q_in, RF_StripeNum_t parityStripeID,
|
||||
RF_ReconUnitNum_t which_ru);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: rf_sstf.c,v 1.17 2019/02/09 03:34:00 christos Exp $ */
|
||||
/* $NetBSD: rf_sstf.c,v 1.18 2021/07/23 20:18:24 oster Exp $ */
|
||||
/*
|
||||
* Copyright (c) 1995 Carnegie-Mellon University.
|
||||
* All rights reserved.
|
||||
|
@ -33,7 +33,7 @@
|
|||
******************************************************************************/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: rf_sstf.c,v 1.17 2019/02/09 03:34:00 christos Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: rf_sstf.c,v 1.18 2021/07/23 20:18:24 oster Exp $");
|
||||
|
||||
#include <dev/raidframe/raidframevar.h>
|
||||
|
||||
|
@ -509,117 +509,6 @@ rf_CscanDequeue(void *qptr)
|
|||
return (req);
|
||||
}
|
||||
|
||||
RF_DiskQueueData_t *
|
||||
rf_SstfPeek(void *qptr)
|
||||
{
|
||||
RF_DiskQueueData_t *req;
|
||||
RF_Sstf_t *sstfq;
|
||||
|
||||
sstfq = (RF_Sstf_t *) qptr;
|
||||
|
||||
if ((sstfq->left.queue == NULL) && (sstfq->right.queue == NULL)) {
|
||||
req = closest_to_arm(&sstfq->lopri, sstfq->last_sector, &sstfq->dir,
|
||||
sstfq->allow_reverse);
|
||||
} else {
|
||||
if (sstfq->left.queue == NULL)
|
||||
req = sstfq->right.queue;
|
||||
else {
|
||||
if (sstfq->right.queue == NULL)
|
||||
req = sstfq->left.queue;
|
||||
else {
|
||||
if (SNUM_DIFF(sstfq->last_sector, sstfq->right.queue->sectorOffset)
|
||||
< SNUM_DIFF(sstfq->last_sector, sstfq->left.qtail->sectorOffset)) {
|
||||
req = sstfq->right.queue;
|
||||
} else {
|
||||
req = sstfq->left.qtail;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (req == NULL) {
|
||||
RF_ASSERT(QSUM(sstfq) == 0);
|
||||
}
|
||||
return (req);
|
||||
}
|
||||
|
||||
RF_DiskQueueData_t *
|
||||
rf_ScanPeek(void *qptr)
|
||||
{
|
||||
RF_DiskQueueData_t *req;
|
||||
RF_Sstf_t *scanq;
|
||||
int dir;
|
||||
|
||||
scanq = (RF_Sstf_t *) qptr;
|
||||
dir = scanq->dir;
|
||||
|
||||
if (scanq->left.queue == NULL) {
|
||||
RF_ASSERT(scanq->left.qlen == 0);
|
||||
if (scanq->right.queue == NULL) {
|
||||
RF_ASSERT(scanq->right.qlen == 0);
|
||||
if (scanq->lopri.queue == NULL) {
|
||||
RF_ASSERT(scanq->lopri.qlen == 0);
|
||||
return (NULL);
|
||||
}
|
||||
req = closest_to_arm(&scanq->lopri, scanq->last_sector,
|
||||
&dir, scanq->allow_reverse);
|
||||
} else {
|
||||
req = scanq->right.queue;
|
||||
}
|
||||
} else
|
||||
if (scanq->right.queue == NULL) {
|
||||
RF_ASSERT(scanq->right.qlen == 0);
|
||||
RF_ASSERT(scanq->left.queue);
|
||||
req = scanq->left.qtail;
|
||||
} else {
|
||||
RF_ASSERT(scanq->right.queue);
|
||||
RF_ASSERT(scanq->left.queue);
|
||||
if (scanq->dir == DIR_RIGHT) {
|
||||
req = scanq->right.queue;
|
||||
} else {
|
||||
req = scanq->left.qtail;
|
||||
}
|
||||
}
|
||||
if (req == NULL) {
|
||||
RF_ASSERT(QSUM(scanq) == 0);
|
||||
}
|
||||
return (req);
|
||||
}
|
||||
|
||||
RF_DiskQueueData_t *
|
||||
rf_CscanPeek(void *qptr)
|
||||
{
|
||||
RF_DiskQueueData_t *req;
|
||||
RF_Sstf_t *cscanq;
|
||||
|
||||
cscanq = (RF_Sstf_t *) qptr;
|
||||
|
||||
RF_ASSERT(cscanq->dir == DIR_RIGHT);
|
||||
if (cscanq->right.queue) {
|
||||
req = cscanq->right.queue;
|
||||
} else {
|
||||
RF_ASSERT(cscanq->right.qlen == 0);
|
||||
if (cscanq->left.queue == NULL) {
|
||||
RF_ASSERT(cscanq->left.qlen == 0);
|
||||
if (cscanq->lopri.queue == NULL) {
|
||||
RF_ASSERT(cscanq->lopri.qlen == 0);
|
||||
return (NULL);
|
||||
}
|
||||
req = closest_to_arm(&cscanq->lopri, cscanq->last_sector,
|
||||
&cscanq->dir, cscanq->allow_reverse);
|
||||
} else {
|
||||
/*
|
||||
* There's I/Os to the left of the arm. We'll end
|
||||
* up swinging on back.
|
||||
*/
|
||||
req = cscanq->left.queue;
|
||||
}
|
||||
}
|
||||
if (req == NULL) {
|
||||
RF_ASSERT(QSUM(cscanq) == 0);
|
||||
}
|
||||
return (req);
|
||||
}
|
||||
|
||||
int
|
||||
rf_SstfPromote(void *qptr, RF_StripeNum_t parityStripeID, RF_ReconUnitNum_t which_ru)
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: rf_sstf.h,v 1.5 2005/12/11 12:23:37 christos Exp $ */
|
||||
/* $NetBSD: rf_sstf.h,v 1.6 2021/07/23 20:18:24 oster Exp $ */
|
||||
/*
|
||||
* Copyright (c) 1995 Carnegie-Mellon University.
|
||||
* All rights reserved.
|
||||
|
@ -57,13 +57,10 @@ rf_CscanCreate(RF_SectorCount_t sect_per_disk,
|
|||
RF_AllocListElem_t * cl_list, RF_ShutdownList_t ** listp);
|
||||
void rf_SstfEnqueue(void *qptr, RF_DiskQueueData_t * req, int priority);
|
||||
RF_DiskQueueData_t *rf_SstfDequeue(void *qptr);
|
||||
RF_DiskQueueData_t *rf_SstfPeek(void *qptr);
|
||||
int
|
||||
rf_SstfPromote(void *qptr, RF_StripeNum_t parityStripeID,
|
||||
RF_ReconUnitNum_t which_ru);
|
||||
RF_DiskQueueData_t *rf_ScanDequeue(void *qptr);
|
||||
RF_DiskQueueData_t *rf_ScanPeek(void *qptr);
|
||||
RF_DiskQueueData_t *rf_CscanDequeue(void *qptr);
|
||||
RF_DiskQueueData_t *rf_CscanPeek(void *qptr);
|
||||
|
||||
#endif /* !_RF__RF_SSTF_H_ */
|
||||
|
|
Loading…
Reference in New Issue