• Home
  • Raw
  • Download

Lines Matching refs:uspi

40 	struct ufs_sb_private_info * uspi;  in ufs_free_fragments()  local
47 uspi = UFS_SB(sb)->s_uspi; in ufs_free_fragments()
52 if (ufs_fragnum(fragment) + count > uspi->s_fpg) in ufs_free_fragments()
57 cgno = ufs_dtog(uspi, fragment); in ufs_free_fragments()
58 bit = ufs_dtogd(uspi, fragment); in ufs_free_fragments()
59 if (cgno >= uspi->s_ncg) { in ufs_free_fragments()
85 inode_sub_bytes(inode, count << uspi->s_fshift); in ufs_free_fragments()
87 uspi->cs_total.cs_nffree += count; in ufs_free_fragments()
97 fs32_sub(sb, &ucg->cg_cs.cs_nffree, uspi->s_fpb); in ufs_free_fragments()
98 uspi->cs_total.cs_nffree -= uspi->s_fpb; in ufs_free_fragments()
99 fs32_sub(sb, &UFS_SB(sb)->fs_cs(cgno).cs_nffree, uspi->s_fpb); in ufs_free_fragments()
103 uspi->cs_total.cs_nbfree++; in ufs_free_fragments()
105 if (uspi->fs_magic != UFS2_MAGIC) { in ufs_free_fragments()
114 ubh_mark_buffer_dirty (USPI_UBH(uspi)); in ufs_free_fragments()
136 struct ufs_sb_private_info * uspi; in ufs_free_blocks() local
143 uspi = UFS_SB(sb)->s_uspi; in ufs_free_blocks()
148 if ((fragment & uspi->s_fpbmask) || (count & uspi->s_fpbmask)) { in ufs_free_blocks()
159 cgno = ufs_dtog(uspi, fragment); in ufs_free_blocks()
160 bit = ufs_dtogd(uspi, fragment); in ufs_free_blocks()
161 if (cgno >= uspi->s_ncg) { in ufs_free_blocks()
166 if (end_bit > uspi->s_fpg) { in ufs_free_blocks()
167 overflow = bit + count - uspi->s_fpg; in ufs_free_blocks()
181 for (i = bit; i < end_bit; i += uspi->s_fpb) { in ufs_free_blocks()
187 inode_sub_bytes(inode, uspi->s_fpb << uspi->s_fshift); in ufs_free_blocks()
192 uspi->cs_total.cs_nbfree++; in ufs_free_blocks()
195 if (uspi->fs_magic != UFS2_MAGIC) { in ufs_free_blocks()
204 ubh_mark_buffer_dirty (USPI_UBH(uspi)); in ufs_free_blocks()
348 struct ufs_sb_private_info * uspi; in ufs_new_fragments() local
358 uspi = UFS_SB(sb)->s_uspi; in ufs_new_fragments()
359 usb1 = ubh_get_usb_first(uspi); in ufs_new_fragments()
365 if (count + ufs_fragnum(fragment) > uspi->s_fpb) { in ufs_new_fragments()
369 count = uspi->s_fpb - ufs_fragnum(fragment); in ufs_new_fragments()
403 if (!capable(CAP_SYS_RESOURCE) && ufs_freespace(uspi, UFS_MINFREE) <= 0) { in ufs_new_fragments()
409 if (goal >= uspi->s_size) in ufs_new_fragments()
414 cgno = ufs_dtog(uspi, goal); in ufs_new_fragments()
457 if (uspi->s_minfree < 5 || uspi->cs_total.cs_nffree in ufs_new_fragments()
458 > uspi->s_dsize * uspi->s_minfree / (2 * 100)) in ufs_new_fragments()
466 request = uspi->s_fpb; in ufs_new_fragments()
467 if (uspi->cs_total.cs_nffree < uspi->s_dsize * in ufs_new_fragments()
468 (uspi->s_minfree - 2) / 100) in ufs_new_fragments()
478 uspi->s_sbbase + tmp, in ufs_new_fragments()
479 uspi->s_sbbase + result, locked_page); in ufs_new_fragments()
517 struct ufs_sb_private_info * uspi; in ufs_add_fragments() local
526 uspi = UFS_SB(sb)->s_uspi; in ufs_add_fragments()
529 cgno = ufs_dtog(uspi, fragment); in ufs_add_fragments()
532 if ((ufs_fragnum (fragment) + newcount) > uspi->s_fpb) in ufs_add_fragments()
544 fragno = ufs_dtogd(uspi, fragment); in ufs_add_fragments()
556 for (i = newcount; i < (uspi->s_fpb - fragoff); i++) in ufs_add_fragments()
571 uspi->cs_total.cs_nffree -= count; in ufs_add_fragments()
573 ubh_mark_buffer_dirty (USPI_UBH(uspi)); in ufs_add_fragments()
588 for (k = count; k < uspi->s_fpb; k++) \
596 struct ufs_sb_private_info * uspi; in ufs_alloc_fragments() local
606 uspi = UFS_SB(sb)->s_uspi; in ufs_alloc_fragments()
617 for (j = 1; j < uspi->s_ncg; j *= 2) { in ufs_alloc_fragments()
619 if (cgno >= uspi->s_ncg) in ufs_alloc_fragments()
620 cgno -= uspi->s_ncg; in ufs_alloc_fragments()
628 cgno = (oldcg + 1) % uspi->s_ncg; in ufs_alloc_fragments()
629 for (j = 2; j < uspi->s_ncg; j++) { in ufs_alloc_fragments()
631 if (cgno >= uspi->s_ncg) in ufs_alloc_fragments()
649 if (count == uspi->s_fpb) { in ufs_alloc_fragments()
656 for (allocsize = count; allocsize < uspi->s_fpb; allocsize++) in ufs_alloc_fragments()
660 if (allocsize == uspi->s_fpb) { in ufs_alloc_fragments()
664 goal = ufs_dtogd(uspi, result); in ufs_alloc_fragments()
665 for (i = count; i < uspi->s_fpb; i++) in ufs_alloc_fragments()
667 i = uspi->s_fpb - count; in ufs_alloc_fragments()
669 inode_sub_bytes(inode, i << uspi->s_fshift); in ufs_alloc_fragments()
671 uspi->cs_total.cs_nffree += i; in ufs_alloc_fragments()
686 uspi->cs_total.cs_nffree -= count; in ufs_alloc_fragments()
694 ubh_mark_buffer_dirty (USPI_UBH(uspi)); in ufs_alloc_fragments()
700 result += cgno * uspi->s_fpg; in ufs_alloc_fragments()
710 struct ufs_sb_private_info * uspi; in ufs_alloccg_block() local
717 uspi = UFS_SB(sb)->s_uspi; in ufs_alloccg_block()
725 goal = ufs_dtogd(uspi, goal); in ufs_alloccg_block()
736 result = ufs_bitmap_search (sb, ucpi, goal, uspi->s_fpb); in ufs_alloccg_block()
741 if (!try_add_frags(inode, uspi->s_fpb)) in ufs_alloccg_block()
749 uspi->cs_total.cs_nbfree--; in ufs_alloccg_block()
752 if (uspi->fs_magic != UFS2_MAGIC) { in ufs_alloccg_block()
765 static unsigned ubh_scanc(struct ufs_sb_private_info *uspi, in ubh_scanc() argument
774 offset = begin & ~uspi->s_fmask; in ubh_scanc()
775 begin >>= uspi->s_fshift; in ubh_scanc()
777 if ((offset + size) < uspi->s_fsize) in ubh_scanc()
780 rest = uspi->s_fsize - offset; in ubh_scanc()
814 struct ufs_sb_private_info *uspi = UFS_SB(sb)->s_uspi; in ufs_bitmap_search() local
823 start = ufs_dtogd(uspi, goal) >> 3; in ufs_bitmap_search()
827 length = ((uspi->s_fpg + 7) >> 3) - start; in ufs_bitmap_search()
828 loc = ubh_scanc(uspi, UCPI_UBH(ucpi), ucpi->c_freeoff + start, length, in ufs_bitmap_search()
829 (uspi->s_fpb == 8) ? ufs_fragtable_8fpb : ufs_fragtable_other, in ufs_bitmap_search()
830 1 << (count - 1 + (uspi->s_fpb & 7))); in ufs_bitmap_search()
833 loc = ubh_scanc(uspi, UCPI_UBH(ucpi), ucpi->c_freeoff, length, in ufs_bitmap_search()
834 (uspi->s_fpb == 8) ? ufs_fragtable_8fpb : in ufs_bitmap_search()
836 1 << (count - 1 + (uspi->s_fpb & 7))); in ufs_bitmap_search()
854 for (end = result + 8; result < end; result += uspi->s_fpb) { in ufs_bitmap_search()
859 for (pos = 0; pos <= uspi->s_fpb - count; pos++) { in ufs_bitmap_search()
879 struct ufs_sb_private_info * uspi; in ufs_clusteracct() local
882 uspi = UFS_SB(sb)->s_uspi; in ufs_clusteracct()
883 if (uspi->s_contigsumsize <= 0) in ufs_clusteracct()
895 end = start + uspi->s_contigsumsize; in ufs_clusteracct()
907 end = start - uspi->s_contigsumsize; in ufs_clusteracct()
920 if (i > uspi->s_contigsumsize) in ufs_clusteracct()
921 i = uspi->s_contigsumsize; in ufs_clusteracct()