Lines Matching defs:sbi

41 	struct affs_sb_info *sbi = AFFS_SB(sb);
49 if (block > sbi->s_partition_size)
52 blk = block - sbi->s_reserved;
53 bmap = blk / sbi->s_bmap_bits;
54 bit = blk % sbi->s_bmap_bits;
55 bm = &sbi->s_bitmap[bmap];
57 mutex_lock(&sbi->s_bmlock);
59 bh = sbi->s_bmap_bh;
60 if (sbi->s_last_bmap != bmap) {
65 sbi->s_bmap_bh = bh;
66 sbi->s_last_bmap = bmap;
86 mutex_unlock(&sbi->s_bmlock);
91 mutex_unlock(&sbi->s_bmlock);
96 sbi->s_bmap_bh = NULL;
97 sbi->s_last_bmap = ~0;
98 mutex_unlock(&sbi->s_bmlock);
118 struct affs_sb_info *sbi;
126 sbi = AFFS_SB(sb);
136 if (!goal || goal > sbi->s_partition_size) {
141 goal = sbi->s_reserved;
144 blk = goal - sbi->s_reserved;
145 bmap = blk / sbi->s_bmap_bits;
146 bm = &sbi->s_bitmap[bmap];
148 mutex_lock(&sbi->s_bmlock);
155 i = sbi->s_bmap_count;
161 if (bmap < sbi->s_bmap_count)
165 bm = sbi->s_bitmap;
167 blk = bmap * sbi->s_bmap_bits;
171 bh = sbi->s_bmap_bh;
172 if (sbi->s_last_bmap != bmap) {
177 sbi->s_bmap_bh = bh;
178 sbi->s_last_bmap = bmap;
182 bit = blk % sbi->s_bmap_bits;
207 blk += bit + sbi->s_reserved;
229 mutex_unlock(&sbi->s_bmlock);
236 sbi->s_bmap_bh = NULL;
237 sbi->s_last_bmap = ~0;
239 mutex_unlock(&sbi->s_bmlock);
251 struct affs_sb_info *sbi = AFFS_SB(sb);
256 if (!AFFS_ROOT_TAIL(sb, sbi->s_root_bh)->bm_flag) {
262 sbi->s_last_bmap = ~0;
263 sbi->s_bmap_bh = NULL;
264 sbi->s_bmap_bits = sb->s_blocksize * 8 - 32;
265 sbi->s_bmap_count = (sbi->s_partition_size - sbi->s_reserved +
266 sbi->s_bmap_bits - 1) / sbi->s_bmap_bits;
267 size = sbi->s_bmap_count * sizeof(*bm);
268 bm = sbi->s_bitmap = kzalloc(size, GFP_KERNEL);
269 if (!sbi->s_bitmap) {
274 bmap_blk = (__be32 *)sbi->s_root_bh->b_data;
278 for (i = sbi->s_bmap_count; i > 0; bm++, i--) {
315 offset = (sbi->s_partition_size - sbi->s_reserved) % sbi->s_bmap_bits;
355 struct affs_sb_info *sbi = AFFS_SB(sb);
357 if (!sbi->s_bitmap)
360 affs_brelse(sbi->s_bmap_bh);
361 sbi->s_bmap_bh = NULL;
362 sbi->s_last_bmap = ~0;
363 kfree(sbi->s_bitmap);
364 sbi->s_bitmap = NULL;