/src/sys/dev/raidframe/ |
rf_callback.c | 58 RF_Raid_t *raidPtr; 60 raidPtr = (RF_Raid_t *) arg; 62 pool_destroy(&raidPtr->pools.callbackf); 63 pool_destroy(&raidPtr->pools.callbackv); 67 rf_ConfigureCallback(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, 71 rf_pool_init(raidPtr, raidPtr->poolNames.callbackf, &raidPtr->pools.callbackf, sizeof(RF_CallbackFuncDesc_t), 73 rf_pool_init(raidPtr, raidPtr->poolNames.callbackv, &raidPtr->pools.callbackv, sizeof(RF_CallbackValueDesc_t) [all...] |
rf_mcpair.c | 59 RF_Raid_t *raidPtr; 61 raidPtr = (RF_Raid_t *) arg; 63 pool_destroy(&raidPtr->pools.mcpair); 67 rf_ConfigureMCPair(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, 71 rf_pool_init(raidPtr, raidPtr->poolNames.mcpair, &raidPtr->pools.mcpair, sizeof(RF_MCPair_t), 73 rf_ShutdownCreate(listp, rf_ShutdownMCPair, raidPtr); 79 rf_AllocMCPair(RF_Raid_t *raidPtr) 83 t = pool_get(&raidPtr->pools.mcpair, PR_WAITOK) [all...] |
rf_revent.c | 54 GetReconEventDesc(RF_Raid_t *raidPtr, RF_RowCol_t col, void *arg, RF_Revent_t type); 58 RF_Raid_t *raidPtr; 60 raidPtr = (RF_Raid_t *) arg; 62 pool_destroy(&raidPtr->pools.revent); 66 rf_ConfigureReconEvent(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, 70 rf_pool_init(raidPtr, raidPtr->poolNames.revent, &raidPtr->pools.revent, sizeof(RF_ReconEvent_t), 72 rf_ShutdownCreate(listp, rf_ShutdownReconEvent, raidPtr); 84 RF_Raid_t *raidPtr = reconDesc->raidPtr [all...] |
rf_reconutil.c | 60 RF_Raid_t *raidPtr = reconDesc->raidPtr; 61 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; 72 lp = raidPtr->Layout.map; 79 reconCtrlPtr->perDiskInfo = RF_Malloc(raidPtr->numCol * 90 for (i = 0; i < raidPtr->numCol; i++) { 102 numSpareRUs = lp->GetNumSpareRUs(raidPtr); 112 retcode = rf_InstallSpareTable(raidPtr, fcol); 119 reconCtrlPtr->reconMap = rf_MakeReconMap(raidPtr, (int) (layoutPtr->SUsPerRU * layoutPtr->sectorsPerStripeUnit), 120 raidPtr->sectorsPerDisk, numSpareRUs) [all...] |
rf_compat32.c | 128 rf_get_info_netbsd32(RF_Raid_t *raidPtr, void *data) 137 retcode = rf_get_info(raidPtr, d_cfg); 148 RF_Raid_t *raidPtr = rf_get_raid(rs); 154 return rf_get_info_netbsd32(raidPtr, data);
|
rf_desc.h | 40 RF_Raid_t *raidPtr; /* raid device descriptor */ 65 RF_Raid_t *raidPtr; /* raid device descriptor */
|
rf_engine.c | 94 RF_Raid_t *raidPtr; 96 raidPtr = (RF_Raid_t *) arg; 99 rf_lock_mutex2(raidPtr->iodone_lock); 101 raidPtr->shutdown_raidio = 1; 102 rf_signal_cond2(raidPtr->iodone_cv); 105 while (raidPtr->shutdown_raidio) 106 rf_wait_cond2(raidPtr->iodone_cv, raidPtr->iodone_lock); 108 rf_unlock_mutex2(raidPtr->iodone_lock); 111 DO_LOCK(raidPtr); [all...] |
rf_reconbuffer.c | 108 lp = rbuf->raidPtr->Layout.map; 122 RF_Raid_t *raidPtr = rbuf->raidPtr; 123 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; 124 RF_ReconCtrl_t *reconCtrlPtr = raidPtr->reconControl; 141 RF_LOCK_PSS_MUTEX(raidPtr, rbuf->parityStripeID); 150 pssPtr = rf_LookupRUStatus(raidPtr, reconCtrlPtr->pssTable, rbuf->parityStripeID, rbuf->which_ru, RF_PSS_NONE, NULL); 168 rf_MultiWayReconXor(raidPtr, pssPtr); 171 raidPtr->accumXorTimeUs += RF_ETIMER_VAL_US(timer); 174 raidPtr->recon_tracerecs[rbuf->col].xor_us = RF_ETIMER_VAL_US(timer) [all...] |
rf_states.c | 104 int unit = desc->raidPtr->raidid; 201 desc->raidPtr->raidid, desc->type, 222 if (desc->raidPtr->parity_map != NULL && 224 rf_paritymap_end(desc->raidPtr->parity_map, 228 raiddone(desc->raidPtr, desc->bp); /* access came through ioctl */ 240 RF_Raid_t *raidPtr; 242 raidPtr = desc->raidPtr; 245 rf_lock_mutex2(raidPtr->access_suspend_mutex); 246 raidPtr->accs_in_flight++; /* used to detect quiescence * [all...] |
rf_diskqueue.c | 168 rf_ConfigureDiskQueue(RF_Raid_t *raidPtr, RF_DiskQueue_t *diskqueue, 183 diskqueue->raidPtr = raidPtr; 184 diskqueue->rf_cinfo = &raidPtr->raid_cinfo[c]; 200 RF_Raid_t *raidPtr; 202 raidPtr = (RF_Raid_t *) arg; 204 pool_destroy(&raidPtr->pools.dqd); 205 pool_destroy(&raidPtr->pools.bufio); 209 rf_ConfigureDiskQueueSystem(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, 214 rf_pool_init(raidPtr, raidPtr->poolNames.dqd, &raidPtr->pools.dqd, sizeof(RF_DiskQueueData_t) [all...] |
rf_pqdegdags.c | 57 applyPDA(RF_Raid_t * raidPtr, RF_PhysDiskAddr_t * pda, RF_PhysDiskAddr_t * ppda, 119 rf_DoubleDegRead(raidPtr, asmap, dag_h, bp, flags, allocList, 124 applyPDA(RF_Raid_t *raidPtr, RF_PhysDiskAddr_t *pda, RF_PhysDiskAddr_t *ppda, RF_PhysDiskAddr_t *qpda, const struct buf *bp) 126 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout); 141 coeff = rf_RaidAddressToStripeUnitID(&(raidPtr->Layout), pda->raidAddress); 142 coeff = (coeff % raidPtr->Layout.numDataCol); 146 buf += rf_RaidAddressToStripeUnitID(&(raidPtr->Layout), delta); 152 pbuf += rf_RaidAddressToStripeUnitID(&(raidPtr->Layout), delta); 153 qbuf += rf_RaidAddressToStripeUnitID(&(raidPtr->Layout), delta); 159 /* rf_bxor(buf, pbuf, rf_RaidAddressToByte(raidPtr, len), bp); * [all...] |
rf_psstatus.c | 61 RealPrintPSStatusTable(RF_Raid_t * raidPtr, 72 RF_Raid_t *raidPtr; 74 raidPtr = (RF_Raid_t *) arg; 76 pool_destroy(&raidPtr->pools.pss); 80 rf_ConfigurePSStatus(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, 84 rf_pool_init(raidPtr, raidPtr->poolNames.pss, &raidPtr->pools.pss, sizeof(RF_ReconParityStripeStatus_t), 86 rf_ShutdownCreate(listp, rf_ShutdownPSStatus, raidPtr); 92 rf_InitPSStatus(RF_Raid_t *raidPtr) [all...] |
rf_aselect.c | 58 InitHdrNode(RF_DagHeader_t **hdr, RF_Raid_t *raidPtr, RF_RaidAccessDesc_t *desc) 61 *hdr = rf_AllocDAGHeader(raidPtr); 66 (*hdr)->raidPtr = raidPtr; 108 RF_Raid_t *raidPtr = desc->raidPtr; 152 stripeFuncs = rf_AllocFuncList(raidPtr); 161 (raidPtr->Layout.map->SelectionFunc) (raidPtr, type, asm_p, &(stripeFuncs->fp)); 169 failed_stripe = rf_AllocFailedStripeStruct(raidPtr); [all...] |
rf_compat50.c | 105 RF_Raid_t *raidPtr = rf_get_raid(rs); 109 if (raidPtr->valid) { 172 rf_get_info50(RF_Raid_t *raidPtr, void *data) 178 if (!raidPtr->valid) 187 d_cfg->cols = raidPtr->numCol; 188 d_cfg->ndevs = raidPtr->numCol; 194 d_cfg->nspares = raidPtr->numSpare; 200 d_cfg->maxqdepth = raidPtr->maxQueueDepth; 202 rf_disk_to_disk50(&d_cfg->devs[j], &raidPtr->Disks[j]); 205 rf_disk_to_disk50(&d_cfg->spares[i], &raidPtr->Disks[j]) [all...] |
rf_paritylog.c | 62 AllocParityLogCommonData(RF_Raid_t * raidPtr) 70 rf_lock_mutex2(raidPtr->parityLogDiskQueue.mutex); 71 if (raidPtr->parityLogDiskQueue.freeCommonList) { 72 common = raidPtr->parityLogDiskQueue.freeCommonList; 73 raidPtr->parityLogDiskQueue.freeCommonList = raidPtr->parityLogDiskQueue.freeCommonList->next; 74 rf_unlock_mutex2(raidPtr->parityLogDiskQueue.mutex); 76 rf_unlock_mutex2(raidPtr->parityLogDiskQueue.mutex); 88 RF_Raid_t *raidPtr; 94 raidPtr = common->raidPtr [all...] |
rf_paritylogDiskMgr.c | 115 RF_Raid_t * raidPtr, 130 *rrd_dag_h = rf_MakeSimpleDAG(raidPtr, 1, 0, regionBuffer, 137 *rrd_pda = rf_AllocPDAList(raidPtr, 1); 138 rf_MapLogParityLogging(raidPtr, regionID, 0, 140 (*rrd_pda)->numSector = raidPtr->regionInfo[regionID].capacity; 166 RF_Raid_t * raidPtr, 183 *fwr_dag_h = rf_MakeSimpleDAG(raidPtr, 1, 0, log->bufPtr, 187 *fwr_pda = rf_AllocPDAList(raidPtr, 1); 189 rf_MapLogParityLogging(raidPtr, regionID, regionOffset, 192 (*fwr_pda)->numSector = raidPtr->numSectorsPerLog [all...] |
rf_paritylogging.c | 65 static void FreeRegionInfo(RF_Raid_t * raidPtr, RF_RegionId_t regionID); 76 RF_Raid_t * raidPtr, 82 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; 97 raidPtr->numSectorsPerLog = RF_DEFAULT_NUM_SECTORS_PER_LOG; 100 info = RF_MallocAndAdd(sizeof(*info), raidPtr->cleanupList); 107 info->stripeIdentifier = rf_make_2d_array((raidPtr->numCol), 108 (raidPtr->numCol), 109 raidPtr->cleanupList); 114 for (i = 0; i < (raidPtr->numCol); i++) { 115 for (j = 0; j < (raidPtr->numCol); j++) [all...] |
rf_raid1.c | 61 rf_ConfigureRAID1(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, 64 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; 69 if (raidPtr->numCol < 2 || raidPtr->numCol % 2 != 0) { 74 info = RF_MallocAndAdd(sizeof(*info), raidPtr->cleanupList); 80 info->stripeIdentifier = rf_make_2d_array(raidPtr->numCol / 2, 2, raidPtr->cleanupList); 83 for (i = 0; i < (raidPtr->numCol / 2); i++) { 92 raidPtr->totalSectors = layoutPtr->stripeUnitsPerDisk * (raidPtr->numCol / 2) * layoutPtr->sectorsPerStripeUnit [all...] |
rf_stripelocks.c | 102 static RF_StripeLockDesc_t *AllocStripeLockDesc(RF_Raid_t *raidPtr, RF_StripeNum_t stripeID); 103 static void FreeStripeLockDesc(RF_Raid_t *raidPtr, RF_StripeLockDesc_t * p); 163 RF_Raid_t *raidPtr; 165 raidPtr = (RF_Raid_t *) arg; 167 pool_destroy(&raidPtr->pools.stripelock); 171 rf_ConfigureStripeLockFreeList(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, 176 rf_pool_init(raidPtr, raidPtr->poolNames.stripelock, &raidPtr->pools.stripelock, sizeof(RF_StripeLockDesc_t), 178 rf_ShutdownCreate(listp, rf_ShutdownStripeLockFreeList, raidPtr); [all...] |
rf_diskqueue.h | 68 RF_Raid_t *raidPtr; /* needed for simulation */ 111 RF_Raid_t *raidPtr; /* associated array */
|
rf_pq.c | 101 RF_Raid_t * raidPtr, 106 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout); 137 if (rf_NumFailedDataUnitsInStripe(raidPtr, asmap) == 2) 155 (asmap->parityInfo->next != NULL) || (asmap->qInfo->next != NULL) || rf_CheckStripeForFailures(raidPtr, asmap))) { 170 || rf_NumFailedDataUnitsInStripe(raidPtr, asmap)) 176 || rf_NumFailedDataUnitsInStripe(raidPtr, asmap)) 184 if (rf_NumFailedDataUnitsInStripe(raidPtr, asmap) == 2) 221 PQOne(RF_Raid_t *raidPtr, int *nSucc, int *nAnte, RF_AccessStripeMap_t *asmap) 227 PQOneTwo(RF_Raid_t *raidPtr, int *nSucc, int *nAnte, RF_AccessStripeMap_t *asmap) 236 rf_CommonCreateLargeWriteDAG(raidPtr, asmap, dag_h, bp, flags, allocList, 2 [all...] |
rf_driver.c | 149 static int rf_ConfigureRDFreeList(RF_ShutdownList_t ** listp, RF_Raid_t *raidPtr, RF_Config_t *cfgPtr); 205 rf_Shutdown(RF_Raid_t *raidPtr) 208 if (!raidPtr->valid) { 220 rf_lock_mutex2(raidPtr->rad_lock); 221 if (raidPtr->waitShutdown) { 222 rf_unlock_mutex2(raidPtr->rad_lock); 225 raidPtr->waitShutdown = 1; 226 while (raidPtr->nAccOutstanding) { 227 rf_wait_cond2(raidPtr->outstandingCond, raidPtr->rad_lock) [all...] |
rf_compat80.c | 43 /* NetBSD 8.99.x removed the row, raidPtr and next members */ 47 void *raidPtr; /* used internally; need not be set at ioctl 115 rf_check_recon_status_ext80(RF_Raid_t *raidPtr, void *data) 119 rf_check_recon_status_ext(raidPtr, &info); 124 rf_check_parityrewrite_status_ext80(RF_Raid_t *raidPtr, void *data) 128 rf_check_parityrewrite_status_ext(raidPtr, &info); 133 rf_check_copyback_status_ext80(RF_Raid_t *raidPtr, void *data) 137 rf_check_copyback_status_ext(raidPtr, &info); 159 rf_get_info80(RF_Raid_t *raidPtr, void *data) 173 rv = rf_get_info(raidPtr, config) [all...] |
rf_dagfuncs.c | 181 (RF_Raid_t *) (node->dagHdr->raidPtr), 217 (RF_Raid_t *) (node->dagHdr->raidPtr), 274 RF_DiskQueue_t *dqs = ((RF_Raid_t *) (node->dagHdr->raidPtr))->Queues; 283 (void *) (node->dagHdr->raidPtr), 0, node->dagHdr->bp); 303 RF_DiskQueue_t *dqs = ((RF_Raid_t *) (node->dagHdr->raidPtr))->Queues; 313 (void *) (node->dagHdr->raidPtr), 329 RF_DiskQueue_t *dqs = ((RF_Raid_t *) (node->dagHdr->raidPtr))->Queues; 338 (void *) (node->dagHdr->raidPtr), 410 RF_Raid_t *raidPtr = (RF_Raid_t *) node->params[node->numParams - 1].p; 425 retcode = rf_XorIntoBuffer(raidPtr, (RF_PhysDiskAddr_t *) node->params[i].p [all...] |
rf_paritylog.h | 51 RF_Raid_t *raidPtr; 167 RF_PhysDiskAddr_t * pda, void *bufPtr, RF_Raid_t * raidPtr, 171 RF_ParityLogData_t *rf_SearchAndDequeueParityLogData(RF_Raid_t * raidPtr, 174 void rf_ReleaseParityLogs(RF_Raid_t * raidPtr, RF_ParityLog_t * firstLog); 177 void rf_EnableParityLogging(RF_Raid_t * raidPtr);
|