Lines Matching refs:raidPtr
115 RF_Raid_t * raidPtr, in ReadRegionLog() argument
130 *rrd_dag_h = rf_MakeSimpleDAG(raidPtr, 1, 0, regionBuffer, in ReadRegionLog()
137 *rrd_pda = rf_AllocPDAList(raidPtr, 1); in ReadRegionLog()
138 rf_MapLogParityLogging(raidPtr, regionID, 0, in ReadRegionLog()
140 (*rrd_pda)->numSector = raidPtr->regionInfo[regionID].capacity; in ReadRegionLog()
166 RF_Raid_t * raidPtr, in WriteCoreLog() argument
183 *fwr_dag_h = rf_MakeSimpleDAG(raidPtr, 1, 0, log->bufPtr, in WriteCoreLog()
187 *fwr_pda = rf_AllocPDAList(raidPtr, 1); in WriteCoreLog()
189 rf_MapLogParityLogging(raidPtr, regionID, regionOffset, in WriteCoreLog()
192 (*fwr_pda)->numSector = raidPtr->numSectorsPerLog; in WriteCoreLog()
214 RF_Raid_t * raidPtr, in ReadRegionParity() argument
229 *prd_dag_h = rf_MakeSimpleDAG(raidPtr, 1, 0, NULL, rf_DiskReadFunc, in ReadRegionParity()
235 *prd_pda = rf_AllocPDAList(raidPtr, 1); in ReadRegionParity()
236 rf_MapRegionParity(raidPtr, regionID, in ReadRegionParity()
268 RF_Raid_t * raidPtr, in WriteRegionParity() argument
283 *pwr_dag_h = rf_MakeSimpleDAG(raidPtr, 1, 0, parityBuffer, in WriteRegionParity()
290 *pwr_pda = rf_AllocPDAList(raidPtr, 1); in WriteRegionParity()
291 rf_MapRegionParity(raidPtr, regionID, in WriteRegionParity()
311 RF_Raid_t * raidPtr, in FlushLogsToDisk() argument
330 fwr_mcpair = rf_AllocMCPair(raidPtr); in FlushLogsToDisk()
342 WriteCoreLog(log, fwr_mcpair, raidPtr, &fwr_dag_h, in FlushLogsToDisk()
353 rf_FreePhysDiskAddr(raidPtr, fwr_pda); in FlushLogsToDisk()
360 rf_FreeMCPair(raidPtr, fwr_mcpair); in FlushLogsToDisk()
361 rf_ReleaseParityLogs(raidPtr, logList); in FlushLogsToDisk()
366 RF_Raid_t * raidPtr, in ReintegrateRegion() argument
393 parityBuffer = AcquireReintBuffer(&raidPtr->parityBufferPool); in ReintegrateRegion()
394 prd_mcpair = rf_AllocMCPair(raidPtr); in ReintegrateRegion()
397 ReadRegionParity(regionID, prd_mcpair, parityBuffer, raidPtr, in ReintegrateRegion()
401 if (raidPtr->regionInfo[regionID].diskCount > 0) { in ReintegrateRegion()
405 regionBuffer = AcquireReintBuffer(&raidPtr->regionBufferPool); in ReintegrateRegion()
406 rrd_mcpair = rf_AllocMCPair(raidPtr); in ReintegrateRegion()
409 ReadRegionLog(regionID, rrd_mcpair, regionBuffer, raidPtr, in ReintegrateRegion()
425 if (raidPtr->regionInfo[regionID].diskCount > 0) { in ReintegrateRegion()
439 rf_FreePhysDiskAddr(raidPtr, rrd_pda); in ReintegrateRegion()
442 rf_FreeMCPair(raidPtr, rrd_mcpair); in ReintegrateRegion()
443 ReleaseReintBuffer(&raidPtr->regionBufferPool, regionBuffer); in ReintegrateRegion()
449 pwr_mcpair = rf_AllocMCPair(raidPtr); in ReintegrateRegion()
452 WriteRegionParity(regionID, pwr_mcpair, parityBuffer, raidPtr, in ReintegrateRegion()
464 rf_FreePhysDiskAddr(raidPtr, prd_pda); in ReintegrateRegion()
467 rf_FreeMCPair(raidPtr, prd_mcpair); in ReintegrateRegion()
470 ReleaseReintBuffer(&raidPtr->parityBufferPool, parityBuffer); in ReintegrateRegion()
472 rf_FreePhysDiskAddr(raidPtr, pwr_pda); in ReintegrateRegion()
475 rf_FreeMCPair(raidPtr, pwr_mcpair); in ReintegrateRegion()
485 RF_Raid_t * raidPtr, in ReintegrateLogs() argument
498 ReintegrateRegion(raidPtr, regionID, log); in ReintegrateLogs()
503 rf_lock_mutex2(raidPtr->parityLogDiskQueue.mutex); in ReintegrateLogs()
504 logData = rf_SearchAndDequeueParityLogData(raidPtr, regionID, in ReintegrateLogs()
505 &raidPtr->parityLogDiskQueue.reintBlockHead, in ReintegrateLogs()
506 &raidPtr->parityLogDiskQueue.reintBlockTail, in ReintegrateLogs()
511 raidPtr, regionID, in ReintegrateLogs()
512 &raidPtr->parityLogDiskQueue.reintBlockHead, in ReintegrateLogs()
513 &raidPtr->parityLogDiskQueue.reintBlockTail, in ReintegrateLogs()
517 rf_unlock_mutex2(raidPtr->parityLogDiskQueue.mutex); in ReintegrateLogs()
527 rf_lock_mutex2(raidPtr->regionInfo[regionID].mutex); in ReintegrateLogs()
528 rf_lock_mutex2(raidPtr->regionInfo[regionID].reintMutex); in ReintegrateLogs()
530 rf_lock_mutex2(raidPtr->parityLogDiskQueue.mutex); in ReintegrateLogs()
531 raidPtr->regionInfo[regionID].diskCount = 0; in ReintegrateLogs()
532 raidPtr->regionInfo[regionID].reintInProgress = RF_FALSE; in ReintegrateLogs()
533 rf_unlock_mutex2(raidPtr->regionInfo[regionID].mutex); in ReintegrateLogs()
534 rf_unlock_mutex2(raidPtr->regionInfo[regionID].reintMutex); /* flushing is now in ReintegrateLogs()
537 rf_unlock_mutex2(raidPtr->parityLogDiskQueue.mutex); in ReintegrateLogs()
547 rf_ReleaseParityLogs(raidPtr, freeLogList); in ReintegrateLogs()
551 rf_ShutdownLogging(RF_Raid_t * raidPtr) in rf_ShutdownLogging() argument
566 rf_lock_mutex2(raidPtr->regionInfo[regionID].mutex); in rf_ShutdownLogging()
567 raidPtr->regionInfo[regionID].loggingEnabled = in rf_ShutdownLogging()
569 log = raidPtr->regionInfo[regionID].coreLog; in rf_ShutdownLogging()
570 raidPtr->regionInfo[regionID].coreLog = NULL; in rf_ShutdownLogging()
571 diskCount = raidPtr->regionInfo[regionID].diskCount; in rf_ShutdownLogging()
572 rf_unlock_mutex2(raidPtr->regionInfo[regionID].mutex); in rf_ShutdownLogging()
574 ReintegrateRegion(raidPtr, regionID, log); in rf_ShutdownLogging()
576 rf_ReleaseParityLogs(raidPtr, log); in rf_ShutdownLogging()
589 RF_Raid_t *raidPtr = v; in rf_ParityLoggingDiskManager() local
603 rf_lock_mutex2(raidPtr->parityLogDiskQueue.mutex); in rf_ParityLoggingDiskManager()
610 raidPtr->parityLogDiskQueue.threadState |= RF_PLOG_RUNNING; in rf_ParityLoggingDiskManager()
611 rf_signal_cond2(raidPtr->parityLogDiskQueue.cond); in rf_ParityLoggingDiskManager()
614 flushQueue = raidPtr->parityLogDiskQueue.flushQueue; in rf_ParityLoggingDiskManager()
615 raidPtr->parityLogDiskQueue.flushQueue = NULL; in rf_ParityLoggingDiskManager()
616 reintQueue = raidPtr->parityLogDiskQueue.reintQueue; in rf_ParityLoggingDiskManager()
617 raidPtr->parityLogDiskQueue.reintQueue = NULL; in rf_ParityLoggingDiskManager()
636 rf_unlock_mutex2(raidPtr->parityLogDiskQueue.mutex); in rf_ParityLoggingDiskManager()
641 FlushLogsToDisk(raidPtr, flushQueue); in rf_ParityLoggingDiskManager()
645 ReintegrateLogs(raidPtr, reintQueue); in rf_ParityLoggingDiskManager()
647 rf_lock_mutex2(raidPtr->parityLogDiskQueue.mutex); in rf_ParityLoggingDiskManager()
648 flushQueue = raidPtr->parityLogDiskQueue.flushQueue; in rf_ParityLoggingDiskManager()
649 raidPtr->parityLogDiskQueue.flushQueue = NULL; in rf_ParityLoggingDiskManager()
650 reintQueue = raidPtr->parityLogDiskQueue.reintQueue; in rf_ParityLoggingDiskManager()
651 raidPtr->parityLogDiskQueue.reintQueue = NULL; in rf_ParityLoggingDiskManager()
655 if (raidPtr->parityLogDiskQueue.threadState & RF_PLOG_TERMINATE) { in rf_ParityLoggingDiskManager()
659 rf_unlock_mutex2(raidPtr->parityLogDiskQueue.mutex); in rf_ParityLoggingDiskManager()
660 rf_ShutdownLogging(raidPtr); in rf_ParityLoggingDiskManager()
666 rf_wait_cond2(raidPtr->parityLogDiskQueue.cond, in rf_ParityLoggingDiskManager()
667 raidPtr->parityLogDiskQueue.mutex); in rf_ParityLoggingDiskManager()
670 flushQueue = raidPtr->parityLogDiskQueue.flushQueue; in rf_ParityLoggingDiskManager()
671 raidPtr->parityLogDiskQueue.flushQueue = NULL; in rf_ParityLoggingDiskManager()
672 reintQueue = raidPtr->parityLogDiskQueue.reintQueue; in rf_ParityLoggingDiskManager()
673 raidPtr->parityLogDiskQueue.reintQueue = NULL; in rf_ParityLoggingDiskManager()
680 rf_lock_mutex2(raidPtr->parityLogDiskQueue.mutex); in rf_ParityLoggingDiskManager()
681 raidPtr->parityLogDiskQueue.threadState |= RF_PLOG_SHUTDOWN; in rf_ParityLoggingDiskManager()
682 rf_signal_cond2(raidPtr->parityLogDiskQueue.cond); in rf_ParityLoggingDiskManager()
683 rf_unlock_mutex2(raidPtr->parityLogDiskQueue.mutex); in rf_ParityLoggingDiskManager()