Lines Matching refs:raidPtr
46 static void rf_FreePDAList(RF_Raid_t *raidPtr, RF_PhysDiskAddr_t *pda_list);
47 static void rf_FreeASMList(RF_Raid_t *raidPtr, RF_AccessStripeMap_t *asm_list);
79 rf_MapAccess(RF_Raid_t *raidPtr, RF_RaidAddr_t raidAddress, in rf_MapAccess() argument
82 RF_RaidLayout_t *layoutPtr = &(raidPtr->Layout); in rf_MapAccess()
89 RF_RaidDisk_t *disks = raidPtr->Disks; in rf_MapAccess()
111 asmList = rf_AllocASMList(raidPtr, totStripes); in rf_MapAccess()
114 pdaList = rf_AllocPDAList(raidPtr, lastSUID - SUID + 1 + in rf_MapAccess()
118 if (raidAddress + numBlocks > raidPtr->totalSectors) { in rf_MapAccess()
125 rf_PrintRaidAddressInfo(raidPtr, raidAddress, numBlocks); in rf_MapAccess()
169 (layoutPtr->map->MapSector) (raidPtr, raidAddress, in rf_MapAccess()
184 rf_ASMCheckStatus(raidPtr, pda_p, asm_p, disks, 0); in rf_MapAccess()
185 pda_p->bufPtr = (char *)buffer + rf_RaidAddressToByte(raidPtr, (raidAddress - startAddress)); in rf_MapAccess()
206 …(layoutPtr->map->MapParity) (raidPtr, rf_RaidAddressOfPrevStripeUnitBoundary(layoutPtr, startAddrW… in rf_MapAccess()
211 rf_ASMCheckStatus(raidPtr, pda_p, asm_p, disks, 1); in rf_MapAccess()
212 …rf_ASMParityAdjust(raidPtr, asm_p->parityInfo, startAddrWithinStripe, endAddress, layoutPtr, asm_p… in rf_MapAccess()
228 …(layoutPtr->map->MapParity) (raidPtr, rf_RaidAddressOfPrevStripeUnitBoundary(layoutPtr, startAddrW… in rf_MapAccess()
230 …(layoutPtr->map->MapQ) (raidPtr, rf_RaidAddressOfPrevStripeUnitBoundary(layoutPtr, startAddrWithin… in rf_MapAccess()
237 rf_ASMCheckStatus(raidPtr, pda_p, asm_p, disks, 1); in rf_MapAccess()
238 rf_ASMCheckStatus(raidPtr, pda_q, asm_p, disks, 1); in rf_MapAccess()
239 …rf_ASMParityAdjust(raidPtr, asm_p->parityInfo, startAddrWithinStripe, endAddress, layoutPtr, asm_p… in rf_MapAccess()
240 rf_ASMParityAdjust(raidPtr, asm_p->qInfo, startAddrWithinStripe, endAddress, layoutPtr, asm_p); in rf_MapAccess()
247 asm_hdr = rf_AllocAccessStripeMapHeader(raidPtr); in rf_MapAccess()
269 rf_MarkFailuresInASMList(RF_Raid_t *raidPtr, in rf_MarkFailuresInASMList() argument
272 RF_RaidDisk_t *disks = raidPtr->Disks; in rf_MarkFailuresInASMList()
344 RF_Raid_t *raidPtr; in rf_ShutdownMapModule() local
346 raidPtr = (RF_Raid_t *) arg; in rf_ShutdownMapModule()
348 pool_destroy(&raidPtr->pools.asm_hdr); in rf_ShutdownMapModule()
349 pool_destroy(&raidPtr->pools.asmap); in rf_ShutdownMapModule()
350 pool_destroy(&raidPtr->pools.asmhle); in rf_ShutdownMapModule()
351 pool_destroy(&raidPtr->pools.pda); in rf_ShutdownMapModule()
352 pool_destroy(&raidPtr->pools.fss); in rf_ShutdownMapModule()
353 pool_destroy(&raidPtr->pools.vfple); in rf_ShutdownMapModule()
354 pool_destroy(&raidPtr->pools.vple); in rf_ShutdownMapModule()
358 rf_ConfigureMapModule(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, in rf_ConfigureMapModule() argument
362 …rf_pool_init(raidPtr, raidPtr->poolNames.asm_hdr, &raidPtr->pools.asm_hdr, sizeof(RF_AccessStripeM… in rf_ConfigureMapModule()
364 …rf_pool_init(raidPtr, raidPtr->poolNames.asmap, &raidPtr->pools.asmap, sizeof(RF_AccessStripeMap_t… in rf_ConfigureMapModule()
366 …rf_pool_init(raidPtr, raidPtr->poolNames.asmhle, &raidPtr->pools.asmhle, sizeof(RF_ASMHeaderListEl… in rf_ConfigureMapModule()
368 rf_pool_init(raidPtr, raidPtr->poolNames.pda, &raidPtr->pools.pda, sizeof(RF_PhysDiskAddr_t), in rf_ConfigureMapModule()
370 rf_pool_init(raidPtr, raidPtr->poolNames.fss, &raidPtr->pools.fss, sizeof(RF_FailedStripe_t), in rf_ConfigureMapModule()
372 …rf_pool_init(raidPtr, raidPtr->poolNames.vfple, &raidPtr->pools.vfple, sizeof(RF_VoidFunctionPoint… in rf_ConfigureMapModule()
374 …rf_pool_init(raidPtr, raidPtr->poolNames.vple, &raidPtr->pools.vple, sizeof(RF_VoidPointerListElem… in rf_ConfigureMapModule()
376 rf_ShutdownCreate(listp, rf_ShutdownMapModule, raidPtr); in rf_ConfigureMapModule()
382 rf_AllocAccessStripeMapHeader(RF_Raid_t *raidPtr) in rf_AllocAccessStripeMapHeader() argument
384 return pool_get(&raidPtr->pools.asm_hdr, PR_WAITOK | PR_ZERO); in rf_AllocAccessStripeMapHeader()
388 rf_FreeAccessStripeMapHeader(RF_Raid_t *raidPtr, RF_AccessStripeMapHeader_t *p) in rf_FreeAccessStripeMapHeader() argument
390 pool_put(&raidPtr->pools.asm_hdr, p); in rf_FreeAccessStripeMapHeader()
395 rf_AllocVFPListElem(RF_Raid_t *raidPtr) in rf_AllocVFPListElem() argument
397 return pool_get(&raidPtr->pools.vfple, PR_WAITOK | PR_ZERO); in rf_AllocVFPListElem()
401 rf_FreeVFPListElem(RF_Raid_t *raidPtr, RF_VoidFunctionPointerListElem_t *p) in rf_FreeVFPListElem() argument
404 pool_put(&raidPtr->pools.vfple, p); in rf_FreeVFPListElem()
409 rf_AllocVPListElem(RF_Raid_t *raidPtr) in rf_AllocVPListElem() argument
411 return pool_get(&raidPtr->pools.vple, PR_WAITOK | PR_ZERO); in rf_AllocVPListElem()
415 rf_FreeVPListElem(RF_Raid_t *raidPtr, RF_VoidPointerListElem_t *p) in rf_FreeVPListElem() argument
418 pool_put(&raidPtr->pools.vple, p); in rf_FreeVPListElem()
422 rf_AllocASMHeaderListElem(RF_Raid_t *raidPtr) in rf_AllocASMHeaderListElem() argument
424 return pool_get(&raidPtr->pools.asmhle, PR_WAITOK | PR_ZERO); in rf_AllocASMHeaderListElem()
428 rf_FreeASMHeaderListElem(RF_Raid_t *raidPtr, RF_ASMHeaderListElem_t *p) in rf_FreeASMHeaderListElem() argument
431 pool_put(&raidPtr->pools.asmhle, p); in rf_FreeASMHeaderListElem()
435 rf_AllocFailedStripeStruct(RF_Raid_t *raidPtr) in rf_AllocFailedStripeStruct() argument
437 return pool_get(&raidPtr->pools.fss, PR_WAITOK | PR_ZERO); in rf_AllocFailedStripeStruct()
441 rf_FreeFailedStripeStruct(RF_Raid_t *raidPtr, RF_FailedStripe_t *p) in rf_FreeFailedStripeStruct() argument
443 pool_put(&raidPtr->pools.fss, p); in rf_FreeFailedStripeStruct()
451 rf_AllocPhysDiskAddr(RF_Raid_t *raidPtr) in rf_AllocPhysDiskAddr() argument
453 return pool_get(&raidPtr->pools.pda, PR_WAITOK | PR_ZERO); in rf_AllocPhysDiskAddr()
461 rf_AllocPDAList(RF_Raid_t *raidPtr, int count) in rf_AllocPDAList() argument
469 p = pool_get(&raidPtr->pools.pda, PR_WAITOK); in rf_AllocPDAList()
478 rf_FreePhysDiskAddr(RF_Raid_t *raidPtr, RF_PhysDiskAddr_t *p) in rf_FreePhysDiskAddr() argument
480 pool_put(&raidPtr->pools.pda, p); in rf_FreePhysDiskAddr()
484 rf_FreePDAList(RF_Raid_t *raidPtr, RF_PhysDiskAddr_t *pda_list) in rf_FreePDAList() argument
491 pool_put(&raidPtr->pools.pda, p); in rf_FreePDAList()
502 rf_AllocASMList(RF_Raid_t *raidPtr, int count) in rf_AllocASMList() argument
510 p = pool_get(&raidPtr->pools.asmap, PR_WAITOK); in rf_AllocASMList()
518 rf_FreeASMList(RF_Raid_t *raidPtr, RF_AccessStripeMap_t *asm_list) in rf_FreeASMList() argument
525 pool_put(&raidPtr->pools.asmap, p); in rf_FreeASMList()
531 rf_FreeAccessStripeMap(RF_Raid_t *raidPtr, RF_AccessStripeMapHeader_t *hdr) in rf_FreeAccessStripeMap() argument
584 rf_FreePDAList(raidPtr, pdaList); in rf_FreeAccessStripeMap()
585 rf_FreeASMList(raidPtr, hdr->stripeMap); in rf_FreeAccessStripeMap()
586 rf_FreeAccessStripeMapHeader(raidPtr, hdr); in rf_FreeAccessStripeMap()
598 rf_CheckStripeForFailures(RF_Raid_t *raidPtr, RF_AccessStripeMap_t *asmap) in rf_CheckStripeForFailures() argument
601 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; in rf_CheckStripeForFailures()
608 rf_lock_mutex2(raidPtr->mutex); in rf_CheckStripeForFailures()
609 numFailures = raidPtr->numFailures; in rf_CheckStripeForFailures()
610 rf_unlock_mutex2(raidPtr->mutex); in rf_CheckStripeForFailures()
616 (layoutPtr->map->IdentifyStripe) (raidPtr, asmap->raidAddress, in rf_CheckStripeForFailures()
618 (layoutPtr->map->MapParity) (raidPtr, asmap->raidAddress, in rf_CheckStripeForFailures()
626 if (RF_DEAD_DISK(raidPtr->Disks[diskids[i]].status)) { in rf_CheckStripeForFailures()
627 if (raidPtr->status != rf_rs_reconstructing) in rf_CheckStripeForFailures()
629 RF_ASSERT(raidPtr->reconControl->fcol == diskids[i]); in rf_CheckStripeForFailures()
630 layoutPtr->map->MapSector(raidPtr, in rf_CheckStripeForFailures()
634 if (!rf_CheckRUReconstructed(raidPtr->reconControl->reconMap, diskOffset)) in rf_CheckStripeForFailures()
650 rf_NumFailedDataUnitsInStripe(RF_Raid_t *raidPtr, RF_AccessStripeMap_t *asmap) in rf_NumFailedDataUnitsInStripe() argument
652 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; in rf_NumFailedDataUnitsInStripe()
659 rf_lock_mutex2(raidPtr->mutex); in rf_NumFailedDataUnitsInStripe()
660 numFailures = raidPtr->numFailures; in rf_NumFailedDataUnitsInStripe()
661 rf_unlock_mutex2(raidPtr->mutex); in rf_NumFailedDataUnitsInStripe()
669 (layoutPtr->map->MapSector) (raidPtr, sosAddr + i * layoutPtr->sectorsPerStripeUnit, in rf_NumFailedDataUnitsInStripe()
671 if (RF_DEAD_DISK(raidPtr->Disks[tcol].status)) in rf_NumFailedDataUnitsInStripe()
748 rf_PrintRaidAddressInfo(RF_Raid_t *raidPtr, RF_RaidAddr_t raidAddr, in rf_PrintRaidAddressInfo() argument
751 RF_RaidLayout_t *layoutPtr = &raidPtr->Layout; in rf_PrintRaidAddressInfo()
768 rf_ASMParityAdjust(RF_Raid_t *raidPtr, in rf_ASMParityAdjust() argument
804 new_pda = toAdjust->next = rf_AllocPhysDiskAddr(raidPtr); in rf_ASMParityAdjust()
828 rf_ASMCheckStatus(RF_Raid_t *raidPtr, RF_PhysDiskAddr_t *pda_p, in rf_ASMCheckStatus() argument
849 …raidPtr->Layout.map->MapSector(raidPtr, pda_p->raidAddress, &pda_p->col, &pda_p->startSector, RF_R… in rf_ASMCheckStatus()
851 …raidPtr->Layout.map->MapParity(raidPtr, pda_p->raidAddress, &pda_p->col, &pda_p->startSector, RF_R… in rf_ASMCheckStatus()
883 RF_ASSERT(rf_RaidAddressToStripeUnitID(&raidPtr->Layout, pda_p->raidAddress) == in rf_ASMCheckStatus()
884 rf_RaidAddressToStripeUnitID(&raidPtr->Layout, pda_p->raidAddress + pda_p->numSector - 1)); in rf_ASMCheckStatus()