Lines Matching defs:raidPtr

70 rf_ConfigureEvenOdd(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr,
73 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout;
77 info = RF_MallocAndAdd(sizeof(*info), raidPtr->cleanupList);
80 info->stripeIdentifier = rf_make_2d_array(raidPtr->numCol, raidPtr->numCol, raidPtr->cleanupList);
82 for (i = 0; i < raidPtr->numCol; i++) {
83 for (j = 0; j < raidPtr->numCol; j++) {
84 info->stripeIdentifier[i][j] = (startdisk + j) % raidPtr->numCol;
87 startdisk += raidPtr->numCol;
92 layoutPtr->numDataCol = raidPtr->numCol - 2; /* ORIG:
94 * = raidPtr->numCol-1; */
96 if (raidPtr->numCol <= 17) {
103 if (raidPtr->numCol > 17) {
113 raidPtr->sectorsPerDisk = layoutPtr->stripeUnitsPerDisk * layoutPtr->sectorsPerStripeUnit;
115 raidPtr->totalSectors = layoutPtr->stripeUnitsPerDisk * layoutPtr->numDataCol * layoutPtr->sectorsPerStripeUnit;
121 rf_GetDefaultNumFloatingReconBuffersEvenOdd(RF_Raid_t *raidPtr)
127 rf_GetDefaultHeadSepLimitEvenOdd(RF_Raid_t *raidPtr)
133 rf_IdentifyStripeEvenOdd(RF_Raid_t *raidPtr, RF_RaidAddr_t addr,
136 RF_StripeNum_t stripeID = rf_RaidAddressToStripeID(&raidPtr->Layout, addr);
137 RF_EvenOddConfigInfo_t *info = (RF_EvenOddConfigInfo_t *) raidPtr->Layout.layoutSpecificInfo;
139 *diskids = info->stripeIdentifier[stripeID % raidPtr->numCol];
157 rf_MapParityEvenOdd(RF_Raid_t *raidPtr, RF_RaidAddr_t raidSector,
161 RF_StripeNum_t SUID = raidSector / raidPtr->Layout.sectorsPerStripeUnit;
162 RF_StripeNum_t endSUIDofthisStrip = (SUID / raidPtr->Layout.numDataCol + 1) * raidPtr->Layout.numDataCol - 1;
164 *col = (endSUIDofthisStrip + 2) % raidPtr->numCol;
165 *diskSector = (SUID / (raidPtr->Layout.numDataCol)) * raidPtr->Layout.sectorsPerStripeUnit +
166 (raidSector % raidPtr->Layout.sectorsPerStripeUnit);
170 rf_MapEEvenOdd(RF_Raid_t *raidPtr, RF_RaidAddr_t raidSector,
174 RF_StripeNum_t SUID = raidSector / raidPtr->Layout.sectorsPerStripeUnit;
175 RF_StripeNum_t endSUIDofthisStrip = (SUID / raidPtr->Layout.numDataCol + 1) * raidPtr->Layout.numDataCol - 1;
177 *col = (endSUIDofthisStrip + 1) % raidPtr->numCol;
178 *diskSector = (SUID / (raidPtr->Layout.numDataCol)) * raidPtr->Layout.sectorsPerStripeUnit +
179 (raidSector % raidPtr->Layout.sectorsPerStripeUnit);
183 rf_EODagSelect(RF_Raid_t *raidPtr, RF_IoType_t type,
186 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout);
217 if (rf_NumFailedDataUnitsInStripe(raidPtr, asmap) == 2)
235 (asmap->parityInfo->next != NULL) || (asmap->qInfo->next != NULL) || rf_CheckStripeForFailures(raidPtr, asmap))) {
250 || (asmap->parityInfo->next != NULL) || rf_NumFailedDataUnitsInStripe(raidPtr, asmap))
256 || (asmap->qInfo->next != NULL) || rf_NumFailedDataUnitsInStripe(raidPtr, asmap))
265 if (rf_NumFailedDataUnitsInStripe(raidPtr, asmap) == 2) {
330 rf_VerifyParityEvenOdd(RF_Raid_t *raidPtr, RF_RaidAddr_t raidAddr,
334 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout);
337 int numbytes = rf_RaidAddressToByte(raidPtr, numsector);
359 mcpair = rf_AllocMCPair(raidPtr);
368 rd_dag_h = rf_MakeSimpleDAG(raidPtr, stripeWidth, numbytes, buf, rf_DiskReadFunc, rf_DiskReadUndoFunc,
373 asm_h = rf_MapAccess(raidPtr, startAddr, layoutPtr->dataSectorsPerStripe, buf, RF_DONT_REMAP);
378 rf_RangeRestrictPDA(raidPtr, parityPDA, pda, 0, 1);
380 if (rf_TryToRedirectPDA(raidPtr, pda, 0))
389 rf_RangeRestrictPDA(raidPtr, parityPDA, asmap->parityInfo, 0, 1);
391 if (rf_TryToRedirectPDA(raidPtr, asmap->parityInfo, 1))
396 rf_RangeRestrictPDA(raidPtr, parityPDA, asmap->qInfo, 0, 1);
398 if (rf_TryToRedirectPDA(raidPtr, asmap->qInfo, 1))
428 rf_e_encToBuf(raidPtr, i, p, RF_EO_MATRIX_DIM - 2, redundantbuf2, numsector);
462 wr_dag_h = rf_MakeSimpleDAG(raidPtr, 1, numbytes, pbuf, rf_DiskWriteFunc, rf_DiskWriteUndoFunc,
492 wr_dag_h = rf_MakeSimpleDAG(raidPtr, 1, numbytes, redundantbuf2, rf_DiskWriteFunc, rf_DiskWriteUndoFunc,
529 rf_FreeAccessStripeMap(raidPtr, asm_h);
532 rf_FreeMCPair(raidPtr, mcpair);