Lines Matching defs:raidPtr
57 applyPDA(RF_Raid_t * raidPtr, RF_PhysDiskAddr_t * pda, RF_PhysDiskAddr_t * ppda,
119 rf_DoubleDegRead(raidPtr, asmap, dag_h, bp, flags, allocList,
124 applyPDA(RF_Raid_t *raidPtr, RF_PhysDiskAddr_t *pda, RF_PhysDiskAddr_t *ppda, RF_PhysDiskAddr_t *qpda, const struct buf *bp)
126 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout);
141 coeff = rf_RaidAddressToStripeUnitID(&(raidPtr->Layout), pda->raidAddress);
142 coeff = (coeff % raidPtr->Layout.numDataCol);
146 buf += rf_RaidAddressToStripeUnitID(&(raidPtr->Layout), delta);
152 pbuf += rf_RaidAddressToStripeUnitID(&(raidPtr->Layout), delta);
153 qbuf += rf_RaidAddressToStripeUnitID(&(raidPtr->Layout), delta);
159 /* rf_bxor(buf, pbuf, rf_RaidAddressToByte(raidPtr, len), bp); */
160 rf_bxor(buf, pbuf, rf_RaidAddressToByte(raidPtr, len));
163 rf_IncQ((unsigned long *) qbuf, (unsigned long *) buf, rf_RaidAddressToByte(raidPtr, len), coeff);
171 pdas of P and Q, followed by the raidPtr. The list can look like
173 pda, pda, ... , p pda, q pda, raidptr, asm
177 pda, pda, ... , p_1 pda, p_2 pda, q_1 pda, q_2 pda, raidptr, asm
191 RF_Raid_t *raidPtr = (RF_Raid_t *) node->params[np - 2].p;
192 RF_RaidLayout_t *layoutPtr = (RF_RaidLayout_t *) & (raidPtr->Layout);
228 coeff = (coeff % raidPtr->Layout.numDataCol);
230 applyPDA(raidPtr, pda, ppda, qpda, node->dagHdr->bp);
232 applyPDA(raidPtr, pda, ppda, qpda, node->dagHdr->bp);
246 coeff = (coeff % raidPtr->Layout.numDataCol);
249 (raidPtr->Layout.map->MapSector) (raidPtr, npda.raidAddress, &(npda.col), &(npda.startSector), 0);
251 if (RF_DEAD_DISK(raidPtr->Disks[npda.col].status))
260 rf_PQ_recover((unsigned long *) ppda->bufPtr, (unsigned long *) qpda->bufPtr, (unsigned long *) pda->bufPtr, (unsigned long *) ppda->bufPtr, rf_RaidAddressToByte(raidPtr, pda->numSector), coeff, i);
262 rf_PQ_recover((unsigned long *) ppda->bufPtr, (unsigned long *) qpda->bufPtr, (unsigned long *) ppda->bufPtr, (unsigned long *) pda->bufPtr, rf_RaidAddressToByte(raidPtr, pda->numSector), i, coeff);
297 * raidPtr, asmap */
301 RF_Raid_t *raidPtr = (RF_Raid_t *) node->params[np - 2].p;
302 RF_RaidLayout_t *layoutPtr = (RF_RaidLayout_t *) & (raidPtr->Layout);
319 applyPDA(raidPtr, node->params[i].p, ppda, qpda, node->dagHdr->bp);
327 coeff = (coeff % raidPtr->Layout.numDataCol);
330 (raidPtr->Layout.map->MapSector) (raidPtr, npda.raidAddress, &(npda.col), &(npda.startSector), 0);
332 if (RF_DEAD_DISK(raidPtr->Disks[npda.col].status))
340 rf_PQ_recover((unsigned long *) ppda->bufPtr, (unsigned long *) qpda->bufPtr, (unsigned long *) ppda->bufPtr, (unsigned long *) qpda->bufPtr, rf_RaidAddressToByte(raidPtr, pda->numSector), coeff, i);
342 rf_PQ_recover((unsigned long *) ppda->bufPtr, (unsigned long *) qpda->bufPtr, (unsigned long *) qpda->bufPtr, (unsigned long *) ppda->bufPtr, rf_RaidAddressToByte(raidPtr, pda->numSector), i, coeff);
345 memset(qpda->bufPtr, 0, rf_RaidAddressToByte(raidPtr, qpda->numSector));
346 rf_IncQ((unsigned long *) qpda->bufPtr, (unsigned long *) ppda->bufPtr, rf_RaidAddressToByte(raidPtr, qpda->numSector), i);
353 rf_IncQ((unsigned long *) qpda->bufPtr, (unsigned long *) asmap->failedPDAs[0]->bufPtr, rf_RaidAddressToByte(raidPtr, qpda->numSector), coeff);
354 /* rf_bxor(asmap->failedPDAs[0]->bufPtr, ppda->bufPtr, rf_RaidAddressToByte(raidPtr, ppda->numSector), node->dagHdr->bp); */
355 rf_bxor(asmap->failedPDAs[0]->bufPtr, ppda->bufPtr, rf_RaidAddressToByte(raidPtr, ppda->numSector));
359 applyPDA(raidPtr, node->params[i].p, ppda, qpda, node->dagHdr->bp);
400 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout);
411 rf_PQ_DDLargeWrite(raidPtr, asmap, dag_h, bp, flags, allocList);
416 rf_PQ_DDSimpleSmallWrite(raidPtr, asmap, dag_h, bp, flags, allocList);
423 rf_DoubleDegSmallWrite(raidPtr, asmap, dag_h, bp, flags, allocList, "Rq", "Wq", "PQ Recovery", rf_PQWriteDoubleRecoveryFunc);