Home | History | Annotate | Download | only in raidframe

Lines Matching refs:pda

180 	RF_PhysDiskAddr_t *pda, *parityPDA;
189 /* failedPDA points to the pda within the asm that targets the failed
213 * failed pda */
310 for (i = 0, pda = new_asm_h[0]->stripeMap->physInfo;
312 i++, pda = pda->next) {
315 RF_ASSERT(pda);
316 tmprrdNode->params[0].p = pda;
317 tmprrdNode->params[1].p = pda->bufPtr;
327 for (j = 0, pda = new_asm_h[1]->stripeMap->physInfo;
329 j++, pda = pda->next) {
332 RF_ASSERT(pda);
333 tmprrdNode->params[0].p = pda;
334 tmprrdNode->params[1].p = pda->bufPtr;
337 if (allowBufferRecycle && (pda->numSector == failedPDA->numSector))
338 xorTargetBuf = pda->bufPtr;
352 * Make a PDA for the parity unit. The parity PDA should start at
353 * the same offset into the SU as the failed PDA.
403 for (pda = asmap->physInfo, i = 0; i < nWndNodes; i++, pda = pda->next) {
404 if (pda == failedPDA) {
410 RF_ASSERT(pda);
411 tmpwndNode->params[0].p = pda;
412 tmpwndNode->params[1].p = pda->bufPtr;
438 pda = rf_AllocPhysDiskAddr(raidPtr);
439 memcpy((char *) pda, (char *) tmpwndNode->params[0].p, sizeof(RF_PhysDiskAddr_t));
441 pda->next = dag_h->pda_cleanup_list;
442 pda;
443 rf_RangeRestrictPDA(raidPtr, failedPDA, pda, RF_RESTRICT_DOBUFFER, 0);
444 xorNode->params[paramNum++].p = pda;
445 xorNode->params[paramNum++].p = pda->bufPtr;
451 * Install the failed PDA into the xor param list so that the
459 * PDA and the raidPtr. install the failedPDA even though we have just
590 /* determine how many pda's we will have to generate per unaccess
641 /* figure out number of nonaccessed pda */
649 /* allocate up our list of pda's */
723 RF_PhysDiskAddr_t *pda, *pqPDAs;
794 pda = npdas;
795 for (i = 0; i < nRrdNodes; i++, pda = pda->next) {
797 DISK_NODE_PARAMS(rrdNodes[i], pda);
801 pda = pqPDAs;
803 RF_ASSERT(pda);
804 DISK_NODE_PARAMS(rpNodes[0], pda);
805 pda++;
807 RF_ASSERT(pda);
808 DISK_NODE_PARAMS(rqNodes[0], pda);
810 pda++;
812 RF_ASSERT(pda);
813 DISK_NODE_PARAMS(rpNodes[1], pda);
814 pda++;
816 RF_ASSERT(pda);
817 DISK_NODE_PARAMS(rqNodes[1], pda);
821 * node. As parameters, it takes a pda per read and a pda per stripe
823 * and asm. For results, it takes PDA for P & Q. */
850 pda = pqPDAs;
851 recoveryNode->results[0] = pda;
852 pda++;
853 recoveryNode->results[1] = pda;
855 pda++;
856 recoveryNode->results[2] = pda;
857 pda++;
858 recoveryNode->results[3] = pda;
867 pda = asmap->physInfo;
870 DISK_NODE_PARAMS(wudNodes[i], pda);
872 pda = pda->next;
875 pda = pqPDAs;
877 RF_ASSERT(pda);
878 DISK_NODE_PARAMS(wpNodes[0], pda);
879 pda++;
881 RF_ASSERT(pda);
882 DISK_NODE_PARAMS(wqNodes[0], pda);
884 pda++;
886 RF_ASSERT(pda);
887 DISK_NODE_PARAMS(wpNodes[1], pda);
888 pda++;
890 RF_ASSERT(pda);
891 DISK_NODE_PARAMS(wqNodes[1], pda);