Lines Matching defs:layoutPtr
73 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout);
94 layoutPtr->layoutSpecificInfo = (void *) info;
98 if (layoutPtr->map->flags & RF_DISTRIBUTE_SPARE) {
119 if ((layoutPtr->map->flags & RF_DISTRIBUTE_SPARE) && raidPtr->noRotate) {
130 info->SUsPerTable = b * (k - 1) * layoutPtr->SUsPerPU; /* b blks, k-1 SUs each */
133 info->SUsPerBlock = info->PUsPerBlock * layoutPtr->SUsPerPU;
140 info->SpareSpaceDepthPerRegionInSUs = (r * info->TablesPerSpareRegion / (v - 1)) * layoutPtr->SUsPerPU;
144 if (info->FullTableDepthInPUs * layoutPtr->SUsPerPU + info->SpareSpaceDepthPerRegionInSUs > layoutPtr->stripeUnitsPerDisk) {
148 (int) layoutPtr->stripeUnitsPerDisk);
152 if (info->TableDepthInPUs * layoutPtr->SUsPerPU > layoutPtr->stripeUnitsPerDisk) {
154 (int) (info->TableDepthInPUs * layoutPtr->SUsPerPU), \
155 (int) layoutPtr->stripeUnitsPerDisk);
165 PUsPerDisk = layoutPtr->stripeUnitsPerDisk / layoutPtr->SUsPerPU;
168 info->SpareRegionDepthInSUs = spareRegionDepthInPUs * layoutPtr->SUsPerPU;
179 extraPUsPerDisk -= (info->SpareSpaceDepthPerRegionInSUs / layoutPtr->SUsPerPU);
191 totSparePUsPerDisk = (numCompleteSpareRegionsPerDisk + 1) * (info->SpareSpaceDepthPerRegionInSUs / layoutPtr->SUsPerPU);
194 layoutPtr->stripeUnitsPerDisk =
198 ) * layoutPtr->SUsPerPU;
199 layoutPtr->dataStripeUnitsPerDisk =
201 * layoutPtr->SUsPerPU * (k - 1) / k;
206 layoutPtr->stripeUnitsPerDisk /= (info->TableDepthInPUs * layoutPtr->SUsPerPU);
207 layoutPtr->stripeUnitsPerDisk *= (info->TableDepthInPUs * layoutPtr->SUsPerPU);
212 ((layoutPtr->stripeUnitsPerDisk / layoutPtr->SUsPerPU) / info->FullTableDepthInPUs);
216 ((layoutPtr->stripeUnitsPerDisk / layoutPtr->SUsPerPU) / info->TableDepthInPUs) % k;
219 raidPtr->sectorsPerDisk = layoutPtr->stripeUnitsPerDisk * layoutPtr->sectorsPerStripeUnit;
224 diskOffsetOfLastFullTableInSUs = numCompleteFullTablesPerDisk * info->FullTableDepthInPUs * layoutPtr->SUsPerPU;
229 diskOffsetOfLastFullTableInSUs + info->ExtraTablesPerDisk * info->TableDepthInPUs * layoutPtr->SUsPerPU;
241 info->BlockTable = rf_make_2d_array(info->TableDepthInPUs * layoutPtr->SUsPerPU, raidPtr->numCol, raidPtr->cleanupList);
261 for (SUID = l = 0; l < layoutPtr->SUsPerPU; l++) {
264 info->BlockTable[(info->OffsetTable[i][j] * layoutPtr->SUsPerPU) + l]
276 info->SUsPerTable * layoutPtr->sectorsPerStripeUnit;
277 layoutPtr->numStripe = (raidPtr->totalSectors / layoutPtr->sectorsPerStripeUnit) / (k - 1);
282 layoutPtr->dataSectorsPerStripe = (k - 1) * layoutPtr->sectorsPerStripeUnit;
283 layoutPtr->numDataCol = k - 1;
284 layoutPtr->numParityCol = 1;
321 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout);
322 RF_DeclusteredConfigInfo_t *info = (RF_DeclusteredConfigInfo_t *) layoutPtr->layoutSpecificInfo;
323 RF_StripeNum_t SUID = raidSector / layoutPtr->sectorsPerStripeUnit;
327 RF_StripeCount_t fulltable_depth = info->FullTableDepthInPUs * layoutPtr->SUsPerPU;
330 rf_decluster_adjust_params(layoutPtr, &SUID, &sus_per_fulltable, &fulltable_depth, &base_suid);
353 rf_remap_to_spare_space(layoutPtr, info, FullTableID, TableID, BlockID, (base_suid) ? 1 : 0, SpareRegion, col, &outSU);
359 outSU += TableID * info->TableDepthInPUs * layoutPtr->SUsPerPU; /* offs to strt of tble */
360 outSU += info->OffsetTable[BlockID][BlockOffset] * layoutPtr->SUsPerPU; /* offs to the PU */
367 *diskSector = outSU * layoutPtr->sectorsPerStripeUnit + (raidSector % layoutPtr->sectorsPerStripeUnit);
379 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout);
380 RF_DeclusteredConfigInfo_t *info = (RF_DeclusteredConfigInfo_t *) layoutPtr->layoutSpecificInfo;
381 RF_StripeNum_t SUID = raidSector / layoutPtr->sectorsPerStripeUnit;
385 RF_StripeCount_t fulltable_depth = info->FullTableDepthInPUs * layoutPtr->SUsPerPU;
388 rf_decluster_adjust_params(layoutPtr, &SUID, &sus_per_fulltable, &fulltable_depth, &base_suid);
413 rf_remap_to_spare_space(layoutPtr, info, FullTableID, TableID, BlockID, (base_suid) ? 1 : 0, SpareRegion, col, &outSU);
421 outSU += TableID * info->TableDepthInPUs * layoutPtr->SUsPerPU;
422 outSU += info->OffsetTable[BlockID][RepIndex] * layoutPtr->SUsPerPU;
426 *diskSector = outSU * layoutPtr->sectorsPerStripeUnit + (raidSector % layoutPtr->sectorsPerStripeUnit);
437 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout);
438 RF_DeclusteredConfigInfo_t *info = (RF_DeclusteredConfigInfo_t *) layoutPtr->layoutSpecificInfo;
440 RF_StripeCount_t fulltable_depth = info->FullTableDepthInPUs * layoutPtr->SUsPerPU;
442 RF_StripeNum_t SUID = rf_RaidAddressToStripeUnitID(layoutPtr, addr);
446 rf_decluster_adjust_params(layoutPtr, &SUID, &sus_per_fulltable, &fulltable_depth, &base_suid);
447 stripeID = rf_StripeUnitIDToStripeID(layoutPtr, SUID); /* find stripe offset
510 rf_decluster_adjust_params(RF_RaidLayout_t *layoutPtr,
516 RF_DeclusteredConfigInfo_t *info = (RF_DeclusteredConfigInfo_t *) layoutPtr->layoutSpecificInfo;
523 *fulltable_depth = info->ExtraTablesPerDisk * info->TableDepthInPUs * layoutPtr->SUsPerPU;
538 rf_MapSIDToPSIDDeclustered(RF_RaidLayout_t *layoutPtr,
545 info = (RF_DeclusteredConfigInfo_t *) layoutPtr->layoutSpecificInfo;
547 *psID = (stripeID / (layoutPtr->SUsPerPU * info->BlocksPerTable))
549 *which_ru = (stripeID % (info->BlocksPerTable * layoutPtr->SUsPerPU))
551 RF_ASSERT((*which_ru) < layoutPtr->SUsPerPU / layoutPtr->SUsPerRU);
558 rf_remap_to_spare_space(RF_RaidLayout_t *layoutPtr,
584 which_ft = (info->DiskOffsetOfLastFullTableInSUs - lastSROffset) / (info->FullTableDepthInPUs * layoutPtr->SUsPerPU);
587 ftID = info->DiskOffsetOfLastFullTableInSUs / (info->FullTableDepthInPUs * layoutPtr->SUsPerPU) + which_ft;
596 info->DiskOffsetOfLastFullTableInSUs + info->ExtraTablesPerDisk * info->TableDepthInPUs * layoutPtr->SUsPerPU :
599 if (*outSU >= layoutPtr->stripeUnitsPerDisk) {
676 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout;
678 return (((RF_DeclusteredConfigInfo_t *) layoutPtr->layoutSpecificInfo)->TotSparePUsPerDisk);
686 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout;
687 RF_DeclusteredConfigInfo_t *info = (RF_DeclusteredConfigInfo_t *) layoutPtr->layoutSpecificInfo;