Lines Matching refs:ucpi
42 struct ufs_cg_private_info * ucpi;
66 ucpi = ufs_load_cylinder (sb, cgno);
67 if (!ucpi)
69 ucg = ubh_get_ucg (UCPI_UBH(ucpi));
77 blkmap = ubh_blkmap (UCPI_UBH(ucpi), ucpi->c_freeoff, bbase);
80 if (ubh_isclr (UCPI_UBH(ucpi), ucpi->c_freeoff, i))
81 ubh_setbit (UCPI_UBH(ucpi), ucpi->c_freeoff, i);
90 blkmap = ubh_blkmap (UCPI_UBH(ucpi), ucpi->c_freeoff, bbase);
97 if (ubh_isblockset(UCPI_UBH(ucpi), ucpi->c_freeoff, blkno)) {
102 ufs_clusteracct (sb, ucpi, blkno, 1);
109 fs16_add(sb, &ubh_cg_blks(ucpi, cylno,
111 fs32_add(sb, &ubh_cg_blktot(ucpi, cylno), 1);
116 ubh_mark_buffer_dirty (UCPI_UBH(ucpi));
118 ubh_sync_block(UCPI_UBH(ucpi));
139 struct ufs_cg_private_info * ucpi;
175 ucpi = ufs_load_cylinder (sb, cgno);
176 if (!ucpi)
178 ucg = ubh_get_ucg (UCPI_UBH(ucpi));
186 if (ubh_isblockset(UCPI_UBH(ucpi), ucpi->c_freeoff, blkno)) {
189 ubh_setblock(UCPI_UBH(ucpi), ucpi->c_freeoff, blkno);
191 ufs_clusteracct (sb, ucpi, blkno, 1);
200 fs16_add(sb, &ubh_cg_blks(ucpi, cylno,
202 fs32_add(sb, &ubh_cg_blktot(ucpi, cylno), 1);
207 ubh_mark_buffer_dirty (UCPI_UBH(ucpi));
209 ubh_sync_block(UCPI_UBH(ucpi));
502 struct ufs_cg_private_info * ucpi;
519 ucpi = ufs_load_cylinder (sb, cgno);
520 if (!ucpi)
522 ucg = ubh_get_ucg (UCPI_UBH(ucpi));
532 if (ubh_isclr (UCPI_UBH(ucpi), ucpi->c_freeoff, fragno + i))
539 if (ubh_isclr (UCPI_UBH(ucpi), ucpi->c_freeoff, fragno + i))
549 ubh_clrbit (UCPI_UBH(ucpi), ucpi->c_freeoff, fragno + i);
556 ubh_mark_buffer_dirty (UCPI_UBH(ucpi));
558 ubh_sync_block(UCPI_UBH(ucpi));
580 struct ufs_cg_private_info * ucpi;
624 ucpi = ufs_load_cylinder (sb, cgno);
625 if (!ucpi)
627 ucg = ubh_get_ucg (UCPI_UBH(ucpi));
634 result = ufs_alloccg_block (inode, ucpi, goal, err);
645 result = ufs_alloccg_block (inode, ucpi, goal, err);
650 ubh_setbit (UCPI_UBH(ucpi), ucpi->c_freeoff, goal + i);
660 result = ufs_bitmap_search (sb, ucpi, goal, allocsize);
664 ubh_clrbit (UCPI_UBH(ucpi), ucpi->c_freeoff, result + i);
676 ubh_mark_buffer_dirty (UCPI_UBH(ucpi));
678 ubh_sync_block(UCPI_UBH(ucpi));
687 struct ufs_cg_private_info *ucpi,
701 ucg = ubh_get_ucg(UCPI_UBH(ucpi));
704 goal = ucpi->c_rotor;
713 if (ubh_isblockset(UCPI_UBH(ucpi), ucpi->c_freeoff, ufs_fragstoblks(goal))) {
719 result = ufs_bitmap_search (sb, ucpi, goal, uspi->s_fpb);
722 ucpi->c_rotor = result;
725 ubh_clrblock (UCPI_UBH(ucpi), ucpi->c_freeoff, blkno);
727 ufs_clusteracct (sb, ucpi, blkno, -1);
731 fs32_sub(sb, &UFS_SB(sb)->fs_cs(ucpi->c_cgx).cs_nbfree, 1);
736 fs16_sub(sb, &ubh_cg_blks(ucpi, cylno,
738 fs32_sub(sb, &ubh_cg_blktot(ucpi, cylno), 1);
777 * @ucpi: pointer to cylinder group info
782 struct ufs_cg_private_info *ucpi,
802 UFSD("ENTER, cg %u, goal %llu, count %u\n", ucpi->c_cgx,
806 ucg = ubh_get_ucg(UCPI_UBH(ucpi));
811 start = ucpi->c_frotor >> 3;
814 loc = ubh_scanc(uspi, UCPI_UBH(ucpi), ucpi->c_freeoff + start, length,
819 loc = ubh_scanc(uspi, UCPI_UBH(ucpi), ucpi->c_freeoff, length,
827 ucpi->c_cgx, start, length, count,
828 ucpi->c_freeoff);
834 ucpi->c_frotor = result;
841 blockmap = ubh_blkmap(UCPI_UBH(ucpi), ucpi->c_freeoff, result);
857 ucpi->c_cgx);
863 struct ufs_cg_private_info * ucpi, unsigned blkno, int cnt)
873 ubh_setbit(UCPI_UBH(ucpi), ucpi->c_clusteroff, blkno);
875 ubh_clrbit(UCPI_UBH(ucpi), ucpi->c_clusteroff, blkno);
882 if ( end >= ucpi->c_nclusterblks)
883 end = ucpi->c_nclusterblks;
884 i = ubh_find_next_zero_bit (UCPI_UBH(ucpi), ucpi->c_clusteroff, end, start);
896 i = ubh_find_last_zero_bit (UCPI_UBH(ucpi), ucpi->c_clusteroff, start, end);
908 fs32_add(sb, (__fs32*)ubh_get_addr(UCPI_UBH(ucpi), ucpi->c_clustersumoff + (i << 2)), cnt);
910 fs32_sub(sb, (__fs32*)ubh_get_addr(UCPI_UBH(ucpi), ucpi->c_clustersumoff + (back << 2)), cnt);
912 fs32_sub(sb, (__fs32*)ubh_get_addr(UCPI_UBH(ucpi), ucpi->c_clustersumoff + (forw << 2)), cnt);