Lines Matching refs:ucpi
41 struct ufs_cg_private_info * ucpi; in ufs_free_fragments() local
64 ucpi = ufs_load_cylinder (sb, cgno); in ufs_free_fragments()
65 if (!ucpi) in ufs_free_fragments()
67 ucg = ubh_get_ucg (UCPI_UBH(ucpi)); in ufs_free_fragments()
75 blkmap = ubh_blkmap (UCPI_UBH(ucpi), ucpi->c_freeoff, bbase); in ufs_free_fragments()
78 if (ubh_isclr (UCPI_UBH(ucpi), ucpi->c_freeoff, i)) in ufs_free_fragments()
79 ubh_setbit (UCPI_UBH(ucpi), ucpi->c_freeoff, i); in ufs_free_fragments()
88 blkmap = ubh_blkmap (UCPI_UBH(ucpi), ucpi->c_freeoff, bbase); in ufs_free_fragments()
95 if (ubh_isblockset(UCPI_UBH(ucpi), ucpi->c_freeoff, blkno)) { in ufs_free_fragments()
100 ufs_clusteracct (sb, ucpi, blkno, 1); in ufs_free_fragments()
107 fs16_add(sb, &ubh_cg_blks(ucpi, cylno, in ufs_free_fragments()
109 fs32_add(sb, &ubh_cg_blktot(ucpi, cylno), 1); in ufs_free_fragments()
114 ubh_mark_buffer_dirty (UCPI_UBH(ucpi)); in ufs_free_fragments()
116 ubh_sync_block(UCPI_UBH(ucpi)); in ufs_free_fragments()
136 struct ufs_cg_private_info * ucpi; in ufs_free_blocks() local
171 ucpi = ufs_load_cylinder (sb, cgno); in ufs_free_blocks()
172 if (!ucpi) in ufs_free_blocks()
174 ucg = ubh_get_ucg (UCPI_UBH(ucpi)); in ufs_free_blocks()
182 if (ubh_isblockset(UCPI_UBH(ucpi), ucpi->c_freeoff, blkno)) { in ufs_free_blocks()
185 ubh_setblock(UCPI_UBH(ucpi), ucpi->c_freeoff, blkno); in ufs_free_blocks()
187 ufs_clusteracct (sb, ucpi, blkno, 1); in ufs_free_blocks()
196 fs16_add(sb, &ubh_cg_blks(ucpi, cylno, in ufs_free_blocks()
198 fs32_add(sb, &ubh_cg_blktot(ucpi, cylno), 1); in ufs_free_blocks()
203 ubh_mark_buffer_dirty (UCPI_UBH(ucpi)); in ufs_free_blocks()
205 ubh_sync_block(UCPI_UBH(ucpi)); in ufs_free_blocks()
502 struct ufs_cg_private_info * ucpi; in ufs_add_fragments() local
518 ucpi = ufs_load_cylinder (sb, cgno); in ufs_add_fragments()
519 if (!ucpi) in ufs_add_fragments()
521 ucg = ubh_get_ucg (UCPI_UBH(ucpi)); in ufs_add_fragments()
531 if (ubh_isclr (UCPI_UBH(ucpi), ucpi->c_freeoff, fragno + i)) in ufs_add_fragments()
538 if (ubh_isclr (UCPI_UBH(ucpi), ucpi->c_freeoff, fragno + i)) in ufs_add_fragments()
548 ubh_clrbit (UCPI_UBH(ucpi), ucpi->c_freeoff, fragno + i); in ufs_add_fragments()
555 ubh_mark_buffer_dirty (UCPI_UBH(ucpi)); in ufs_add_fragments()
557 ubh_sync_block(UCPI_UBH(ucpi)); in ufs_add_fragments()
578 struct ufs_cg_private_info * ucpi; in ufs_alloc_fragments() local
621 ucpi = ufs_load_cylinder (sb, cgno); in ufs_alloc_fragments()
622 if (!ucpi) in ufs_alloc_fragments()
624 ucg = ubh_get_ucg (UCPI_UBH(ucpi)); in ufs_alloc_fragments()
631 result = ufs_alloccg_block (inode, ucpi, goal, err); in ufs_alloc_fragments()
642 result = ufs_alloccg_block (inode, ucpi, goal, err); in ufs_alloc_fragments()
647 ubh_setbit (UCPI_UBH(ucpi), ucpi->c_freeoff, goal + i); in ufs_alloc_fragments()
657 result = ufs_bitmap_search (sb, ucpi, goal, allocsize); in ufs_alloc_fragments()
661 ubh_clrbit (UCPI_UBH(ucpi), ucpi->c_freeoff, result + i); in ufs_alloc_fragments()
673 ubh_mark_buffer_dirty (UCPI_UBH(ucpi)); in ufs_alloc_fragments()
675 ubh_sync_block(UCPI_UBH(ucpi)); in ufs_alloc_fragments()
684 struct ufs_cg_private_info *ucpi, in ufs_alloccg_block() argument
696 ucg = ubh_get_ucg(UCPI_UBH(ucpi)); in ufs_alloccg_block()
699 goal = ucpi->c_rotor; in ufs_alloccg_block()
708 if (ubh_isblockset(UCPI_UBH(ucpi), ucpi->c_freeoff, ufs_fragstoblks(goal))) { in ufs_alloccg_block()
714 result = ufs_bitmap_search (sb, ucpi, goal, uspi->s_fpb); in ufs_alloccg_block()
717 ucpi->c_rotor = result; in ufs_alloccg_block()
720 ubh_clrblock (UCPI_UBH(ucpi), ucpi->c_freeoff, blkno); in ufs_alloccg_block()
722 ufs_clusteracct (sb, ucpi, blkno, -1); in ufs_alloccg_block()
726 fs32_sub(sb, &UFS_SB(sb)->fs_cs(ucpi->c_cgx).cs_nbfree, 1); in ufs_alloccg_block()
731 fs16_sub(sb, &ubh_cg_blks(ucpi, cylno, in ufs_alloccg_block()
733 fs32_sub(sb, &ubh_cg_blktot(ucpi, cylno), 1); in ufs_alloccg_block()
777 struct ufs_cg_private_info *ucpi, in ufs_bitmap_search() argument
795 UFSD("ENTER, cg %u, goal %llu, count %u\n", ucpi->c_cgx, in ufs_bitmap_search()
801 start = ucpi->c_frotor >> 3; in ufs_bitmap_search()
804 loc = ubh_scanc(uspi, UCPI_UBH(ucpi), ucpi->c_freeoff + start, length, in ufs_bitmap_search()
809 loc = ubh_scanc(uspi, UCPI_UBH(ucpi), ucpi->c_freeoff, length, in ufs_bitmap_search()
817 ucpi->c_cgx, start, length, count, in ufs_bitmap_search()
818 ucpi->c_freeoff); in ufs_bitmap_search()
824 ucpi->c_frotor = result; in ufs_bitmap_search()
831 blockmap = ubh_blkmap(UCPI_UBH(ucpi), ucpi->c_freeoff, result); in ufs_bitmap_search()
847 ucpi->c_cgx); in ufs_bitmap_search()
853 struct ufs_cg_private_info * ucpi, unsigned blkno, int cnt) in ufs_clusteracct() argument
863 ubh_setbit(UCPI_UBH(ucpi), ucpi->c_clusteroff, blkno); in ufs_clusteracct()
865 ubh_clrbit(UCPI_UBH(ucpi), ucpi->c_clusteroff, blkno); in ufs_clusteracct()
872 if ( end >= ucpi->c_nclusterblks) in ufs_clusteracct()
873 end = ucpi->c_nclusterblks; in ufs_clusteracct()
874 i = ubh_find_next_zero_bit (UCPI_UBH(ucpi), ucpi->c_clusteroff, end, start); in ufs_clusteracct()
886 i = ubh_find_last_zero_bit (UCPI_UBH(ucpi), ucpi->c_clusteroff, start, end); in ufs_clusteracct()
898 fs32_add(sb, (__fs32*)ubh_get_addr(UCPI_UBH(ucpi), ucpi->c_clustersumoff + (i << 2)), cnt); in ufs_clusteracct()
900 fs32_sub(sb, (__fs32*)ubh_get_addr(UCPI_UBH(ucpi), ucpi->c_clustersumoff + (back << 2)), cnt); in ufs_clusteracct()
902 fs32_sub(sb, (__fs32*)ubh_get_addr(UCPI_UBH(ucpi), ucpi->c_clustersumoff + (forw << 2)), cnt); in ufs_clusteracct()