Lines Matching refs:layoutPtr

74 	RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout);
95 layoutPtr->layoutSpecificInfo = (void *) info;
99 if (layoutPtr->map->flags & RF_DISTRIBUTE_SPARE) {
120 if ((layoutPtr->map->flags & RF_DISTRIBUTE_SPARE) && raidPtr->noRotate) {
131 info->SUsPerTable = b * (k - 1) * layoutPtr->SUsPerPU; /* b blks, k-1 SUs each */
134 info->SUsPerBlock = info->PUsPerBlock * layoutPtr->SUsPerPU;
141 info->SpareSpaceDepthPerRegionInSUs = (r * info->TablesPerSpareRegion / (v - 1)) * layoutPtr->SUsPerPU;
145 if (info->FullTableDepthInPUs * layoutPtr->SUsPerPU + info->SpareSpaceDepthPerRegionInSUs > layoutPtr->stripeUnitsPerDisk) {
149 (int) layoutPtr->stripeUnitsPerDisk);
153 if (info->TableDepthInPUs * layoutPtr->SUsPerPU > layoutPtr->stripeUnitsPerDisk) {
155 (int) (info->TableDepthInPUs * layoutPtr->SUsPerPU), \
156 (int) layoutPtr->stripeUnitsPerDisk);
166 PUsPerDisk = layoutPtr->stripeUnitsPerDisk / layoutPtr->SUsPerPU;
169 info->SpareRegionDepthInSUs = spareRegionDepthInPUs * layoutPtr->SUsPerPU;
180 extraPUsPerDisk -= (info->SpareSpaceDepthPerRegionInSUs / layoutPtr->SUsPerPU);
192 totSparePUsPerDisk = (numCompleteSpareRegionsPerDisk + 1) * (info->SpareSpaceDepthPerRegionInSUs / layoutPtr->SUsPerPU);
195 layoutPtr->stripeUnitsPerDisk =
199 ) * layoutPtr->SUsPerPU;
200 layoutPtr->dataStripeUnitsPerDisk =
202 * layoutPtr->SUsPerPU * (k - 1) / k;
207 layoutPtr->stripeUnitsPerDisk /= (info->TableDepthInPUs * layoutPtr->SUsPerPU);
208 layoutPtr->stripeUnitsPerDisk *= (info->TableDepthInPUs * layoutPtr->SUsPerPU);
213 ((layoutPtr->stripeUnitsPerDisk / layoutPtr->SUsPerPU) / info->FullTableDepthInPUs);
217 ((layoutPtr->stripeUnitsPerDisk / layoutPtr->SUsPerPU) / info->TableDepthInPUs) % k;
220 raidPtr->sectorsPerDisk = layoutPtr->stripeUnitsPerDisk * layoutPtr->sectorsPerStripeUnit;
225 diskOffsetOfLastFullTableInSUs = numCompleteFullTablesPerDisk * info->FullTableDepthInPUs * layoutPtr->SUsPerPU;
230 diskOffsetOfLastFullTableInSUs + info->ExtraTablesPerDisk * info->TableDepthInPUs * layoutPtr->SUsPerPU;
242 info->BlockTable = rf_make_2d_array(info->TableDepthInPUs * layoutPtr->SUsPerPU, raidPtr->numCol, raidPtr->cleanupList);
262 for (SUID = l = 0; l < layoutPtr->SUsPerPU; l++) {
265 info->BlockTable[(info->OffsetTable[i][j] * layoutPtr->SUsPerPU) + l]
277 info->SUsPerTable * layoutPtr->sectorsPerStripeUnit;
278 layoutPtr->numStripe = (raidPtr->totalSectors / layoutPtr->sectorsPerStripeUnit) / (k - 1);
283 layoutPtr->dataSectorsPerStripe = (k - 1) * layoutPtr->sectorsPerStripeUnit;
284 layoutPtr->numDataCol = k - 1;
285 layoutPtr->numParityCol = 1;
322 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout);
323 RF_DeclusteredConfigInfo_t *info = (RF_DeclusteredConfigInfo_t *) layoutPtr->layoutSpecificInfo;
324 RF_StripeNum_t SUID = raidSector / layoutPtr->sectorsPerStripeUnit;
328 RF_StripeCount_t fulltable_depth = info->FullTableDepthInPUs * layoutPtr->SUsPerPU;
331 rf_decluster_adjust_params(layoutPtr, &SUID, &sus_per_fulltable, &fulltable_depth, &base_suid);
355 rf_remap_to_spare_space(layoutPtr, info, FullTableID, TableID, BlockID, (base_suid) ? 1 : 0, SpareRegion, col, &outSU);
361 outSU += TableID * info->TableDepthInPUs * layoutPtr->SUsPerPU; /* offs to strt of tble */
362 outSU += info->OffsetTable[BlockID][BlockOffset] * layoutPtr->SUsPerPU; /* offs to the PU */
369 *diskSector = outSU * layoutPtr->sectorsPerStripeUnit + (raidSector % layoutPtr->sectorsPerStripeUnit);
381 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout);
382 RF_DeclusteredConfigInfo_t *info = (RF_DeclusteredConfigInfo_t *) layoutPtr->layoutSpecificInfo;
383 RF_StripeNum_t SUID = raidSector / layoutPtr->sectorsPerStripeUnit;
387 RF_StripeCount_t fulltable_depth = info->FullTableDepthInPUs * layoutPtr->SUsPerPU;
390 rf_decluster_adjust_params(layoutPtr, &SUID, &sus_per_fulltable, &fulltable_depth, &base_suid);
418 rf_remap_to_spare_space(layoutPtr, info, FullTableID, TableID, BlockID, (base_suid) ? 1 : 0, SpareRegion, col, &outSU);
426 outSU += TableID * info->TableDepthInPUs * layoutPtr->SUsPerPU;
427 outSU += info->OffsetTable[BlockID][RepIndex] * layoutPtr->SUsPerPU;
431 *diskSector = outSU * layoutPtr->sectorsPerStripeUnit + (raidSector % layoutPtr->sectorsPerStripeUnit);
442 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout);
443 RF_DeclusteredConfigInfo_t *info = (RF_DeclusteredConfigInfo_t *) layoutPtr->layoutSpecificInfo;
445 RF_StripeCount_t fulltable_depth = info->FullTableDepthInPUs * layoutPtr->SUsPerPU;
447 RF_StripeNum_t SUID = rf_RaidAddressToStripeUnitID(layoutPtr, addr);
451 rf_decluster_adjust_params(layoutPtr, &SUID, &sus_per_fulltable, &fulltable_depth, &base_suid);
454 stripeID = rf_StripeUnitIDToStripeID(layoutPtr, SUID); /* find stripe offset
517 rf_decluster_adjust_params(RF_RaidLayout_t *layoutPtr,
523 RF_DeclusteredConfigInfo_t *info = (RF_DeclusteredConfigInfo_t *) layoutPtr->layoutSpecificInfo;
530 *fulltable_depth = info->ExtraTablesPerDisk * info->TableDepthInPUs * layoutPtr->SUsPerPU;
545 rf_MapSIDToPSIDDeclustered(RF_RaidLayout_t *layoutPtr,
552 info = (RF_DeclusteredConfigInfo_t *) layoutPtr->layoutSpecificInfo;
554 *psID = (stripeID / (layoutPtr->SUsPerPU * info->BlocksPerTable))
556 *which_ru = (stripeID % (info->BlocksPerTable * layoutPtr->SUsPerPU))
558 RF_ASSERT((*which_ru) < layoutPtr->SUsPerPU / layoutPtr->SUsPerRU);
565 rf_remap_to_spare_space(RF_RaidLayout_t *layoutPtr,
591 which_ft = (info->DiskOffsetOfLastFullTableInSUs - lastSROffset) / (info->FullTableDepthInPUs * layoutPtr->SUsPerPU);
594 ftID = info->DiskOffsetOfLastFullTableInSUs / (info->FullTableDepthInPUs * layoutPtr->SUsPerPU) + which_ft;
603 info->DiskOffsetOfLastFullTableInSUs + info->ExtraTablesPerDisk * info->TableDepthInPUs * layoutPtr->SUsPerPU :
606 if (*outSU >= layoutPtr->stripeUnitsPerDisk) {
681 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout;
683 return (((RF_DeclusteredConfigInfo_t *) layoutPtr->layoutSpecificInfo)->TotSparePUsPerDisk);
691 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout;
692 RF_DeclusteredConfigInfo_t *info = (RF_DeclusteredConfigInfo_t *) layoutPtr->layoutSpecificInfo;