Lines Matching defs:vcb

116 	const ExtendedVCB		*vcb,
126 const ExtendedVCB *vcb,
132 ExtendedVCB *vcb,
143 ExtendedVCB *vcb,
153 ExtendedVCB *vcb,
162 ExtendedVCB *vcb,
168 ExtendedVCB *vcb,
175 ExtendedVCB *vcb,
182 ExtendedVCB *vcb,
203 // vcb Volume to search
218 const ExtendedVCB *vcb,
236 fcb = GetFileControlBlock(vcb->extentsRefNum);
244 if (vcb->vcbSigWord == kHFSSigWord) {
352 ExtendedVCB *vcb,
379 lockflags = hfs_systemfile_lock(vcb, SFL_EXTENTS, HFS_EXCLUSIVE_LOCK);
381 if (vcb->vcbSigWord == kHFSSigWord) {
408 err = BTInsertRecord(GetFileControlBlock(vcb->extentsRefNum), btIterator, &btRecord, btRecordSize);
413 (void) BTFlushPath(GetFileControlBlock(vcb->extentsRefNum));
415 hfs_systemfile_unlock(vcb, lockflags);
423 const ExtendedVCB *vcb,
439 if (vcb->vcbSigWord == kHFSSigWord) {
459 err = BTDeleteRecord(GetFileControlBlock(vcb->extentsRefNum), btIterator);
460 (void) BTFlushPath(GetFileControlBlock(vcb->extentsRefNum));
478 ExtendedVCB *vcb, // volume that file resides on
500 allocBlockSize = vcb->blockSize;
501 sectorSize = VCBTOHFS(vcb)->hfs_logical_block_size;
503 err = SearchExtentFile(vcb, fcb, offset, &foundKey, foundData, &foundIndex, &hint, &nextFABN);
534 if (vcb->vcbSigWord == kHFSPlusSigWord)
535 temp += vcb->hfsPlusIOPosOffset / sectorSize;
537 temp += vcb->vcbAlBlSt;
575 ExtendedVCB *vcb,
587 if (vcb->vcbSigWord == kHFSPlusSigWord)
605 err = BlockDeallocate( vcb, extentRecord[extentIndex].startBlock, numAllocationBlocks , 0);
625 // vcb Volume to operate on
632 ExtendedVCB *vcb,
653 lockflags = hfs_systemfile_lock(vcb, SFL_EXTENTS, HFS_EXCLUSIVE_LOCK);
656 err = FindExtentRecord(vcb, forkType, fileID, startBlock, false, &key, extents, &hint);
663 err = ReleaseExtents( vcb, extents, &numberExtentsReleased, &releasedLastExtent );
666 err = DeleteExtentRecord(vcb, forkType, fileID, startBlock);
672 hfs_systemfile_unlock(vcb, lockflags);
686 ExtendedVCB *vcb,
697 err = ReleaseExtents( vcb, catalogExtents, &numReleasedAllocationBlocks, &releasedLastExtent );
700 err = TruncateExtents(vcb, forkType, fileID, numReleasedAllocationBlocks, recordDeleted);
711 OSErr FlushExtentFile( ExtendedVCB *vcb )
717 fcb = GetFileControlBlock(vcb->extentsRefNum);
719 lockflags = hfs_systemfile_lock(vcb, SFL_EXTENTS, HFS_EXCLUSIVE_LOCK);
721 hfs_systemfile_unlock(vcb, lockflags);
729 MarkVCBDirty( vcb );
730 // err = FlushVolumeControlBlock( vcb );
871 AddFileExtent(ExtendedVCB *vcb, FCB *fcb, u_int32_t startBlock, u_int32_t blockCount)
882 peof = (int64_t)(fcb->ff_blocks + blockCount) * (int64_t)vcb->blockSize;
884 error = SearchExtentFile(vcb, fcb, peof-1, &foundKey, foundData, &foundIndex, &hint, &nextBlock);
914 error = CreateExtentRecord(vcb, &foundKey, foundData, &hint);
923 error = UpdateExtentRecord(vcb, fcb, 0, &foundKey, foundData, hint);
925 (void) FlushExtentFile(vcb);
940 ExtendedVCB *vcb, // volume that file resides on
973 volumeBlockSize = vcb->blockSize;
978 if (vcb->vcbSigWord == kHFSPlusSigWord)
986 if (vcb->vcbSigWord == kHFSSigWord) {
1003 && (vcb->vcbSigWord == kHFSPlusSigWord)
1005 && (blocksToAdd < hfs_freeblks(VCBTOHFS(vcb), 1))) {
1006 HFS_MOUNT_LOCK(vcb, TRUE);
1007 vcb->loanedBlocks += blocksToAdd;
1008 HFS_MOUNT_UNLOCK(vcb, TRUE);
1031 HFS_MOUNT_LOCK(vcb, TRUE);
1032 vcb->loanedBlocks -= loanedBlocks;
1033 HFS_MOUNT_UNLOCK(vcb, TRUE);
1041 if ((vcb->vcbClpSiz > (int32_t)volumeBlockSize)
1044 maximumBytes = (int64_t)howmany(bytesToAdd, vcb->vcbClpSiz);
1045 maximumBytes *= vcb->vcbClpSiz;
1053 if ( (vcb->vcbSigWord == kHFSSigWord) && // Too big?
1068 (blocksToAdd > hfs_freeblks(VCBTOHFS(vcb), flags & kEFReserveMask))) {
1077 err = SearchExtentFile(vcb, fcb, peof-1, &foundKey, foundData, &foundIndex, &hint, &nextBlock);
1118 if ( (vcb->hfs_flags & HFS_HAS_SPARSE_DEVICE)
1126 if (hfs_isrbtree_active(VCBTOHFS(vcb))) {
1144 if ((vcb->hfs_flags & HFS_DID_CONTIG_SCAN) == 0) {
1145 vcb->hfs_flags |= HFS_DID_CONTIG_SCAN;
1164 availbytes = (int64_t)hfs_freeblks(VCBTOHFS(vcb), flags & kEFReserveMask) *
1173 vcb,
1212 err = UpdateExtentRecord(vcb, fcb, 0, &foundKey, foundData, hint);
1224 (void) BlockDeallocate(vcb, actualStartBlock, actualNumBlocks, 0);
1250 err = CreateExtentRecord(vcb, &foundKey, foundData, &hint);
1255 (void) BlockDeallocate(vcb, actualStartBlock, actualNumBlocks, 0);
1266 err = UpdateExtentRecord(vcb, fcb, 0, &foundKey, foundData, hint);
1299 if (VCBTOHFS(vcb)->hfs_flags & HFS_METADATA_ZONE) {
1301 if (vcb->nextAllocation >= VCBTOHFS(vcb)->hfs_metazone_start &&
1302 vcb->nextAllocation <= VCBTOHFS(vcb)->hfs_metazone_end) {
1303 HFS_MOUNT_LOCK(vcb, TRUE);
1304 HFS_UPDATE_NEXT_ALLOCATION(vcb, VCBTOHFS(vcb)->hfs_metazone_end + 1);
1305 MarkVCBDirty(vcb);
1306 HFS_MOUNT_UNLOCK(vcb, TRUE);
1316 (void) FlushExtentFile(vcb);
1339 ExtendedVCB *vcb, // volume that file resides on
1366 if (vcb->vcbSigWord == kHFSPlusSigWord) {
1388 nextBlock = howmany(peof, vcb->blockSize); // number of allocation blocks to remain in file
1389 peof = (int64_t)((int64_t)nextBlock * (int64_t)vcb->blockSize); // number of bytes in those blocks
1390 if ((vcb->vcbSigWord == kHFSSigWord) && (peof >= kTwoGigabytes)) {
1404 numBlocks = peof / vcb->blockSize;
1428 err = DeallocateFork(vcb, fileid, forkType, fcb->fcbExtents, &recordDeleted);
1447 err = SearchExtentFile(vcb, fcb, peof-1, &key, extentRecord, &extentIndex, &hint, &extentNextBlock);
1462 err = BlockDeallocate(vcb, startBlock, numBlocks, 0);
1486 err = BlockDeallocate(vcb, extentRecord[extentIndex].startBlock, numBlocks, 0);
1504 err = UpdateExtentRecord(vcb, fcb, deleted, &key, extentRecord, hint);
1514 err = TruncateExtents(vcb, forkType, fileid, nextBlock, &recordDeleted);
1519 (void) FlushExtentFile(vcb);
1530 ExtendedVCB *vcb,
1546 if (vcb->vcbSigWord != kHFSPlusSigWord)
1565 error = BlockDeallocate(vcb, fcb->fcbExtents[i].startBlock, blkcnt, 0);
1595 lockflags = hfs_systemfile_lock(vcb, SFL_EXTENTS, HFS_EXCLUSIVE_LOCK);
1603 error = FindExtentRecord(vcb, forkType, fileID, startblk, false, NULL, extents, NULL);
1623 error = BlockDeallocate(vcb, extents[i].startBlock, blkcnt, 0);
1638 error = DeleteExtentRecord(vcb, forkType, fileID, startblk);
1650 hfs_systemfile_unlock(vcb, lockflags);
1662 (void) FlushExtentFile(vcb);
1694 ExtendedVCB *vcb,
1712 if (vcb->vcbSigWord == kHFSPlusSigWord)
1772 // Input: vcb - VCB pointer
1795 ExtendedVCB *vcb,
1810 temp64 = filePosition / (int64_t)vcb->blockSize;
1816 err = SearchExtentRecord( vcb, filePositionBlock, foundExtentData, 0,
1841 lockflags = hfs_systemfile_lock(vcb, SFL_EXTENTS, HFS_EXCLUSIVE_LOCK);
1843 err = FindExtentRecord(vcb, FORK_IS_RSRC(fcb) ? kResourceForkType : kDataForkType,
1845 hfs_systemfile_unlock(vcb, lockflags);
1868 err = SearchExtentRecord(vcb, filePositionBlock, foundExtentData, foundExtentKey->startBlock,
1885 // Input: vcb - the volume containing the extents
1898 static OSErr UpdateExtentRecord (ExtendedVCB *vcb, FCB *fcb, int deleted,
1921 btFCB = GetFileControlBlock(vcb->extentsRefNum);
1936 lockflags = hfs_systemfile_lock(vcb, SFL_EXTENTS, HFS_EXCLUSIVE_LOCK);
1938 if (vcb->vcbSigWord == kHFSSigWord) {
1984 hfs_systemfile_unlock(vcb, lockflags);
2084 ExtendedVCB *vcb,
2099 if (vcb->blockSize >= nodeSize)
2102 mask = (nodeSize / vcb->blockSize) - 1;
2110 (int64_t)((int64_t)blocksChecked * (int64_t)vcb->blockSize) >= (int64_t)fcb->ff_size)
2115 lockflags = hfs_systemfile_lock(vcb, SFL_EXTENTS, HFS_EXCLUSIVE_LOCK);
2120 result = FindExtentRecord(vcb, kDataForkType, fcb->ff_cp->c_fileid, startBlock, FALSE, &key, extents, &hint);
2124 hfs_systemfile_unlock(vcb, lockflags);
2129 hfs_systemfile_unlock(vcb, lockflags);