Lines Matching defs:raidPtr
70 rf_ConfigureDeclustered(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr,
73 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout);
91 info = RF_MallocAndAdd(sizeof(*info), raidPtr->cleanupList);
113 raidPtr->noRotate = *((int *) cfgBuf);
119 if ((layoutPtr->map->flags & RF_DISTRIBUTE_SPARE) && raidPtr->noRotate) {
122 if (raidPtr->numCol != v) {
123 RF_ERRORMSG2("RAID: config error: table element count (%d) not equal to no. of cols (%d)\n", v, raidPtr->numCol);
143 if ((raidPtr->Layout.map->flags & RF_DISTRIBUTE_SPARE)) {
163 if (raidPtr->Layout.map->flags & RF_DISTRIBUTE_SPARE) {
219 raidPtr->sectorsPerDisk = layoutPtr->stripeUnitsPerDisk * layoutPtr->sectorsPerStripeUnit;
225 if (raidPtr->Layout.map->flags & RF_DISTRIBUTE_SPARE) {
235 info->LayoutTable = rf_make_2d_array(b, k, raidPtr->cleanupList);
238 info->OffsetTable = rf_make_2d_array(b, k, raidPtr->cleanupList);
241 info->BlockTable = rf_make_2d_array(info->TableDepthInPUs * layoutPtr->SUsPerPU, raidPtr->numCol, raidPtr->cleanupList);
275 raidPtr->totalSectors = (k * complete_FT_count + info->ExtraTablesPerDisk) *
277 layoutPtr->numStripe = (raidPtr->totalSectors / layoutPtr->sectorsPerStripeUnit) / (k - 1);
294 RF_Raid_t *raidPtr;
296 raidPtr = (RF_Raid_t *) arg;
297 info = (RF_DeclusteredConfigInfo_t *) raidPtr->Layout.layoutSpecificInfo;
299 rf_FreeSpareTable(raidPtr);
303 rf_ConfigureDeclusteredDS(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr,
308 rc = rf_ConfigureDeclustered(listp, raidPtr, cfgPtr);
311 rf_ShutdownCreate(listp, rf_ShutdownDeclusteredDS, raidPtr);
317 rf_MapSectorDeclustered(RF_Raid_t *raidPtr, RF_RaidAddr_t raidSector,
321 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout);
335 if (raidPtr->Layout.map->flags & RF_DISTRIBUTE_SPARE) {
346 if (!raidPtr->noRotate)
352 RF_ASSERT(raidPtr->Disks[*col].status == rf_ds_reconstructing || raidPtr->Disks[*col].status == rf_ds_dist_spared);
375 rf_MapParityDeclustered(RF_Raid_t *raidPtr, RF_RaidAddr_t raidSector,
379 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout);
393 if ((raidPtr->Layout.map->flags & RF_DISTRIBUTE_SPARE)) {
408 RepIndex = (raidPtr->noRotate) ? info->PUsPerBlock : info->PUsPerBlock - TableID;
412 RF_ASSERT(raidPtr->Disks[*col].status == rf_ds_reconstructing || raidPtr->Disks[*col].status == rf_ds_dist_spared);
434 rf_IdentifyStripeDeclustered(RF_Raid_t *raidPtr, RF_RaidAddr_t addr,
437 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout);
477 rf_GetDefaultHeadSepLimitDeclustered(RF_Raid_t *raidPtr)
479 RF_DeclusteredConfigInfo_t *info = (RF_DeclusteredConfigInfo_t *) raidPtr->Layout.layoutSpecificInfo;
481 return (info->Lambda * raidPtr->numFloatingReconBufs / info->TableDepthInPUs / rf_numBufsToAccumulate);
489 rf_GetDefaultNumFloatingReconBuffersDeclustered(RF_Raid_t * raidPtr)
608 rf_InstallSpareTable(RF_Raid_t *raidPtr, RF_RowCol_t fcol)
610 RF_DeclusteredConfigInfo_t *info = (RF_DeclusteredConfigInfo_t *) raidPtr->Layout.layoutSpecificInfo;
615 req->C = raidPtr->numCol;
616 req->G = raidPtr->Layout.numDataCol + raidPtr->Layout.numParityCol;
618 req->SUsPerPU = raidPtr->Layout.SUsPerPU;
635 rf_SetSpareTable(RF_Raid_t *raidPtr, void *data)
637 RF_DeclusteredConfigInfo_t *info = (RF_DeclusteredConfigInfo_t *) raidPtr->Layout.layoutSpecificInfo;
674 rf_GetNumSpareRUsDeclustered(RF_Raid_t *raidPtr)
676 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout;
683 rf_FreeSpareTable(RF_Raid_t *raidPtr)
686 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout;