Lines Matching refs:vcb

96 	ExtendedVCB *vcb = HFSTOVCB(hfsmp);
120 vcb->vcbSigWord = SWAP_BE16 (mdb->drSigWord);
121 vcb->hfs_itime = to_bsd_time(LocalToUTC(SWAP_BE32(mdb->drCrDate)));
122 vcb->localCreateDate = SWAP_BE32 (mdb->drCrDate);
123 vcb->vcbLsMod = to_bsd_time(LocalToUTC(SWAP_BE32(mdb->drLsMod)));
124 vcb->vcbAtrb = SWAP_BE16 (mdb->drAtrb);
125 vcb->vcbNmFls = SWAP_BE16 (mdb->drNmFls);
126 vcb->vcbVBMSt = SWAP_BE16 (mdb->drVBMSt);
127 vcb->nextAllocation = SWAP_BE16 (mdb->drAllocPtr);
128 vcb->totalBlocks = SWAP_BE16 (mdb->drNmAlBlks);
129 vcb->allocLimit = vcb->totalBlocks;
130 vcb->blockSize = SWAP_BE32 (mdb->drAlBlkSiz);
131 vcb->vcbClpSiz = SWAP_BE32 (mdb->drClpSiz);
132 vcb->vcbAlBlSt = SWAP_BE16 (mdb->drAlBlSt);
133 vcb->vcbNxtCNID = SWAP_BE32 (mdb->drNxtCNID);
134 vcb->freeBlocks = SWAP_BE16 (mdb->drFreeBks);
135 vcb->vcbVolBkUp = to_bsd_time(LocalToUTC(SWAP_BE32(mdb->drVolBkUp)));
136 vcb->vcbWrCnt = SWAP_BE32 (mdb->drWrCnt);
137 vcb->vcbNmRtDirs = SWAP_BE16 (mdb->drNmRtDirs);
138 vcb->vcbFilCnt = SWAP_BE32 (mdb->drFilCnt);
139 vcb->vcbDirCnt = SWAP_BE32 (mdb->drDirCnt);
140 bcopy(mdb->drFndrInfo, vcb->vcbFndrInfo, sizeof(vcb->vcbFndrInfo));
142 vcb->vcbWrCnt++; /* Compensate for write of MDB on last flush */
145 error = hfs_to_utf8(vcb, mdb->drVN, NAME_MAX, &utf8chars, vcb->vcbVN);
151 error = mac_roman_to_utf8(mdb->drVN, NAME_MAX, &utf8chars, vcb->vcbVN);
158 hfsmp->hfs_logBlockSize = BestBlockSizeFit(vcb->blockSize, MAXBSIZE, hfsmp->hfs_logical_block_size);
159 vcb->vcbVBMIOSize = kHFSBlockSize;
179 fork.cf_blocks = fork.cf_size / vcb->blockSize;
216 fork.cf_blocks = fork.cf_size / vcb->blockSize;
270 vcb->vcbAtrb &= ~kHFSVolumeUnmountedMask;
281 if ( !(vcb->vcbAtrb & kHFSVolumeHardwareLockMask)) {
282 MarkVCBDirty (vcb); // mark VCB dirty so it will be written
314 register ExtendedVCB *vcb;
402 vcb = HFSTOVCB(hfsmp);
404 vcb->vcbSigWord = signature;
405 vcb->vcbJinfoBlock = SWAP_BE32(vhp->journalInfoBlock);
406 vcb->vcbLsMod = to_bsd_time(SWAP_BE32(vhp->modifyDate));
407 vcb->vcbAtrb = SWAP_BE32(vhp->attributes);
408 vcb->vcbClpSiz = SWAP_BE32(vhp->rsrcClumpSize);
409 vcb->vcbNxtCNID = SWAP_BE32(vhp->nextCatalogID);
410 vcb->vcbVolBkUp = to_bsd_time(SWAP_BE32(vhp->backupDate));
411 vcb->vcbWrCnt = SWAP_BE32(vhp->writeCount);
412 vcb->vcbFilCnt = SWAP_BE32(vhp->fileCount);
413 vcb->vcbDirCnt = SWAP_BE32(vhp->folderCount);
416 bcopy(vhp->finderInfo, vcb->vcbFndrInfo, sizeof(vhp->finderInfo));
418 vcb->vcbAlBlSt = 0; /* hfs+ allocation blocks start at first block of volume */
420 vcb->vcbWrCnt++; /* compensate for write of Volume Header on last flush */
423 vcb->nextAllocation = SWAP_BE32(vhp->nextAllocation);
424 vcb->totalBlocks = SWAP_BE32(vhp->totalBlocks);
425 vcb->allocLimit = vcb->totalBlocks;
426 vcb->freeBlocks = SWAP_BE32(vhp->freeBlocks);
427 vcb->blockSize = blockSize;
428 vcb->encodingsBitmap = SWAP_BE64(vhp->encodingsBitmap);
429 vcb->localCreateDate = SWAP_BE32(vhp->createDate);
431 vcb->hfsPlusIOPosOffset = embeddedOffset;
434 vcb->reserveBlocks = 0;
441 hfsmp->hfs_logBlockSize = BestBlockSizeFit(vcb->blockSize, MAXBSIZE, hfsmp->hfs_logical_block_size);
442 vcb->vcbVBMIOSize = min(vcb->blockSize, MAXPHYSIO);
448 (((daddr64_t)vcb->totalBlocks * blockSize) /
673 vcb->hfs_itime = cnattr.ca_itime;
674 vcb->volumeNameEncodingHint = cndesc.cd_encoding;
675 bcopy(cndesc.cd_nameptr, vcb->vcbVN, min(255, cndesc.cd_namelen));
676 volname_length = strlen ((const char*)vcb->vcbVN);
683 retval = utf8_normalizestr(vcb->vcbVN, volname_length, (u_int8_t*)converted_volname, &conv_volname_length, 256, UTF_PRECOMPOSED);
692 vcb->vcbAtrb &= ~kHFSVolumeUnmountedMask;
708 if ( (vcb->vcbAtrb & kHFSVolumeJournaledMask)
769 } else if (hfsmp->jnl || ((vcb->vcbAtrb & kHFSVolumeJournaledMask) && (hfsmp->hfs_flags & HFS_READ_ONLY))) {
773 vcb->vcbAtrb &= ~kHFSVolumeJournaledMask;
778 hfsmp->hfs_jnlinfoblkid = GetFileInfo(vcb, kRootDirID, ".journal_info_block", &jinfo_attr, NULL);
779 hfsmp->hfs_jnlfileid = GetFileInfo(vcb, kRootDirID, ".journal", &jnl_attr, NULL);
786 vcb->vcbAtrb |= kHFSVolumeJournaledMask;
804 if (vcb->nextAllocation >= hfsmp->hfs_metazone_start &&
805 vcb->nextAllocation <= hfsmp->hfs_metazone_end) {
809 if (vcb->nextAllocation <= 1) {
810 vcb->nextAllocation = hfsmp->hfs_min_alloc_start;
813 vcb->sparseAllocation = hfsmp->hfs_min_alloc_start;
835 if ( !(vcb->vcbAtrb & kHFSVolumeHardwareLockMask) ) // if the disk is not write protected
837 MarkVCBDirty( vcb ); // mark VCB dirty so it will be written
855 if (vcb->vcbAtrb & kHFSContentProtectionMask) {
1335 GetFileInfo(ExtendedVCB *vcb, __unused u_int32_t dirid, const char *name,
1343 if (vcb->vcbSigWord != kHFSPlusSigWord)
1346 hfsmp = VCBTOHFS(vcb);
1382 ExtendedVCB *vcb;
1400 vcb = HFSTOVCB(hfsmp);
1509 if (TruncateFileC(vcb, (FCB*)&dfork, fsize, 1, 0,
1543 if (TruncateFileC(vcb, (FCB*)&rfork, 0, 1, 1, cnode.c_attr.ca_fileid, false) != 0) {
2306 // journaling bit in the vcb and assume it will get written to disk
2325 ExtendedVCB *vcb;
2333 vcb = HFSTOVCB(hfsmp);
2344 fid = GetFileInfo(vcb, kRootDirID, ".journal_info_block", &jib_attr, &jib_fork);
2348 vcb->vcbAtrb &= ~kHFSVolumeJournaledMask;
2358 vcb->vcbJinfoBlock = jib_fork.cf_extents[0].startBlock;
2367 (vcb->hfsPlusIOPosOffset / hfsmp->hfs_logical_block_size +
2375 vcb->vcbAtrb &= ~kHFSVolumeJournaledMask;
2384 fid = GetFileInfo(vcb, kRootDirID, ".journal", &jattr, &jfork);
2389 vcb->vcbAtrb &= ~kHFSVolumeJournaledMask;
2395 if ((jib_flags & kJIJournalInFSMask) && (jib_offset / (u_int64_t)vcb->blockSize) != jfork.cf_extents[0].startBlock) {
2397 (jib_offset / (u_int64_t)vcb->blockSize), jfork.cf_extents[0].startBlock);
2399 jib_offset = (u_int64_t)jfork.cf_extents[0].startBlock * (u_int64_t)vcb->blockSize;
2405 if (jib_size != (u_int64_t)jfork.cf_extents[0].blockCount*vcb->blockSize) {
2407 jib_size, (u_int64_t)jfork.cf_extents[0].blockCount*vcb->blockSize);
2409 jib_size = (u_int64_t)jfork.cf_extents[0].blockCount * vcb->blockSize;
2416 jib_offset += (off_t)vcb->hfsPlusIOPosOffset;
2592 ExtendedVCB *vcb;
2600 vcb = HFSTOVCB(hfsmp);
2601 fs_size = (u_int64_t)vcb->blockSize * (u_int64_t)vcb->allocLimit;
2724 zonesize = roundup(zonesize, (u_int64_t)vcb->vcbVBMIOSize * 8 * vcb->blockSize);
2725 hfsmp->hfs_min_alloc_start = zonesize / vcb->blockSize;
2761 hfsmp->hfs_catalog_maxblks += (temp - (temp / 3)) / vcb->blockSize;
2763 hfsmp->hfs_hotfile_maxblks = filesize / vcb->blockSize;
2766 blk = zonesize / vcb->blockSize;
2773 hfsmp->hfs_hotfile_start = blk - (filesize / vcb->blockSize);
2788 ExtendedVCB *vcb = HFSTOVCB(hfsmp);
2793 freeblocks = MetaZoneFreeBlocks(vcb);