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