Lines Matching refs:raidPtr

65 rf_RewriteParity(RF_Raid_t *raidPtr)  in rf_RewriteParity()  argument
67 if (raidPtr->parity_map != NULL) in rf_RewriteParity()
68 return rf_paritymap_rewrite(raidPtr->parity_map); in rf_RewriteParity()
70 return rf_RewriteParityRange(raidPtr, 0, raidPtr->totalSectors); in rf_RewriteParity()
74 rf_RewriteParityRange(RF_Raid_t *raidPtr, RF_SectorNum_t sec_begin, in rf_RewriteParityRange() argument
81 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; in rf_RewriteParityRange()
87 if (raidPtr->Layout.map->faultsTolerated == 0) { in rf_RewriteParityRange()
91 if (raidPtr->status != rf_rs_optimal) { in rf_RewriteParityRange()
107 if (raidPtr->waitShutdown) { in rf_RewriteParityRange()
112 asm_h = rf_MapAccess(raidPtr, i, in rf_RewriteParityRange()
115 raidPtr->parity_rewrite_stripes_done = in rf_RewriteParityRange()
117 rc = rf_VerifyParity(raidPtr, asm_h->stripeMap, 1, 0); in rf_RewriteParityRange()
139 rf_FreeAccessStripeMap(raidPtr, asm_h); in rf_RewriteParityRange()
153 rf_VerifyParity(RF_Raid_t *raidPtr, RF_AccessStripeMap_t *aasm, in rf_VerifyParity() argument
161 lp = raidPtr->Layout.map; in rf_VerifyParity()
173 lrc = lp->VerifyParity(raidPtr, in rf_VerifyParity()
191 rf_VerifyParityBasic(RF_Raid_t *raidPtr, RF_RaidAddr_t raidAddr, in rf_VerifyParityBasic() argument
195 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout); in rf_VerifyParityBasic()
199 int numbytes = rf_RaidAddressToByte(raidPtr, numsector); in rf_VerifyParityBasic()
221 mcpair = rf_AllocMCPair(raidPtr); in rf_VerifyParityBasic()
228 …rd_dag_h = rf_MakeSimpleDAG(raidPtr, stripeWidth, numbytes, bf, rf_DiskReadFunc, rf_DiskReadUndoFu… in rf_VerifyParityBasic()
233 asm_h = rf_MapAccess(raidPtr, startAddr, layoutPtr->dataSectorsPerStripe, bf, RF_DONT_REMAP); in rf_VerifyParityBasic()
238 rf_RangeRestrictPDA(raidPtr, parityPDA, pda, 0, 1); in rf_VerifyParityBasic()
240 if (rf_TryToRedirectPDA(raidPtr, pda, 0)) in rf_VerifyParityBasic()
249 rf_RangeRestrictPDA(raidPtr, parityPDA, asmap->parityInfo, 0, 1); in rf_VerifyParityBasic()
251 if (rf_TryToRedirectPDA(raidPtr, asmap->parityInfo, 1)) in rf_VerifyParityBasic()
296 wr_dag_h = rf_MakeSimpleDAG(raidPtr, 1, numbytes, pbuf, rf_DiskWriteFunc, rf_DiskWriteUndoFunc, in rf_VerifyParityBasic()
332 rf_FreeAccessStripeMap(raidPtr, asm_h); in rf_VerifyParityBasic()
335 rf_FreeMCPair(raidPtr, mcpair); in rf_VerifyParityBasic()
340 rf_TryToRedirectPDA(RF_Raid_t *raidPtr, RF_PhysDiskAddr_t *pda, in rf_TryToRedirectPDA() argument
343 if (raidPtr->Disks[pda->col].status == rf_ds_reconstructing) { in rf_TryToRedirectPDA()
344 if (rf_CheckRUReconstructed(raidPtr->reconControl->reconMap, pda->startSector)) { in rf_TryToRedirectPDA()
346 if (raidPtr->Layout.map->flags & RF_DISTRIBUTE_SPARE) { in rf_TryToRedirectPDA()
352 …(raidPtr->Layout.map->MapParity) (raidPtr, pda->raidAddress, &pda->col, &pda->startSector, RF_REMA… in rf_TryToRedirectPDA()
359 …(raidPtr->Layout.map->MapSector) (raidPtr, pda->raidAddress, &pda->col, &pda->startSector, RF_REMA… in rf_TryToRedirectPDA()
368 RF_RowCol_t spCol = raidPtr->Disks[pda->col].spareCol; in rf_TryToRedirectPDA()
375 if (RF_DEAD_DISK(raidPtr->Disks[pda->col].status)) in rf_TryToRedirectPDA()
402 rf_VerifyDegrModeWrite(RF_Raid_t *raidPtr, RF_AccessStripeMapHeader_t *asmh)
419 rf_MakeSimpleDAG(RF_Raid_t *raidPtr, int nNodes, int bytesPerSU, char *databuf, in rf_MakeSimpleDAG() argument
431 dag_h = rf_AllocDAGHeader(raidPtr); in rf_MakeSimpleDAG()
432 dag_h->raidPtr = (void *) raidPtr; in rf_MakeSimpleDAG()
447 tmpNode = rf_AllocDAGNode(raidPtr); in rf_MakeSimpleDAG()
453 blockNode = rf_AllocDAGNode(raidPtr); in rf_MakeSimpleDAG()
457 unblockNode = rf_AllocDAGNode(raidPtr); in rf_MakeSimpleDAG()
461 termNode = rf_AllocDAGNode(raidPtr); in rf_MakeSimpleDAG()