Lines Matching refs:sb

39 	struct super_block * sb;  in ufs_free_fragments()  local
46 sb = inode->i_sb; in ufs_free_fragments()
47 uspi = UFS_SB(sb)->s_uspi; in ufs_free_fragments()
53 ufs_error (sb, "ufs_free_fragments", "internal error"); in ufs_free_fragments()
55 mutex_lock(&UFS_SB(sb)->s_lock); in ufs_free_fragments()
60 ufs_panic (sb, "ufs_free_fragments", "freeing blocks are outside device"); in ufs_free_fragments()
64 ucpi = ufs_load_cylinder (sb, cgno); in ufs_free_fragments()
68 if (!ufs_cg_chkmagic(sb, ucg)) { in ufs_free_fragments()
69 ufs_panic (sb, "ufs_free_fragments", "internal error, bad magic number on cg %u", cgno); in ufs_free_fragments()
76 ufs_fragacct (sb, blkmap, ucg->cg_frsum, -1); in ufs_free_fragments()
81 ufs_error (sb, "ufs_free_fragments", in ufs_free_fragments()
85 fs32_add(sb, &ucg->cg_cs.cs_nffree, count); in ufs_free_fragments()
87 fs32_add(sb, &UFS_SB(sb)->fs_cs(cgno).cs_nffree, count); in ufs_free_fragments()
89 ufs_fragacct(sb, blkmap, ucg->cg_frsum, 1); in ufs_free_fragments()
96 fs32_sub(sb, &ucg->cg_cs.cs_nffree, uspi->s_fpb); in ufs_free_fragments()
98 fs32_sub(sb, &UFS_SB(sb)->fs_cs(cgno).cs_nffree, uspi->s_fpb); in ufs_free_fragments()
99 if ((UFS_SB(sb)->s_flags & UFS_CG_MASK) == UFS_CG_44BSD) in ufs_free_fragments()
100 ufs_clusteracct (sb, ucpi, blkno, 1); in ufs_free_fragments()
101 fs32_add(sb, &ucg->cg_cs.cs_nbfree, 1); in ufs_free_fragments()
103 fs32_add(sb, &UFS_SB(sb)->fs_cs(cgno).cs_nbfree, 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()
115 if (sb->s_flags & MS_SYNCHRONOUS) in ufs_free_fragments()
117 ufs_mark_sb_dirty(sb); in ufs_free_fragments()
119 mutex_unlock(&UFS_SB(sb)->s_lock); in ufs_free_fragments()
124 mutex_unlock(&UFS_SB(sb)->s_lock); in ufs_free_fragments()
134 struct super_block * sb; in ufs_free_blocks() local
141 sb = inode->i_sb; in ufs_free_blocks()
142 uspi = UFS_SB(sb)->s_uspi; in ufs_free_blocks()
148 ufs_error (sb, "ufs_free_blocks", "internal error, " in ufs_free_blocks()
154 mutex_lock(&UFS_SB(sb)->s_lock); in ufs_free_blocks()
161 ufs_panic (sb, "ufs_free_blocks", "freeing blocks are outside device"); in ufs_free_blocks()
171 ucpi = ufs_load_cylinder (sb, cgno); in ufs_free_blocks()
175 if (!ufs_cg_chkmagic(sb, ucg)) { in ufs_free_blocks()
176 ufs_panic (sb, "ufs_free_blocks", "internal error, bad magic number on cg %u", cgno); in ufs_free_blocks()
183 ufs_error(sb, "ufs_free_blocks", "freeing free fragment"); in ufs_free_blocks()
186 if ((UFS_SB(sb)->s_flags & UFS_CG_MASK) == UFS_CG_44BSD) in ufs_free_blocks()
187 ufs_clusteracct (sb, ucpi, blkno, 1); in ufs_free_blocks()
189 fs32_add(sb, &ucg->cg_cs.cs_nbfree, 1); in ufs_free_blocks()
191 fs32_add(sb, &UFS_SB(sb)->fs_cs(cgno).cs_nbfree, 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()
204 if (sb->s_flags & MS_SYNCHRONOUS) in ufs_free_blocks()
213 ufs_mark_sb_dirty(sb); in ufs_free_blocks()
214 mutex_unlock(&UFS_SB(sb)->s_lock); in ufs_free_blocks()
219 mutex_unlock(&UFS_SB(sb)->s_lock); in ufs_free_blocks()
345 struct super_block * sb; in ufs_new_fragments() local
355 sb = inode->i_sb; in ufs_new_fragments()
356 uspi = UFS_SB(sb)->s_uspi; in ufs_new_fragments()
360 mutex_lock(&UFS_SB(sb)->s_lock); in ufs_new_fragments()
361 tmp = ufs_data_ptr_to_cpu(sb, p); in ufs_new_fragments()
364 ufs_warning(sb, "ufs_new_fragments", "internal warning" in ufs_new_fragments()
377 ufs_error(sb, "ufs_new_fragments", "internal error, " in ufs_new_fragments()
381 mutex_unlock(&UFS_SB(sb)->s_lock); in ufs_new_fragments()
386 mutex_unlock(&UFS_SB(sb)->s_lock); in ufs_new_fragments()
393 mutex_unlock(&UFS_SB(sb)->s_lock); in ufs_new_fragments()
402 mutex_unlock(&UFS_SB(sb)->s_lock); in ufs_new_fragments()
423 ufs_cpu_to_data_ptr(sb, p, result); in ufs_new_fragments()
429 mutex_unlock(&UFS_SB(sb)->s_lock); in ufs_new_fragments()
444 mutex_unlock(&UFS_SB(sb)->s_lock); in ufs_new_fragments()
452 switch (fs32_to_cpu(sb, usb1->fs_optim)) { in ufs_new_fragments()
458 usb1->fs_optim = cpu_to_fs32(sb, UFS_OPTTIME); in ufs_new_fragments()
461 usb1->fs_optim = cpu_to_fs32(sb, UFS_OPTTIME); in ufs_new_fragments()
468 usb1->fs_optim = cpu_to_fs32(sb, UFS_OPTTIME); in ufs_new_fragments()
479 ufs_cpu_to_data_ptr(sb, p, result); in ufs_new_fragments()
484 mutex_unlock(&UFS_SB(sb)->s_lock); in ufs_new_fragments()
492 mutex_unlock(&UFS_SB(sb)->s_lock); in ufs_new_fragments()
500 struct super_block * sb; in ufs_add_fragments() local
509 sb = inode->i_sb; in ufs_add_fragments()
510 uspi = UFS_SB(sb)->s_uspi; in ufs_add_fragments()
514 if (fs32_to_cpu(sb, UFS_SB(sb)->fs_cs(cgno).cs_nffree) < count) in ufs_add_fragments()
518 ucpi = ufs_load_cylinder (sb, cgno); in ufs_add_fragments()
522 if (!ufs_cg_chkmagic(sb, ucg)) { in ufs_add_fragments()
523 ufs_panic (sb, "ufs_add_fragments", in ufs_add_fragments()
536 ucg->cg_time = cpu_to_fs32(sb, get_seconds()); in ufs_add_fragments()
541 if (!fs32_to_cpu(sb, ucg->cg_frsum[fragsize])) in ufs_add_fragments()
542 ufs_panic (sb, "ufs_add_fragments", in ufs_add_fragments()
544 fs32_sub(sb, &ucg->cg_frsum[fragsize], 1); in ufs_add_fragments()
546 fs32_add(sb, &ucg->cg_frsum[fragsize - count], 1); in ufs_add_fragments()
550 fs32_sub(sb, &ucg->cg_cs.cs_nffree, count); in ufs_add_fragments()
551 fs32_sub(sb, &UFS_SB(sb)->fs_cs(cgno).cs_nffree, count); in ufs_add_fragments()
556 if (sb->s_flags & MS_SYNCHRONOUS) in ufs_add_fragments()
558 ufs_mark_sb_dirty(sb); in ufs_add_fragments()
566 ucg = (struct ufs_cylinder_group *) UFS_SB(sb)->s_ucg[cgno]->b_data; \
567 if (fs32_to_cpu(sb, ucg->cg_cs.cs_nbfree)) \
570 if (fs32_to_cpu(sb, ucg->cg_frsum[k])) \
576 struct super_block * sb; in ufs_alloc_fragments() local
586 sb = inode->i_sb; in ufs_alloc_fragments()
587 uspi = UFS_SB(sb)->s_uspi; in ufs_alloc_fragments()
621 ucpi = ufs_load_cylinder (sb, cgno); in ufs_alloc_fragments()
625 if (!ufs_cg_chkmagic(sb, ucg)) in ufs_alloc_fragments()
626 ufs_panic (sb, "ufs_alloc_fragments", in ufs_alloc_fragments()
628 ucg->cg_time = cpu_to_fs32(sb, get_seconds()); in ufs_alloc_fragments()
638 if (fs32_to_cpu(sb, ucg->cg_frsum[allocsize]) != 0) in ufs_alloc_fragments()
650 fs32_add(sb, &ucg->cg_cs.cs_nffree, i); in ufs_alloc_fragments()
652 fs32_add(sb, &UFS_SB(sb)->fs_cs(cgno).cs_nffree, i); in ufs_alloc_fragments()
653 fs32_add(sb, &ucg->cg_frsum[i], 1); in ufs_alloc_fragments()
657 result = ufs_bitmap_search (sb, ucpi, goal, allocsize); in ufs_alloc_fragments()
663 fs32_sub(sb, &ucg->cg_cs.cs_nffree, count); in ufs_alloc_fragments()
665 fs32_sub(sb, &UFS_SB(sb)->fs_cs(cgno).cs_nffree, count); in ufs_alloc_fragments()
666 fs32_sub(sb, &ucg->cg_frsum[allocsize], 1); in ufs_alloc_fragments()
669 fs32_add(sb, &ucg->cg_frsum[allocsize - count], 1); in ufs_alloc_fragments()
674 if (sb->s_flags & MS_SYNCHRONOUS) in ufs_alloc_fragments()
676 ufs_mark_sb_dirty(sb); in ufs_alloc_fragments()
687 struct super_block * sb; in ufs_alloccg_block() local
694 sb = inode->i_sb; in ufs_alloccg_block()
695 uspi = UFS_SB(sb)->s_uspi; in ufs_alloccg_block()
714 result = ufs_bitmap_search (sb, ucpi, goal, uspi->s_fpb); in ufs_alloccg_block()
721 if ((UFS_SB(sb)->s_flags & UFS_CG_MASK) == UFS_CG_44BSD) in ufs_alloccg_block()
722 ufs_clusteracct (sb, ucpi, blkno, -1); in ufs_alloccg_block()
724 fs32_sub(sb, &ucg->cg_cs.cs_nbfree, 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()
776 static u64 ufs_bitmap_search(struct super_block *sb, in ufs_bitmap_search() argument
790 struct ufs_sb_private_info *uspi = UFS_SB(sb)->s_uspi; in ufs_bitmap_search()
814 ufs_error(sb, "ufs_bitmap_search", in ufs_bitmap_search()
846 ufs_error(sb, "ufs_bitmap_search", "block not in map on cg %u\n", in ufs_bitmap_search()
852 static void ufs_clusteracct(struct super_block * sb, in ufs_clusteracct() argument
858 uspi = UFS_SB(sb)->s_uspi; 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()