Lines Matching refs:vcb

181 	ExtendedVCB *vcb;
202 vcb = HFSTOVCB(hfsmp);
203 vcb->reserveBlocks = ((u_int64_t)vcb->totalBlocks * HFS_MINFREE) / 100;
204 vcb->reserveBlocks = MIN(vcb->reserveBlocks, HFS_MAXRESERVE / vcb->blockSize);
597 ExtendedVCB *vcb;
608 vcb = HFSTOVCB(args->hfsmp);
640 strlcpy((char *)vcb->vcbVN, (const char *)cp->c_desc.cd_nameptr, NAME_MAX+1);
656 ExtendedVCB *vcb;
664 vcb = HFSTOVCB(hfsmp);
703 if (vcb->vcbSigWord == kHFSPlusSigWord)
708 if (vcb->vcbSigWord == kHFSPlusSigWord)
717 if (vcb->vcbSigWord == kHFSPlusSigWord)
723 if ((vcb->vcbSigWord == kHFSSigWord) &&
782 vcb->volumeNameEncodingHint = args->hfs_encoding;
861 ExtendedVCB *vcb;
868 vcb = HFSTOVCB(hfsmp);
870 if (vcb->vcbSigWord == kHFSSigWord)
897 priIDSector = (daddr64_t)((vcb->hfsPlusIOPosOffset / hfsmp->hfs_logical_block_size) +
916 SWAP_BE32(vhp->blockSize) != vcb->blockSize) {
921 vcb->vcbLsMod = to_bsd_time(SWAP_BE32(vhp->modifyDate));
922 vcb->vcbAtrb = SWAP_BE32 (vhp->attributes);
923 vcb->vcbJinfoBlock = SWAP_BE32(vhp->journalInfoBlock);
924 vcb->vcbClpSiz = SWAP_BE32 (vhp->rsrcClumpSize);
925 vcb->vcbNxtCNID = SWAP_BE32 (vhp->nextCatalogID);
926 vcb->vcbVolBkUp = to_bsd_time(SWAP_BE32(vhp->backupDate));
927 vcb->vcbWrCnt = SWAP_BE32 (vhp->writeCount);
928 vcb->vcbFilCnt = SWAP_BE32 (vhp->fileCount);
929 vcb->vcbDirCnt = SWAP_BE32 (vhp->folderCount);
930 HFS_UPDATE_NEXT_ALLOCATION(vcb, SWAP_BE32 (vhp->nextAllocation));
931 vcb->totalBlocks = SWAP_BE32 (vhp->totalBlocks);
932 vcb->freeBlocks = SWAP_BE32 (vhp->freeBlocks);
933 vcb->encodingsBitmap = SWAP_BE64 (vhp->encodingsBitmap);
934 bcopy(vhp->finderInfo, vcb->vcbFndrInfo, sizeof(vhp->finderInfo));
935 vcb->localCreateDate = SWAP_BE32 (vhp->createDate); /* hfs+ create date is in local time */
940 forkp = VTOF((struct vnode *)vcb->extentsRefNum);
952 forkp = VTOF((struct vnode *)vcb->catalogRefNum);
976 forkp = VTOF((struct vnode *)vcb->allocationsRefNum);
993 forkp = VTOF((struct vnode *)vcb->extentsRefNum);
997 forkp = VTOF((struct vnode *)vcb->catalogRefNum);
1010 vcb->volumeNameEncodingHint = cndesc.cd_encoding;
1011 bcopy(cndesc.cd_nameptr, vcb->vcbVN, min(255, cndesc.cd_namelen));
2435 ExtendedVCB *vcb = VFSTOVCB(mp);
2440 freeCNIDs = (u_int32_t)0xFFFFFFFF - (u_int32_t)vcb->vcbNxtCNID;
2442 sbp->f_bsize = (u_int32_t)vcb->blockSize;
2444 sbp->f_blocks = (u_int64_t)((u_int32_t)vcb->totalBlocks);
2447 sbp->f_files = (u_int64_t)((u_int32_t )(vcb->totalBlocks - 2)); /* max files is constrained by total blocks */
2488 ExtendedVCB *vcb;
2493 vcb = HFSTOVCB(hfsmp);
2496 priIDSector = (daddr64_t)((vcb->hfsPlusIOPosOffset / hfsmp->hfs_logical_block_size) +
2579 ExtendedVCB *vcb;
2614 vcb = HFSTOVCB(hfsmp);
2616 meta_vp[0] = vcb->extentsRefNum;
2617 meta_vp[1] = vcb->catalogRefNum;
2618 meta_vp[2] = vcb->allocationsRefNum; /* This is NULL for standard HFS */
2656 if (vcb->vcbSigWord == kHFSSigWord) {
2670 if (IsVCBDirty(vcb)) {
2911 ExtendedVCB *vcb;
2938 vcb = HFSTOVCB(hfsmp);
2940 if (BTHasContiguousNodes(VTOF(vcb->catalogRefNum)) == 0 ||
2941 BTHasContiguousNodes(VTOF(vcb->extentsRefNum)) == 0) {
2950 if ( GetFileInfo(vcb, kHFSRootFolderID, ".journal_info_block", &jinfo_attr, &jinfo_fork) == 0
2951 || GetFileInfo(vcb, kHFSRootFolderID, ".journal", &jnl_attr, &jnl_fork) == 0) {
3551 ExtendedVCB *vcb = HFSTOVCB(hfsmp);
3571 mdb->drCrDate = SWAP_BE32 (UTCToLocal(to_hfs_time(vcb->hfs_itime)));
3572 mdb->drLsMod = SWAP_BE32 (UTCToLocal(to_hfs_time(vcb->vcbLsMod)));
3573 mdb->drAtrb = SWAP_BE16 (vcb->vcbAtrb);
3574 mdb->drNmFls = SWAP_BE16 (vcb->vcbNmFls);
3575 mdb->drAllocPtr = SWAP_BE16 (vcb->nextAllocation);
3576 mdb->drClpSiz = SWAP_BE32 (vcb->vcbClpSiz);
3577 mdb->drNxtCNID = SWAP_BE32 (vcb->vcbNxtCNID);
3578 mdb->drFreeBks = SWAP_BE16 (vcb->freeBlocks);
3580 namelen = strlen((char *)vcb->vcbVN);
3581 retval = utf8_to_hfs(vcb, namelen, vcb->vcbVN, mdb->drVN);
3584 retval = utf8_to_mac_roman(namelen, vcb->vcbVN, mdb->drVN);
3586 mdb->drVolBkUp = SWAP_BE32 (UTCToLocal(to_hfs_time(vcb->vcbVolBkUp)));
3587 mdb->drWrCnt = SWAP_BE32 (vcb->vcbWrCnt);
3588 mdb->drNmRtDirs = SWAP_BE16 (vcb->vcbNmRtDirs);
3589 mdb->drFilCnt = SWAP_BE32 (vcb->vcbFilCnt);
3590 mdb->drDirCnt = SWAP_BE32 (vcb->vcbDirCnt);
3592 bcopy(vcb->vcbFndrInfo, mdb->drFndrInfo, sizeof(mdb->drFndrInfo));
3594 fp = VTOF(vcb->extentsRefNum);
3601 mdb->drXTFlSize = SWAP_BE32 (fp->ff_blocks * vcb->blockSize);
3605 fp = VTOF(vcb->catalogRefNum);
3612 mdb->drCTFlSize = SWAP_BE32 (fp->ff_blocks * vcb->blockSize);
3616 MarkVCBClean( vcb );
3651 ExtendedVCB *vcb = HFSTOVCB(hfsmp);
3669 priIDSector = (daddr64_t)((vcb->hfsPlusIOPosOffset / hfsmp->hfs_logical_block_size) +
3683 printf("hfs: err %d reading VH blk (%s)\n", retval, vcb->vcbVN);
3698 (SWAP_BE32 (volumeHeader->blockSize) != vcb->blockSize)) {
3700 vcb->vcbVN, signature, hfsversion,
3710 printf("hfs: err %d reading alternate VH (%s)\n", retval, vcb->vcbVN);
3721 (SWAP_BE32(altVH->blockSize) != vcb->blockSize)) {
3723 vcb->vcbVN, signature, hfsversion,
3748 if ((vcb->hfsPlusIOPosOffset != 0) &&
3749 (SWAP_BE32 (volumeHeader->createDate) != vcb->localCreateDate)) {
3764 if ( SWAP_BE32 (mdb->drCrDate) != vcb->localCreateDate )
3770 mdb->drCrDate = SWAP_BE32 (vcb->localCreateDate); /* pick up the new create date */
3788 volumeHeader->attributes = SWAP_BE32 (vcb->vcbAtrb);
3789 volumeHeader->journalInfoBlock = SWAP_BE32 (vcb->vcbJinfoBlock);
3795 volumeHeader->createDate = SWAP_BE32 (vcb->localCreateDate); /* volume create date is in local time */
3796 volumeHeader->modifyDate = SWAP_BE32 (to_hfs_time(vcb->vcbLsMod));
3797 volumeHeader->backupDate = SWAP_BE32 (to_hfs_time(vcb->vcbVolBkUp));
3798 volumeHeader->fileCount = SWAP_BE32 (vcb->vcbFilCnt);
3799 volumeHeader->folderCount = SWAP_BE32 (vcb->vcbDirCnt);
3800 volumeHeader->totalBlocks = SWAP_BE32 (vcb->totalBlocks);
3801 volumeHeader->freeBlocks = SWAP_BE32 (vcb->freeBlocks);
3802 volumeHeader->nextAllocation = SWAP_BE32 (vcb->nextAllocation);
3803 volumeHeader->rsrcClumpSize = SWAP_BE32 (vcb->vcbClpSiz);
3804 volumeHeader->dataClumpSize = SWAP_BE32 (vcb->vcbClpSiz);
3805 volumeHeader->nextCatalogID = SWAP_BE32 (vcb->vcbNxtCNID);
3806 volumeHeader->writeCount = SWAP_BE32 (vcb->vcbWrCnt);
3807 volumeHeader->encodingsBitmap = SWAP_BE64 (vcb->encodingsBitmap);
3809 if (bcmp(vcb->vcbFndrInfo, volumeHeader->finderInfo, sizeof(volumeHeader->finderInfo)) != 0) {
3810 bcopy(vcb->vcbFndrInfo, volumeHeader->finderInfo, sizeof(volumeHeader->finderInfo));
3822 fp = VTOF(vcb->extentsRefNum);
3837 fp = VTOF(vcb->catalogRefNum);
3852 fp = VTOF(vcb->allocationsRefNum);
3964 ExtendedVCB *vcb;
3983 vcb = HFSTOVCB(hfsmp);
3990 if ((vcb->vcbSigWord == kHFSSigWord) ||
3992 (vcb->hfsPlusIOPosOffset != 0)) {
4047 newblkcnt = newsize / vcb->blockSize;
4051 addblks = newblkcnt - vcb->totalBlocks;
4057 printf("hfs_extendfs: will extend \"%s\" by %d blocks\n", vcb->vcbVN, addblks);
4100 vp = vcb->allocationsRefNum;
4108 bitmapblks = roundup((newblkcnt+7) / 8, vcb->vcbVBMIOSize) / vcb->blockSize;
4129 overage_blocks = fp->ff_blocks * vcb->blockSize * 8;
4131 overage_blocks -= vcb->totalBlocks;
4133 BlockMarkFreeUnused(vcb, vcb->totalBlocks, overage_blocks);
4153 error = ExtendFileC(vcb, fp, bitmapblks * vcb->blockSize, 0,
4167 error = AddFileExtent(vcb, fp, vcb->totalBlocks, bitmapblks);
4182 fp->ff_size += (u_int64_t)bitmapblks * (u_int64_t)vcb->blockSize;
4192 error = (int)buf_meta_bread(vp, blkno, vcb->blockSize, NOCRED, &bp);
4199 bzero((char *)buf_dataptr(bp), vcb->blockSize);
4222 error = BlockMarkAllocated(vcb, vcb->totalBlocks, bitmapblks);
4227 vcb->freeBlocks -= bitmapblks;
4233 if (vcb->blockSize == 512)
4234 error = BlockMarkAllocated(vcb, vcb->totalBlocks + addblks - 2, 2);
4236 error = BlockMarkAllocated(vcb, vcb->totalBlocks + addblks - 1, 1);
4244 if (vcb->blockSize == 512)
4245 (void) BlockMarkFree(vcb, vcb->totalBlocks - 2, 2);
4247 (void) BlockMarkFree(vcb, vcb->totalBlocks - 1, 1);
4251 vcb->totalBlocks += addblks;
4252 vcb->freeBlocks += addblks;
4253 MarkVCBDirty(vcb);
4261 (void) TruncateFileC(vcb, fp, oldBitmapSize, 0, FORK_IS_RSRC(fp),
4265 fp->ff_size -= (u_int64_t)bitmapblks * (u_int64_t)vcb->blockSize;
4269 * effect of the "vcb->freeBlocks -= bitmapblks" above.
4271 vcb->freeBlocks += bitmapblks;
4273 vcb->totalBlocks -= addblks;
4274 vcb->freeBlocks -= addblks;
4277 MarkVCBDirty(vcb);
4278 if (vcb->blockSize == 512) {
4279 if (BlockMarkAllocated(vcb, vcb->totalBlocks - 2, 2)) {
4283 if (BlockMarkAllocated(vcb, vcb->totalBlocks - 1, 1)) {
7373 ExtendedVCB *vcb = VFSTOVCB(mp);
7387 VFSATTR_RETURN(fsap, f_bsize, (u_int32_t)vcb->blockSize);
7398 VFSATTR_RETURN(fsap, f_signature, vcb->vcbSigWord);
7563 ExtendedVCB *vcb = VTOVCB(vp);
7609 strlcpy((char *)vcb->vcbVN, name, sizeof(vcb->vcbVN));
7610 volname_length = strlen ((const char*)vcb->vcbVN);
7613 error = utf8_normalizestr(vcb->vcbVN, volname_length, (u_int8_t*)converted_volname, &conv_volname_length, 256, UTF_PRECOMPOSED);
7624 MarkVCBDirty(vcb);
7641 vcb->volumeNameEncodingHint = new_desc.cd_encoding;