• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/hfs-226.1.1/fsck_hfs/dfalib/

Lines Matching defs:vcb

106 	SVCB *vcb = GPtr->calculatedVCB;
113 err = GetVolumeBlock(vcb, kIDSector, kGetBlock, &block);
132 (void) ReleaseVolumeBlock(vcb, &block, kReleaseBlock);
133 err = GetVolumeBlock(vcb, vhSector, kGetBlock, &block);
163 (void) ReleaseVolumeBlock(vcb, &block, rbOptions);
193 SVCB *vcb = GPtr->calculatedVCB;
205 err = GetVolumeBlock(vcb, kIDSector, kGetBlock, &block);
228 (void) ReleaseVolumeBlock(vcb, &block, kReleaseBlock);
229 err = GetVolumeBlock(vcb, vhSector, kGetBlock, &block);
250 (void)ReleaseVolumeBlock(vcb, &block, rbOptions);
463 SVCB *vcb;
466 vcb = GPtr->calculatedVCB;
580 (void) ReleaseVolumeBlock(vcb, &block, rbOptions);
612 SVCB *vcb = GPtr->calculatedVCB;
668 (void) ReleaseVolumeBlock( vcb, &myBlockDescriptor, kReleaseBlock );
703 vcb->vcbSignature = kHFSPlusSigWord;
706 vcb->vcbAlBlSt = myVOPtr->embeddedOffset / 512;
707 vcb->vcbEmbeddedOffset = myVOPtr->embeddedOffset;
710 vcb->vcbNextCatalogID = myVHBPtr->nextCatalogID;
711 vcb->vcbCreateDate = myVHBPtr->createDate;
712 vcb->vcbAttributes = myVHBPtr->attributes & kHFSCatalogNodeIDsReused;
715 vcb->vcbAttributesFile = NULL; /* XXX memory leak ? */
719 btcb = (BTreeControlBlock *) vcb->vcbExtentsFile->fcbBtree;
742 vcb->vcbSignature = myMDBPtr->drSigWord;
745 vcb->vcbNextCatalogID = myMDBPtr->drNxtCNID;
746 vcb->vcbCreateDate = myMDBPtr->drCrDate;
764 vcb->vcbBlockSize = realAllocationBlockSize;
785 vcb->vcbTotalBlocks = realTotalBlocks;
786 vcb->vcbFreeBlocks = 0;
810 vcb->vcbVBMSt = myMDBPtr->drVBMSt;
817 vcb->vcbAlBlSt = myMDBPtr->drAlBlSt;
822 (void) ReleaseVolumeBlock(vcb, &myBlockDescriptor, kReleaseBlock);
1015 SVCB * vcb;
1023 vcb = GPtr->calculatedVCB;
1172 (void) ReleaseVolumeBlock(vcb, &block, kReleaseBlock);
1309 SVCB *vcb;
1319 vcb = GPtr->calculatedVCB;
1339 (void) ReleaseVolumeBlock(vcb, &block, kReleaseBlock);
1363 SVCB * vcb;
1371 vcb = GPtr->calculatedVCB;
1468 if (alternateMDB->drCTFlSize != ((UInt64)numABlks * (UInt64)vcb->vcbBlockSize)) // check out the PEOF
1563 (void) ReleaseVolumeBlock(vcb, &block, kReleaseBlock);
1585 SVCB * vcb;
1593 vcb = GPtr->calculatedVCB;
1620 if (vcb->vcbBlockSize < fscache.BlockSize)
1621 (void) SetFileBlockSize (fcb, vcb->vcbBlockSize);
1652 (void) ReleaseVolumeBlock(vcb, &block, kReleaseBlock);
2057 SVCB * vcb;
2068 vcb = GPtr->calculatedVCB;
2201 (void) ReleaseVolumeBlock(vcb, &block, kReleaseBlock);
3078 SVCB *vcb;
3085 vcb = GPtr->calculatedVCB;
3174 maxClump = (UInt64) (vcb->vcbTotalBlocks / 4) * vcb->vcbBlockSize; /* max clump = 1/4 volume size */
3177 vcb->vcbCreateDate = alternateVolumeHeader->createDate; // use creation date in alt MDB
3178 vcb->vcbModifyDate = volumeHeader->modifyDate; // don't change last mod date
3179 vcb->vcbCheckedDate = volumeHeader->checkedDate; // don't change checked date
3182 vcb->vcbAttributes = volumeHeader->attributes;
3185 if ( volumeHeader->nextAllocation < vcb->vcbTotalBlocks )
3186 vcb->vcbNextAllocation = volumeHeader->nextAllocation;
3188 vcb->vcbNextAllocation = 0;
3193 ((volumeHeader->rsrcClumpSize % vcb->vcbBlockSize) == 0) )
3194 vcb->vcbRsrcClumpSize = volumeHeader->rsrcClumpSize;
3197 ((alternateVolumeHeader->rsrcClumpSize % vcb->vcbBlockSize) == 0) )
3198 vcb->vcbRsrcClumpSize = alternateVolumeHeader->rsrcClumpSize;
3199 else if (4ULL * vcb->vcbBlockSize <= kMaxClumpSize)
3200 vcb->vcbRsrcClumpSize = 4 * vcb->vcbBlockSize;
3202 vcb->vcbRsrcClumpSize = vcb->vcbBlockSize; /* for very large volumes, just use 1 allocation block */
3204 if ( vcb->vcbRsrcClumpSize > kMaxClumpSize )
3205 vcb->vcbRsrcClumpSize = vcb->vcbBlockSize; /* for very large volumes, just use 1 allocation block */
3208 ((volumeHeader->dataClumpSize % vcb->vcbBlockSize) == 0) )
3209 vcb->vcbDataClumpSize = volumeHeader->dataClumpSize;
3212 ((alternateVolumeHeader->dataClumpSize % vcb->vcbBlockSize) == 0) )
3213 vcb->vcbDataClumpSize = alternateVolumeHeader->dataClumpSize;
3214 else if (4ULL * vcb->vcbBlockSize <= kMaxClumpSize)
3215 vcb->vcbDataClumpSize = 4 * vcb->vcbBlockSize;
3217 vcb->vcbDataClumpSize = vcb->vcbBlockSize; /* for very large volumes, just use 1 allocation block */
3219 if ( vcb->vcbDataClumpSize > kMaxClumpSize )
3220 vcb->vcbDataClumpSize = vcb->vcbBlockSize; /* for very large volumes, just use 1 allocation block */
3223 * If volumeHeader->nextCatalogID < vcb->vcbNextCatalogID, probably
3225 * If volumeHeader->nextCatalogID > vcb->vcbNextCatalogID, probably
3229 if ( (volumeHeader->nextCatalogID > vcb->vcbNextCatalogID) )
3230 vcb->vcbNextCatalogID = volumeHeader->nextCatalogID;
3237 vcb->vcbBackupDate = volumeHeader->backupDate; /* don't change last backup date */
3240 vcb->vcbWriteCount = volumeHeader->writeCount; /* don't change write count */
3243 if ( ((volumeHeader->extentsFile.clumpSize % vcb->vcbBlockSize) == 0) &&
3245 vcb->vcbExtentsFile->fcbClumpSize = volumeHeader->extentsFile.clumpSize;
3246 else if ( ((alternateVolumeHeader->extentsFile.clumpSize % vcb->vcbBlockSize) == 0) &&
3248 vcb->vcbExtentsFile->fcbClumpSize = alternateVolumeHeader->extentsFile.clumpSize;
3250 vcb->vcbExtentsFile->fcbClumpSize =
3251 (alternateVolumeHeader->extentsFile.extents[0].blockCount * vcb->vcbBlockSize);
3254 if ( ((volumeHeader->catalogFile.clumpSize % vcb->vcbBlockSize) == 0) &&
3256 vcb->vcbCatalogFile->fcbClumpSize = volumeHeader->catalogFile.clumpSize;
3257 else if ( ((alternateVolumeHeader->catalogFile.clumpSize % vcb->vcbBlockSize) == 0) &&
3259 vcb->vcbCatalogFile->fcbClumpSize = alternateVolumeHeader->catalogFile.clumpSize;
3261 vcb->vcbCatalogFile->fcbClumpSize =
3262 (alternateVolumeHeader->catalogFile.extents[0].blockCount * vcb->vcbBlockSize);
3265 if ( ((volumeHeader->allocationFile.clumpSize % vcb->vcbBlockSize) == 0) &&
3267 vcb->vcbAllocationFile->fcbClumpSize = volumeHeader->allocationFile.clumpSize;
3268 else if ( ((alternateVolumeHeader->allocationFile.clumpSize % vcb->vcbBlockSize) == 0) &&
3270 vcb->vcbAllocationFile->fcbClumpSize = alternateVolumeHeader->allocationFile.clumpSize;
3272 vcb->vcbAllocationFile->fcbClumpSize =
3273 (alternateVolumeHeader->allocationFile.extents[0].blockCount * vcb->vcbBlockSize);
3276 if (vcb->vcbAttributesFile) {
3277 if ( ((volumeHeader->attributesFile.clumpSize % vcb->vcbBlockSize) == 0) &&
3280 vcb->vcbAttributesFile->fcbClumpSize = volumeHeader->attributesFile.clumpSize;
3281 else if ( ((alternateVolumeHeader->attributesFile.clumpSize % vcb->vcbBlockSize) == 0) &&
3284 vcb->vcbAttributesFile->fcbClumpSize = alternateVolumeHeader->attributesFile.clumpSize;
3285 else if (vcb->vcbCatalogFile->fcbClumpSize != 0)
3287 vcb->vcbAttributesFile->fcbClumpSize = vcb->vcbCatalogFile->fcbClumpSize;
3289 vcb->vcbAttributesFile->fcbClumpSize =
3290 alternateVolumeHeader->attributesFile.extents[0].blockCount * vcb->vcbBlockSize;
3293 CopyMemory( volumeHeader->finderInfo, vcb->vcbFinderInfo, sizeof(vcb->vcbFinderInfo) );
3295 // Now compare verified Volume Header info (in the form of a vcb) with Volume Header info on disk
3314 maxClump = (UInt64) (vcb->vcbTotalBlocks / 4) * vcb->vcbBlockSize; /* max clump = 1/4 volume size */
3317 vcb->vcbCreateDate = alternateMDB->drCrDate; /* use creation date in alt MDB */
3318 vcb->vcbModifyDate = mdbP->drLsMod; /* don't change last mod date */
3322 vcb->vcbAttributes = mdbP->drAtrb;
3324 vcb->vcbAttributes = VAtrb_DFlt;
3327 if ( mdbP->drAllocPtr < vcb->vcbTotalBlocks )
3328 vcb->vcbNextAllocation = mdbP->drAllocPtr;
3330 vcb->vcbNextAllocation = 0;
3335 ((mdbP->drClpSiz % vcb->vcbBlockSize) == 0) )
3336 vcb->vcbDataClumpSize = mdbP->drClpSiz;
3339 ((alternateMDB->drClpSiz % vcb->vcbBlockSize) == 0) )
3340 vcb->vcbDataClumpSize = alternateMDB->drClpSiz;
3342 vcb->vcbDataClumpSize = 4 * vcb->vcbBlockSize;
3344 if ( vcb->vcbDataClumpSize > kMaxClumpSize )
3345 vcb->vcbDataClumpSize = vcb->vcbBlockSize; /* for very large volumes, just use 1 allocation block */
3348 if ( (mdbP->drNxtCNID > vcb->vcbNextCatalogID) && (mdbP->drNxtCNID <= (vcb->vcbNextCatalogID + 4096)) )
3349 vcb->vcbNextCatalogID = mdbP->drNxtCNID;
3352 result = ChkCName( GPtr, (const CatalogName*) &vcb->vcbVN, isHFSPlus );
3354 if ( CmpBlock( mdbP->drVN, vcb->vcbVN, vcb->vcbVN[0] + 1 ) == 0 )
3355 CopyMemory( mdbP->drVN, vcb->vcbVN, kHFSMaxVolumeNameChars + 1 ); /* ...we have a good one */
3358 vcb->vcbBackupDate = mdbP->drVolBkUp; /* don't change last backup date */
3359 vcb->vcbVSeqNum = mdbP->drVSeqNum; /* don't change last backup sequence # */
3362 vcb->vcbWriteCount = mdbP->drWrCnt; /* don't change write count */
3365 if ( ((mdbP->drXTClpSiz % vcb->vcbBlockSize) == 0) && (mdbP->drXTClpSiz <= maxClump) )
3366 vcb->vcbExtentsFile->fcbClumpSize = mdbP->drXTClpSiz;
3367 else if ( ((alternateMDB->drXTClpSiz % vcb->vcbBlockSize) == 0) && (alternateMDB->drXTClpSiz <= maxClump) )
3368 vcb->vcbExtentsFile->fcbClumpSize = alternateMDB->drXTClpSiz;
3370 vcb->vcbExtentsFile->fcbClumpSize = (alternateMDB->drXTExtRec[0].blockCount * vcb->vcbBlockSize);
3372 if ( ((mdbP->drCTClpSiz % vcb->vcbBlockSize) == 0) && (mdbP->drCTClpSiz <= maxClump) )
3373 vcb->vcbCatalogFile->fcbClumpSize = mdbP->drCTClpSiz;
3374 else if ( ((alternateMDB->drCTClpSiz % vcb->vcbBlockSize) == 0) && (alternateMDB->drCTClpSiz <= maxClump) )
3375 vcb->vcbCatalogFile->fcbClumpSize = alternateMDB->drCTClpSiz;
3377 vcb->vcbCatalogFile->fcbClumpSize = (alternateMDB->drCTExtRec[0].blockCount * vcb->vcbBlockSize);
3380 CopyMemory(mdbP->drFndrInfo, vcb->vcbFinderInfo, sizeof(mdbP->drFndrInfo));
3388 (void) ReleaseVolumeBlock(vcb, &priBlock, kReleaseBlock);
3390 (void) ReleaseVolumeBlock(vcb, &altBlock, kReleaseBlock);
3625 CheckPhysicalMatch(SVCB *vcb, UInt32 startblk, UInt32 blkcount, UInt32 fileNumber, UInt8 forkType)
3631 offset = (u_int64_t) startblk * (u_int64_t) vcb->vcbBlockSize;
3633 if (vcb->vcbSignature == kHFSPlusSigWord)
3634 offset += vcb->vcbEmbeddedOffset; // offset into the wrapper
3636 offset += vcb->vcbAlBlSt * 512ULL; // offset to start of volume
3639 blk2 = blk1 + ((blkcount * vcb->vcbBlockSize) / gBlockSize);