diff options
| author | oster <oster@NetBSD.org> | 1999-06-04 01:51:00 +0000 |
|---|---|---|
| committer | oster <oster@NetBSD.org> | 1999-06-04 01:51:00 +0000 |
| commit | 60769ea563954d1aa7e1ff086a6d9b65110fa991 (patch) | |
| tree | 70fd6f1ee6b22cfb15da61df828a2512c7f62b53 /sys/dev/raidframe/rf_diskqueue.c | |
| parent | 3af0ce9e1983808ab6d655f5f9a09bb7a78a6664 (diff) | |
At config time, initialize a small amount of space for the disk queues
corresponding to the hot spares. We'll need that space when a spare is
actually added. Huge Thanks to Martin Laubach for helping track this down.
Diffstat (limited to 'sys/dev/raidframe/rf_diskqueue.c')
| -rw-r--r-- | sys/dev/raidframe/rf_diskqueue.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/sys/dev/raidframe/rf_diskqueue.c b/sys/dev/raidframe/rf_diskqueue.c index d746b5861f8..e7bb1acee48 100644 --- a/sys/dev/raidframe/rf_diskqueue.c +++ b/sys/dev/raidframe/rf_diskqueue.c @@ -1,4 +1,4 @@ -/* $NetBSD: rf_diskqueue.c,v 1.6 1999/02/05 00:06:09 oster Exp $ */ +/* $NetBSD: rf_diskqueue.c,v 1.7 1999/06/04 01:51:00 oster Exp $ */ /* * Copyright (c) 1995 Carnegie-Mellon University. * All rights reserved. @@ -181,7 +181,12 @@ clean_dqd(dqd) free(dqd->bp, M_RAIDFRAME); } /* configures a single disk queue */ -static int +int config_disk_queue(RF_Raid_t *, RF_DiskQueue_t *, RF_RowCol_t, + RF_RowCol_t, RF_DiskQueueSW_t *, + RF_SectorCount_t, dev_t, int, + RF_ShutdownList_t **, + RF_AllocListElem_t *); +int config_disk_queue( RF_Raid_t * raidPtr, RF_DiskQueue_t * diskqueue, @@ -285,7 +290,10 @@ rf_ConfigureDiskQueues( } raidPtr->Queues = diskQueues; for (r = 0; r < raidPtr->numRow; r++) { - RF_CallocAndAdd(diskQueues[r], raidPtr->numCol + ((r == 0) ? raidPtr->numSpare : 0), sizeof(RF_DiskQueue_t), (RF_DiskQueue_t *), raidPtr->cleanupList); + RF_CallocAndAdd(diskQueues[r], raidPtr->numCol + + ((r == 0) ? RF_MAXSPARE : 0), + sizeof(RF_DiskQueue_t), (RF_DiskQueue_t *), + raidPtr->cleanupList); if (diskQueues[r] == NULL) return (ENOMEM); for (c = 0; c < raidPtr->numCol; c++) { |
