Lines Matching refs:block

25 static int get_level_offsets(struct ext2_data *fs, uint32_t block, uint32_t offsets[4]);
257 uint32_t block = group / groups_per_block; in ext2_fetch_block_group() local
259 uint32_t global_block = fs->sblock.s_first_data_block + 1 + block; in ext2_fetch_block_group()
293 int ext2_fetch_bg_itable(struct ext2_bgroup *bg, uint32_t block) in ext2_fetch_bg_itable() argument
295 if (bg->inode_table && bg->inode_table_block == block) { in ext2_fetch_bg_itable()
300 uint32_t global_block = bg->bg_inode_table + block; in ext2_fetch_bg_itable()
308 bg->inode_table_block = block; in ext2_fetch_bg_itable()
408 uint32_t block; in fetch_level_blocks() local
426 block = inode->i_block[offsets[0]]; in fetch_level_blocks()
430 block = sys_le32_to_cpu(list[offsets[lvl]]); in fetch_level_blocks()
433 if (block == 0) { in fetch_level_blocks()
436 inode->blocks[lvl] = ext2_get_block(inode->i_fs, block); in fetch_level_blocks()
442 LOG_DBG("[fetch] lvl:%d off:%d num:%d", lvl, offsets[lvl], block); in fetch_level_blocks()
447 int ext2_fetch_inode_block(struct ext2_inode *inode, uint32_t block) in ext2_fetch_inode_block() argument
450 if (inode->flags & INODE_FETCHED_BLOCK && inode->block_num == block) { in ext2_fetch_inode_block()
454 LOG_DBG("inode:%d cur_blk:%d fetch_blk:%d", inode->i_id, inode->block_num, block); in ext2_fetch_inode_block()
461 max_lvl = get_level_offsets(fs, block, offsets); in ext2_fetch_inode_block()
471 inode->block_num = block; in ext2_fetch_inode_block()
610 static int get_level_offsets(struct ext2_data *fs, uint32_t block, uint32_t offsets[4]) in get_level_offsets() argument
619 if (block < lvl0_blks) { in get_level_offsets()
620 offsets[0] = block; in get_level_offsets()
625 block -= lvl0_blks; in get_level_offsets()
626 if (block < lvl1_blks) { in get_level_offsets()
628 offsets[1] = block; in get_level_offsets()
633 block -= lvl1_blks; in get_level_offsets()
634 if (block < lvl2_blks) { in get_level_offsets()
636 offsets[1] = block / B; in get_level_offsets()
637 offsets[2] = block % B; in get_level_offsets()
642 if (block < lvl3_blks) { in get_level_offsets()
643 block -= lvl2_blks; in get_level_offsets()
645 offsets[1] = block / (B * B); in get_level_offsets()
646 offsets[2] = (block % (B * B)) / B; in get_level_offsets()
647 offsets[3] = (block % (B * B)) % B; in get_level_offsets()
654 static int block0_level(uint32_t block) in block0_level() argument
656 if (block >= EXT2_INODE_BLOCK_1LVL) { in block0_level()
657 return block - EXT2_INODE_BLOCK_1LVL + 1; in block0_level()
719 uint32_t *block; in alloc_level_blocks() local
725 block = &inode->i_block[inode->offsets[lvl]]; in alloc_level_blocks()
727 block = &((uint32_t *)inode->blocks[lvl - 1]->data)[inode->offsets[lvl]]; in alloc_level_blocks()
728 *block = sys_le32_to_cpu(*block); in alloc_level_blocks()
731 if (*block == 0) { in alloc_level_blocks()
738 *block = sys_cpu_to_le32(inode->blocks[lvl]->num); in alloc_level_blocks()
749 LOG_DBG("Alloc lvl:%d (num: %d) %s", lvl, *block, in alloc_level_blocks()
799 uint32_t block = bg->num / groups_per_block; in ext2_commit_bg() local
801 uint32_t global_block = fs->sblock.s_first_data_block + 1 + block; in ext2_commit_bg()
1046 int ext2_free_block(struct ext2_data *fs, uint32_t block) in ext2_free_block() argument
1048 LOG_DBG("Free block %d", block); in ext2_free_block()
1051 block -= fs->sblock.s_first_data_block; in ext2_free_block()
1054 uint32_t group = block / fs->sblock.s_blocks_per_group; in ext2_free_block()
1055 uint32_t off = block % fs->sblock.s_blocks_per_group; in ext2_free_block()