Lines Matching refs:uspi

42 	struct ufs_sb_private_info * uspi;
49 uspi = UFS_SB(sb)->s_uspi;
54 if (ufs_fragnum(fragment) + count > uspi->s_fpg)
59 cgno = ufs_dtog(uspi, fragment);
60 bit = ufs_dtogd(uspi, fragment);
61 if (cgno >= uspi->s_ncg) {
87 inode_sub_bytes(inode, count << uspi->s_fshift);
89 uspi->cs_total.cs_nffree += count;
99 fs32_sub(sb, &ucg->cg_cs.cs_nffree, uspi->s_fpb);
100 uspi->cs_total.cs_nffree -= uspi->s_fpb;
101 fs32_sub(sb, &UFS_SB(sb)->fs_cs(cgno).cs_nffree, uspi->s_fpb);
105 uspi->cs_total.cs_nbfree++;
107 if (uspi->fs_magic != UFS2_MAGIC) {
116 ubh_mark_buffer_dirty (USPI_UBH(uspi));
138 struct ufs_sb_private_info * uspi;
145 uspi = UFS_SB(sb)->s_uspi;
150 if ((fragment & uspi->s_fpbmask) || (count & uspi->s_fpbmask)) {
161 cgno = ufs_dtog(uspi, fragment);
162 bit = ufs_dtogd(uspi, fragment);
163 if (cgno >= uspi->s_ncg) {
168 if (end_bit > uspi->s_fpg) {
169 overflow = bit + count - uspi->s_fpg;
183 for (i = bit; i < end_bit; i += uspi->s_fpb) {
189 inode_sub_bytes(inode, uspi->s_fpb << uspi->s_fshift);
194 uspi->cs_total.cs_nbfree++;
197 if (uspi->fs_magic != UFS2_MAGIC) {
206 ubh_mark_buffer_dirty (USPI_UBH(uspi));
349 struct ufs_sb_private_info * uspi;
359 uspi = UFS_SB(sb)->s_uspi;
360 usb1 = ubh_get_usb_first(uspi);
366 if (count + ufs_fragnum(fragment) > uspi->s_fpb) {
370 count = uspi->s_fpb - ufs_fragnum(fragment);
404 if (unlikely(ufs_freefrags(uspi) <= uspi->s_root_blocks)) {
412 if (goal >= uspi->s_size)
417 cgno = ufs_dtog(uspi, goal);
461 if (uspi->cs_total.cs_nffree < uspi->s_space_to_time)
464 request = uspi->s_fpb;
465 if (uspi->cs_total.cs_nffree > uspi->s_time_to_space)
474 uspi->s_sbbase + tmp,
475 uspi->s_sbbase + result, locked_page);
512 struct ufs_sb_private_info * uspi;
521 uspi = UFS_SB(sb)->s_uspi;
524 cgno = ufs_dtog(uspi, fragment);
527 if ((ufs_fragnum (fragment) + newcount) > uspi->s_fpb)
539 fragno = ufs_dtogd(uspi, fragment);
551 for (i = newcount; i < (uspi->s_fpb - fragoff); i++)
566 uspi->cs_total.cs_nffree -= count;
568 ubh_mark_buffer_dirty (USPI_UBH(uspi));
583 for (k = count; k < uspi->s_fpb; k++) \
591 struct ufs_sb_private_info * uspi;
601 uspi = UFS_SB(sb)->s_uspi;
612 for (j = 1; j < uspi->s_ncg; j *= 2) {
614 if (cgno >= uspi->s_ncg)
615 cgno -= uspi->s_ncg;
623 cgno = (oldcg + 1) % uspi->s_ncg;
624 for (j = 2; j < uspi->s_ncg; j++) {
626 if (cgno >= uspi->s_ncg)
644 if (count == uspi->s_fpb) {
651 for (allocsize = count; allocsize < uspi->s_fpb; allocsize++)
655 if (allocsize == uspi->s_fpb) {
659 goal = ufs_dtogd(uspi, result);
660 for (i = count; i < uspi->s_fpb; i++)
662 i = uspi->s_fpb - count;
664 inode_sub_bytes(inode, i << uspi->s_fshift);
666 uspi->cs_total.cs_nffree += i;
681 uspi->cs_total.cs_nffree -= count;
689 ubh_mark_buffer_dirty (USPI_UBH(uspi));
695 result += cgno * uspi->s_fpg;
705 struct ufs_sb_private_info * uspi;
712 uspi = UFS_SB(sb)->s_uspi;
720 goal = ufs_dtogd(uspi, goal);
731 result = ufs_bitmap_search (sb, ucpi, goal, uspi->s_fpb);
736 if (!try_add_frags(inode, uspi->s_fpb))
744 uspi->cs_total.cs_nbfree--;
747 if (uspi->fs_magic != UFS2_MAGIC) {
760 static unsigned ubh_scanc(struct ufs_sb_private_info *uspi,
769 offset = begin & ~uspi->s_fmask;
770 begin >>= uspi->s_fshift;
772 if ((offset + size) < uspi->s_fsize)
775 rest = uspi->s_fsize - offset;
809 struct ufs_sb_private_info *uspi = UFS_SB(sb)->s_uspi;
818 start = ufs_dtogd(uspi, goal) >> 3;
822 length = ((uspi->s_fpg + 7) >> 3) - start;
823 loc = ubh_scanc(uspi, UCPI_UBH(ucpi), ucpi->c_freeoff + start, length,
824 (uspi->s_fpb == 8) ? ufs_fragtable_8fpb : ufs_fragtable_other,
825 1 << (count - 1 + (uspi->s_fpb & 7)));
828 loc = ubh_scanc(uspi, UCPI_UBH(ucpi), ucpi->c_freeoff, length,
829 (uspi->s_fpb == 8) ? ufs_fragtable_8fpb :
831 1 << (count - 1 + (uspi->s_fpb & 7)));
849 for (end = result + 8; result < end; result += uspi->s_fpb) {
854 for (pos = 0; pos <= uspi->s_fpb - count; pos++) {
874 struct ufs_sb_private_info * uspi;
877 uspi = UFS_SB(sb)->s_uspi;
878 if (uspi->s_contigsumsize <= 0)
890 end = start + uspi->s_contigsumsize;
902 end = start - uspi->s_contigsumsize;
915 if (i > uspi->s_contigsumsize)
916 i = uspi->s_contigsumsize;