Lines Matching refs:regionID

160 		printf("[enqueueing parity log data, region %d, raidAddress %d, numSector %d]\n", data->regionID, (int) data->diskAddress.raidAddress, (int) data->diskAddress.numSector);
213 printf("[dequeueing parity log data, region %d, raidAddress %d, numSector %d]\n", data->regionID, (int) data->diskAddress.raidAddress, (int) data->diskAddress.numSector);
239 printf("[requeueing parity log data, region %d, raidAddress %d, numSector %d]\n", data->regionID, (int) data->diskAddress.raidAddress, (int) data->diskAddress.numSector);
302 data->regionID = rf_MapRegionIDParityLogging(raidPtr, diskAddress->startSector);
303 if (data->regionID == rf_MapRegionIDParityLogging(raidPtr, diskAddress->startSector + diskAddress->numSector - 1)) {
315 while (data->regionID == rf_MapRegionIDParityLogging(raidPtr, diskAddress->startSector + boundary))
338 int regionID,
346 * (regionID). If a matching log is not found, return NULL.
356 if (w->regionID == regionID) {
389 printf("[dequeueing parity log data, region %d, raidAddress %d, numSector %d]\n", w->regionID, (int) w->diskAddress.raidAddress, (int) w->diskAddress.numSector);
406 int regionID;
416 regionID = logDataList->regionID;
418 logData->next = rf_SearchAndDequeueParityLogData(raidPtr, regionID, head, tail, RF_TRUE);
421 logData->next = rf_SearchAndDequeueParityLogData(raidPtr, regionID, head, tail, RF_TRUE);
443 log->regionID = logData->regionID;
454 printf("[blocked on log, region %d, finish %d]\n", logData->regionID, finish);
496 printf("[finishing up buf-blocked log data, region %d]\n", logDataList->regionID);
541 int regionID,
548 * specified region (regionID) to indicate that reintegration is in
551 rf_lock_mutex2(raidPtr->regionInfo[regionID].reintMutex);
552 raidPtr->regionInfo[regionID].reintInProgress = RF_TRUE; /* cleared when reint
556 printf("[requesting reintegration of region %d]\n", log->regionID);
561 rf_unlock_mutex2(raidPtr->regionInfo[regionID].reintMutex);
591 int i, diskCount, regionID = logData->regionID;
604 * Caller must hold regionInfo[regionID].mutex
608 RF_ASSERT(rf_owned_mutex2(raidPtr->regionInfo[regionID].mutex));
611 printf("[dumping parity log to disk, region %d]\n", regionID);
612 log = raidPtr->regionInfo[regionID].coreLog;
617 rf_lock_mutex2(raidPtr->regionInfo[regionID].reintMutex);
618 if (raidPtr->regionInfo[regionID].reintInProgress) {
623 printf("[region %d waiting on reintegration]\n", regionID);
630 rf_unlock_mutex2(raidPtr->regionInfo[regionID].reintMutex);
633 rf_unlock_mutex2(raidPtr->regionInfo[regionID].reintMutex);
634 raidPtr->regionInfo[regionID].coreLog = NULL;
635 if ((raidPtr->regionInfo[regionID].diskCount) < raidPtr->regionInfo[regionID].capacity)
640 diskCount = raidPtr->regionInfo[regionID].diskCount;
642 raidPtr->regionInfo[regionID].diskMap[i + diskCount].operation = log->records[i].operation;
643 raidPtr->regionInfo[regionID].diskMap[i + diskCount].parityAddr = log->records[i].parityAddr;
646 raidPtr->regionInfo[regionID].diskCount += raidPtr->numSectorsPerLog;
651 RF_ASSERT(raidPtr->regionInfo[regionID].diskCount == raidPtr->regionInfo[regionID].capacity);
652 ReintLog(raidPtr, regionID, log);
655 printf("[finished dumping parity log to disk, region %d]\n", regionID);
666 int regionID, logItem, itemDone;
693 regionID = logData->regionID;
694 rf_lock_mutex2(raidPtr->regionInfo[regionID].mutex);
695 RF_ASSERT(raidPtr->regionInfo[regionID].loggingEnabled);
700 rf_lock_mutex2(raidPtr->regionInfo[regionID].reintMutex);
703 RF_ASSERT(raidPtr->regionInfo[regionID].reintInProgress == RF_TRUE);
704 raidPtr->regionInfo[regionID].diskCount = 0;
705 raidPtr->regionInfo[regionID].reintInProgress = RF_FALSE;
706 rf_unlock_mutex2(raidPtr->regionInfo[regionID].reintMutex); /* flushing is now
720 printf("[appending parity log data, region %d, raidAddress %d, numSector %d]\n", item->regionID, (int) item->diskAddress.raidAddress, (int) item->diskAddress.numSector);
723 if (regionID != item->regionID) {
724 rf_unlock_mutex2(raidPtr->regionInfo[regionID].mutex);
725 regionID = item->regionID;
726 rf_lock_mutex2(raidPtr->regionInfo[regionID].mutex);
727 RF_ASSERT(raidPtr->regionInfo[regionID].loggingEnabled);
744 if (!raidPtr->regionInfo[regionID].coreLog) {
751 raidPtr->regionInfo[regionID].coreLog = *incomingLog;
752 raidPtr->regionInfo[regionID].coreLog->regionID = regionID;
755 raidPtr->regionInfo[regionID].coreLog = AcquireParityLog(item, finish);
757 raidPtr->regionInfo[regionID].coreLog = AcquireParityLog(item, finish);
761 if (!raidPtr->regionInfo[regionID].coreLog)
764 RF_ASSERT(raidPtr->regionInfo[regionID].coreLog->next == NULL);
769 if (raidPtr->regionInfo[regionID].coreLog->numRecords == raidPtr->numSectorsPerLog) {
780 raidPtr->regionInfo[regionID].coreLog = *incomingLog;
781 raidPtr->regionInfo[regionID].coreLog->regionID = regionID;
784 raidPtr->regionInfo[regionID].coreLog = AcquireParityLog(item, finish);
786 raidPtr->regionInfo[regionID].coreLog = AcquireParityLog(item, finish);
790 if (!raidPtr->regionInfo[regionID].coreLog)
799 RF_ASSERT(raidPtr->regionInfo[regionID].coreLog->next == NULL);
803 log = raidPtr->regionInfo[regionID].coreLog;
807 RF_ASSERT(log->records[logItem].parityAddr.startSector >= raidPtr->regionInfo[regionID].parityStartAddr);
808 RF_ASSERT(log->records[logItem].parityAddr.startSector < raidPtr->regionInfo[regionID].parityStartAddr + raidPtr->regionInfo[regionID].numSectorsParity);
840 printf("[waking process for region %d]\n", item->regionID);
850 rf_unlock_mutex2(raidPtr->regionInfo[regionID].mutex);
860 int regionID;
862 for (regionID = 0; regionID < rf_numParityRegions; regionID++) {
863 rf_lock_mutex2(raidPtr->regionInfo[regionID].mutex);
864 raidPtr->regionInfo[regionID].loggingEnabled = RF_TRUE;
865 rf_unlock_mutex2(raidPtr->regionInfo[regionID].mutex);