Lines Matching full:sbi
12 struct omfs_sb_info *sbi = OMFS_SB(sb); in omfs_count_free() local
15 for (i = 0; i < sbi->s_imap_size; i++) in omfs_count_free()
16 sum += nbits - bitmap_weight(sbi->s_imap[i], nbits); in omfs_count_free()
54 struct omfs_sb_info *sbi = OMFS_SB(sb); in set_run() local
57 bh = sb_bread(sb, clus_to_blk(sbi, sbi->s_bitmap_ino) + map); in set_run()
69 clus_to_blk(sbi, sbi->s_bitmap_ino) + map); in set_run()
74 set_bit(bit, sbi->s_imap[map]); in set_run()
77 clear_bit(bit, sbi->s_imap[map]); in set_run()
94 struct omfs_sb_info *sbi = OMFS_SB(sb); in omfs_allocate_block() local
104 mutex_lock(&sbi->s_bitmap_lock); in omfs_allocate_block()
105 if (map >= sbi->s_imap_size || test_and_set_bit(bit, sbi->s_imap[map])) in omfs_allocate_block()
108 if (sbi->s_bitmap_ino > 0) { in omfs_allocate_block()
109 bh = sb_bread(sb, clus_to_blk(sbi, sbi->s_bitmap_ino) + map); in omfs_allocate_block()
119 mutex_unlock(&sbi->s_bitmap_lock); in omfs_allocate_block()
126 * type: for inodes, we must allocate sbi->s_mirrors blocks, and for file
127 * blocks, we try to allocate sbi->s_clustersize, but can always get away
136 struct omfs_sb_info *sbi = OMFS_SB(sb); in omfs_allocate_range() local
141 mutex_lock(&sbi->s_bitmap_lock); in omfs_allocate_range()
142 for (i = 0; i < sbi->s_imap_size; i++) { in omfs_allocate_range()
145 bit = find_next_zero_bit(sbi->s_imap[i], bits_per_entry, in omfs_allocate_range()
151 run = count_run(&sbi->s_imap[i], bits_per_entry, in omfs_allocate_range()
152 sbi->s_imap_size-i, bit, max_request); in omfs_allocate_range()
168 mutex_unlock(&sbi->s_bitmap_lock); in omfs_allocate_range()
177 struct omfs_sb_info *sbi = OMFS_SB(sb); in omfs_clear_range() local
187 if (map >= sbi->s_imap_size) in omfs_clear_range()
190 mutex_lock(&sbi->s_bitmap_lock); in omfs_clear_range()
192 mutex_unlock(&sbi->s_bitmap_lock); in omfs_clear_range()