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()
420 ufs_cpu_to_data_ptr(sb, p, result); in ufs_new_fragments()
427 mutex_unlock(&UFS_SB(sb)->s_lock); in ufs_new_fragments()
442 mutex_unlock(&UFS_SB(sb)->s_lock); in ufs_new_fragments()
450 switch (fs32_to_cpu(sb, usb1->fs_optim)) { in ufs_new_fragments()
456 usb1->fs_optim = cpu_to_fs32(sb, UFS_OPTTIME); in ufs_new_fragments()
459 usb1->fs_optim = cpu_to_fs32(sb, UFS_OPTTIME); in ufs_new_fragments()
466 usb1->fs_optim = cpu_to_fs32(sb, UFS_OPTTIME); in ufs_new_fragments()
476 ufs_cpu_to_data_ptr(sb, p, result); in ufs_new_fragments()
480 mutex_unlock(&UFS_SB(sb)->s_lock); in ufs_new_fragments()
488 mutex_unlock(&UFS_SB(sb)->s_lock); in ufs_new_fragments()
496 struct super_block * sb; in ufs_add_fragments() local
505 sb = inode->i_sb; in ufs_add_fragments()
506 uspi = UFS_SB(sb)->s_uspi; in ufs_add_fragments()
510 if (fs32_to_cpu(sb, UFS_SB(sb)->fs_cs(cgno).cs_nffree) < count) in ufs_add_fragments()
514 ucpi = ufs_load_cylinder (sb, cgno); in ufs_add_fragments()
518 if (!ufs_cg_chkmagic(sb, ucg)) { in ufs_add_fragments()
519 ufs_panic (sb, "ufs_add_fragments", in ufs_add_fragments()
532 ucg->cg_time = cpu_to_fs32(sb, get_seconds()); in ufs_add_fragments()
537 if (!fs32_to_cpu(sb, ucg->cg_frsum[fragsize])) in ufs_add_fragments()
538 ufs_panic (sb, "ufs_add_fragments", in ufs_add_fragments()
540 fs32_sub(sb, &ucg->cg_frsum[fragsize], 1); in ufs_add_fragments()
542 fs32_add(sb, &ucg->cg_frsum[fragsize - count], 1); in ufs_add_fragments()
546 fs32_sub(sb, &ucg->cg_cs.cs_nffree, count); in ufs_add_fragments()
547 fs32_sub(sb, &UFS_SB(sb)->fs_cs(cgno).cs_nffree, count); in ufs_add_fragments()
552 if (sb->s_flags & MS_SYNCHRONOUS) in ufs_add_fragments()
554 ufs_mark_sb_dirty(sb); in ufs_add_fragments()
562 ucg = (struct ufs_cylinder_group *) UFS_SB(sb)->s_ucg[cgno]->b_data; \
563 if (fs32_to_cpu(sb, ucg->cg_cs.cs_nbfree)) \
566 if (fs32_to_cpu(sb, ucg->cg_frsum[k])) \
572 struct super_block * sb; in ufs_alloc_fragments() local
582 sb = inode->i_sb; in ufs_alloc_fragments()
583 uspi = UFS_SB(sb)->s_uspi; in ufs_alloc_fragments()
617 ucpi = ufs_load_cylinder (sb, cgno); in ufs_alloc_fragments()
621 if (!ufs_cg_chkmagic(sb, ucg)) in ufs_alloc_fragments()
622 ufs_panic (sb, "ufs_alloc_fragments", in ufs_alloc_fragments()
624 ucg->cg_time = cpu_to_fs32(sb, get_seconds()); in ufs_alloc_fragments()
634 if (fs32_to_cpu(sb, ucg->cg_frsum[allocsize]) != 0) in ufs_alloc_fragments()
646 fs32_add(sb, &ucg->cg_cs.cs_nffree, i); in ufs_alloc_fragments()
648 fs32_add(sb, &UFS_SB(sb)->fs_cs(cgno).cs_nffree, i); in ufs_alloc_fragments()
649 fs32_add(sb, &ucg->cg_frsum[i], 1); in ufs_alloc_fragments()
653 result = ufs_bitmap_search (sb, ucpi, goal, allocsize); in ufs_alloc_fragments()
659 fs32_sub(sb, &ucg->cg_cs.cs_nffree, count); in ufs_alloc_fragments()
661 fs32_sub(sb, &UFS_SB(sb)->fs_cs(cgno).cs_nffree, count); in ufs_alloc_fragments()
662 fs32_sub(sb, &ucg->cg_frsum[allocsize], 1); in ufs_alloc_fragments()
665 fs32_add(sb, &ucg->cg_frsum[allocsize - count], 1); in ufs_alloc_fragments()
670 if (sb->s_flags & MS_SYNCHRONOUS) in ufs_alloc_fragments()
672 ufs_mark_sb_dirty(sb); in ufs_alloc_fragments()
683 struct super_block * sb; in ufs_alloccg_block() local
690 sb = inode->i_sb; in ufs_alloccg_block()
691 uspi = UFS_SB(sb)->s_uspi; in ufs_alloccg_block()
710 result = ufs_bitmap_search (sb, ucpi, goal, uspi->s_fpb); in ufs_alloccg_block()
717 if ((UFS_SB(sb)->s_flags & UFS_CG_MASK) == UFS_CG_44BSD) in ufs_alloccg_block()
718 ufs_clusteracct (sb, ucpi, blkno, -1); in ufs_alloccg_block()
720 fs32_sub(sb, &ucg->cg_cs.cs_nbfree, 1); in ufs_alloccg_block()
722 fs32_sub(sb, &UFS_SB(sb)->fs_cs(ucpi->c_cgx).cs_nbfree, 1); in ufs_alloccg_block()
727 fs16_sub(sb, &ubh_cg_blks(ucpi, cylno, in ufs_alloccg_block()
729 fs32_sub(sb, &ubh_cg_blktot(ucpi, cylno), 1); in ufs_alloccg_block()
772 static u64 ufs_bitmap_search(struct super_block *sb, in ufs_bitmap_search() argument
786 struct ufs_sb_private_info *uspi = UFS_SB(sb)->s_uspi; in ufs_bitmap_search()
810 ufs_error(sb, "ufs_bitmap_search", in ufs_bitmap_search()
842 ufs_error(sb, "ufs_bitmap_search", "block not in map on cg %u\n", in ufs_bitmap_search()
848 static void ufs_clusteracct(struct super_block * sb, in ufs_clusteracct() argument
854 uspi = UFS_SB(sb)->s_uspi; in ufs_clusteracct()
894 fs32_add(sb, (__fs32*)ubh_get_addr(UCPI_UBH(ucpi), ucpi->c_clustersumoff + (i << 2)), cnt); in ufs_clusteracct()
896 fs32_sub(sb, (__fs32*)ubh_get_addr(UCPI_UBH(ucpi), ucpi->c_clustersumoff + (back << 2)), cnt); in ufs_clusteracct()
898 fs32_sub(sb, (__fs32*)ubh_get_addr(UCPI_UBH(ucpi), ucpi->c_clustersumoff + (forw << 2)), cnt); in ufs_clusteracct()