• Home
  • Raw
  • Download

Lines Matching refs:sb

34 static int read_block_bitmap(struct super_block *sb,  in read_block_bitmap()  argument
43 loc.partitionReferenceNum = UDF_SB(sb)->s_partition; in read_block_bitmap()
45 bh = udf_tread(sb, udf_get_lb_pblock(sb, &loc, block)); in read_block_bitmap()
53 static int __load_block_bitmap(struct super_block *sb, in __load_block_bitmap() argument
68 retval = read_block_bitmap(sb, bitmap, block_group, block_group); in __load_block_bitmap()
75 static inline int load_block_bitmap(struct super_block *sb, in load_block_bitmap() argument
81 slot = __load_block_bitmap(sb, bitmap, block_group); in load_block_bitmap()
92 static void udf_add_free_space(struct super_block *sb, u16 partition, u32 cnt) in udf_add_free_space() argument
94 struct udf_sb_info *sbi = UDF_SB(sb); in udf_add_free_space()
102 udf_updated_lvid(sb); in udf_add_free_space()
105 static void udf_bitmap_free_blocks(struct super_block *sb, in udf_bitmap_free_blocks() argument
111 struct udf_sb_info *sbi = UDF_SB(sb); in udf_bitmap_free_blocks()
137 block_group = block >> (sb->s_blocksize_bits + 3); in udf_bitmap_free_blocks()
138 bit = block % (sb->s_blocksize << 3); in udf_bitmap_free_blocks()
143 if (bit + count > (sb->s_blocksize << 3)) { in udf_bitmap_free_blocks()
144 overflow = bit + count - (sb->s_blocksize << 3); in udf_bitmap_free_blocks()
147 bitmap_nr = load_block_bitmap(sb, bitmap, block_group); in udf_bitmap_free_blocks()
159 udf_add_free_space(sb, sbi->s_partition, count); in udf_bitmap_free_blocks()
171 static int udf_bitmap_prealloc_blocks(struct super_block *sb, in udf_bitmap_prealloc_blocks() argument
176 struct udf_sb_info *sbi = UDF_SB(sb); in udf_bitmap_prealloc_blocks()
193 block_group = block >> (sb->s_blocksize_bits + 3); in udf_bitmap_prealloc_blocks()
195 bitmap_nr = load_block_bitmap(sb, bitmap, block_group); in udf_bitmap_prealloc_blocks()
200 bit = block % (sb->s_blocksize << 3); in udf_bitmap_prealloc_blocks()
202 while (bit < (sb->s_blocksize << 3) && block_count > 0) { in udf_bitmap_prealloc_blocks()
214 udf_add_free_space(sb, partition, -alloc_count); in udf_bitmap_prealloc_blocks()
219 static udf_pblk_t udf_bitmap_new_block(struct super_block *sb, in udf_bitmap_new_block() argument
223 struct udf_sb_info *sbi = UDF_SB(sb); in udf_bitmap_new_block()
241 block_group = block >> (sb->s_blocksize_bits + 3); in udf_bitmap_new_block()
244 bitmap_nr = load_block_bitmap(sb, bitmap, block_group); in udf_bitmap_new_block()
249 sb->s_blocksize - group_start); in udf_bitmap_new_block()
251 if ((ptr - ((char *)bh->b_data)) < sb->s_blocksize) { in udf_bitmap_new_block()
252 bit = block % (sb->s_blocksize << 3); in udf_bitmap_new_block()
262 sb->s_blocksize - ((bit + 7) >> 3)); in udf_bitmap_new_block()
264 if (newbit < sb->s_blocksize << 3) { in udf_bitmap_new_block()
270 sb->s_blocksize << 3, bit); in udf_bitmap_new_block()
271 if (newbit < sb->s_blocksize << 3) { in udf_bitmap_new_block()
283 bitmap_nr = load_block_bitmap(sb, bitmap, block_group); in udf_bitmap_new_block()
289 sb->s_blocksize - group_start); in udf_bitmap_new_block()
290 if ((ptr - ((char *)bh->b_data)) < sb->s_blocksize) { in udf_bitmap_new_block()
296 sb->s_blocksize << 3, in udf_bitmap_new_block()
298 if (bit < sb->s_blocksize << 3) in udf_bitmap_new_block()
306 if (bit < sb->s_blocksize << 3) in udf_bitmap_new_block()
309 bit = udf_find_next_one_bit(bh->b_data, sb->s_blocksize << 3, in udf_bitmap_new_block()
311 if (bit >= sb->s_blocksize << 3) { in udf_bitmap_new_block()
325 newblock = bit + (block_group << (sb->s_blocksize_bits + 3)) - in udf_bitmap_new_block()
333 udf_err(sb, "bitmap for partition %d corrupted (block %u marked" in udf_bitmap_new_block()
346 udf_add_free_space(sb, partition, -1); in udf_bitmap_new_block()
357 static void udf_table_free_blocks(struct super_block *sb, in udf_table_free_blocks() argument
363 struct udf_sb_info *sbi = UDF_SB(sb); in udf_table_free_blocks()
384 udf_add_free_space(sb, sbi->s_partition, count); in udf_table_free_blocks()
397 (elen >> sb->s_blocksize_bits)) == start)) { in udf_table_free_blocks()
399 (count << sb->s_blocksize_bits)) { in udf_table_free_blocks()
401 sb->s_blocksize_bits); in udf_table_free_blocks()
405 (0x40000000 - sb->s_blocksize); in udf_table_free_blocks()
409 (count << sb->s_blocksize_bits)); in udf_table_free_blocks()
416 (count << sb->s_blocksize_bits)) { in udf_table_free_blocks()
418 sb->s_blocksize_bits); in udf_table_free_blocks()
423 (0x40000000 - sb->s_blocksize); in udf_table_free_blocks()
428 (count << sb->s_blocksize_bits)); in udf_table_free_blocks()
464 (count << sb->s_blocksize_bits); in udf_table_free_blocks()
476 if (epos.offset + (2 * adsize) > sb->s_blocksize) { in udf_table_free_blocks()
482 elen -= sb->s_blocksize; in udf_table_free_blocks()
498 static int udf_table_prealloc_blocks(struct super_block *sb, in udf_table_prealloc_blocks() argument
502 struct udf_sb_info *sbi = UDF_SB(sb); in udf_table_prealloc_blocks()
537 alloc_count = (elen >> sb->s_blocksize_bits); in udf_table_prealloc_blocks()
541 elen -= (alloc_count << sb->s_blocksize_bits); in udf_table_prealloc_blocks()
553 udf_add_free_space(sb, partition, -alloc_count); in udf_table_prealloc_blocks()
558 static udf_pblk_t udf_table_new_block(struct super_block *sb, in udf_table_new_block() argument
562 struct udf_sb_info *sbi = UDF_SB(sb); in udf_table_new_block()
598 (elen >> sb->s_blocksize_bits)) in udf_table_new_block()
602 (elen >> sb->s_blocksize_bits); in udf_table_new_block()
636 goal_elen -= sb->s_blocksize; in udf_table_new_block()
644 udf_add_free_space(sb, partition, -1); in udf_table_new_block()
651 void udf_free_blocks(struct super_block *sb, struct inode *inode, in udf_free_blocks() argument
656 struct udf_part_map *map = &UDF_SB(sb)->s_partmaps[partition]; in udf_free_blocks()
659 udf_bitmap_free_blocks(sb, map->s_uspace.s_bitmap, in udf_free_blocks()
662 udf_table_free_blocks(sb, map->s_uspace.s_table, in udf_free_blocks()
668 ((sector_t)count) << sb->s_blocksize_bits); in udf_free_blocks()
672 inline int udf_prealloc_blocks(struct super_block *sb, in udf_prealloc_blocks() argument
677 struct udf_part_map *map = &UDF_SB(sb)->s_partmaps[partition]; in udf_prealloc_blocks()
681 allocated = udf_bitmap_prealloc_blocks(sb, in udf_prealloc_blocks()
686 allocated = udf_table_prealloc_blocks(sb, in udf_prealloc_blocks()
694 inode_add_bytes(inode, allocated << sb->s_blocksize_bits); in udf_prealloc_blocks()
698 inline udf_pblk_t udf_new_block(struct super_block *sb, in udf_new_block() argument
702 struct udf_part_map *map = &UDF_SB(sb)->s_partmaps[partition]; in udf_new_block()
706 block = udf_bitmap_new_block(sb, in udf_new_block()
710 block = udf_table_new_block(sb, in udf_new_block()
718 inode_add_bytes(inode, sb->s_blocksize); in udf_new_block()