Lines Matching refs:map
100 struct ext4_map_blocks *map,
3301 struct ext4_map_blocks *map, in ext4_split_extent() argument
3312 int allocated = map->m_len; in ext4_split_extent()
3320 if (map->m_lblk + map->m_len < ee_block + ee_len) { in ext4_split_extent()
3329 map->m_lblk + map->m_len, split_flag1, flags1); in ext4_split_extent()
3333 allocated = ee_len - (map->m_lblk - ee_block); in ext4_split_extent()
3339 path = ext4_find_extent(inode, map->m_lblk, ppath, 0); in ext4_split_extent()
3346 (unsigned long) map->m_lblk); in ext4_split_extent()
3352 if (map->m_lblk >= ee_block) { in ext4_split_extent()
3360 map->m_lblk, split_flag1, flags); in ext4_split_extent()
3392 struct ext4_map_blocks *map, in ext4_ext_convert_to_initialized() argument
3403 unsigned int ee_len, depth, map_len = map->m_len; in ext4_ext_convert_to_initialized()
3410 (unsigned long long)map->m_lblk, map_len); in ext4_ext_convert_to_initialized()
3415 if (eof_block < map->m_lblk + map_len) in ext4_ext_convert_to_initialized()
3416 eof_block = map->m_lblk + map_len; in ext4_ext_convert_to_initialized()
3425 trace_ext4_ext_convert_to_initialized_enter(inode, map, ex); in ext4_ext_convert_to_initialized()
3429 BUG_ON(!in_range(map->m_lblk, ee_block, ee_len)); in ext4_ext_convert_to_initialized()
3446 if ((map->m_lblk == ee_block) && in ext4_ext_convert_to_initialized()
3478 map, ex, abut_ex); in ext4_ext_convert_to_initialized()
3492 } else if (((map->m_lblk + map_len) == (ee_block + ee_len)) && in ext4_ext_convert_to_initialized()
3516 ((map->m_lblk + map_len) == next_lblk) && /*C2*/ in ext4_ext_convert_to_initialized()
3524 map, ex, abut_ex); in ext4_ext_convert_to_initialized()
3547 allocated = ee_len - (map->m_lblk - ee_block); in ext4_ext_convert_to_initialized()
3549 WARN_ON(map->m_lblk < ee_block); in ext4_ext_convert_to_initialized()
3585 split_map.m_lblk = map->m_lblk; in ext4_ext_convert_to_initialized()
3586 split_map.m_len = map->m_len; in ext4_ext_convert_to_initialized()
3588 if (max_zeroout && (allocated > map->m_len)) { in ext4_ext_convert_to_initialized()
3592 cpu_to_le32(map->m_lblk); in ext4_ext_convert_to_initialized()
3595 ext4_ext_pblock(ex) + map->m_lblk - ee_block); in ext4_ext_convert_to_initialized()
3599 split_map.m_lblk = map->m_lblk; in ext4_ext_convert_to_initialized()
3601 } else if (map->m_lblk - ee_block + map->m_len < max_zeroout) { in ext4_ext_convert_to_initialized()
3603 if (map->m_lblk != ee_block) { in ext4_ext_convert_to_initialized()
3605 zero_ex.ee_len = cpu_to_le16(map->m_lblk - in ext4_ext_convert_to_initialized()
3615 split_map.m_len = map->m_lblk - ee_block + map->m_len; in ext4_ext_convert_to_initialized()
3616 allocated = map->m_len; in ext4_ext_convert_to_initialized()
3657 struct ext4_map_blocks *map, in ext4_split_convert_extents() argument
3670 (unsigned long long)map->m_lblk, map->m_len); in ext4_split_convert_extents()
3674 if (eof_block < map->m_lblk + map->m_len) in ext4_split_convert_extents()
3675 eof_block = map->m_lblk + map->m_len; in ext4_split_convert_extents()
3695 return ext4_split_extent(handle, inode, ppath, map, split_flag, flags); in ext4_split_convert_extents()
3700 struct ext4_map_blocks *map, in ext4_convert_unwritten_extents_endio() argument
3725 if (ee_block != map->m_lblk || ee_len > map->m_len) { in ext4_convert_unwritten_extents_endio()
3730 (unsigned long long)map->m_lblk, map->m_len); in ext4_convert_unwritten_extents_endio()
3732 err = ext4_split_convert_extents(handle, inode, map, ppath, in ext4_convert_unwritten_extents_endio()
3736 path = ext4_find_extent(inode, map->m_lblk, ppath, 0); in ext4_convert_unwritten_extents_endio()
3932 struct ext4_map_blocks *map, in convert_initialized_extent() argument
3947 if (map->m_len > EXT_UNWRITTEN_MAX_LEN) in convert_initialized_extent()
3948 map->m_len = EXT_UNWRITTEN_MAX_LEN / 2; in convert_initialized_extent()
3959 if (ee_block != map->m_lblk || ee_len > map->m_len) { in convert_initialized_extent()
3960 err = ext4_split_convert_extents(handle, inode, map, ppath, in convert_initialized_extent()
3964 path = ext4_find_extent(inode, map->m_lblk, ppath, 0); in convert_initialized_extent()
3971 (unsigned long) map->m_lblk); in convert_initialized_extent()
3994 err = check_eofblocks_fl(handle, inode, map->m_lblk, path, map->m_len); in convert_initialized_extent()
3997 map->m_flags |= EXT4_MAP_UNWRITTEN; in convert_initialized_extent()
3998 if (allocated > map->m_len) in convert_initialized_extent()
3999 allocated = map->m_len; in convert_initialized_extent()
4000 map->m_len = allocated; in convert_initialized_extent()
4006 struct ext4_map_blocks *map, in ext4_ext_handle_unwritten_extents() argument
4017 inode->i_ino, (unsigned long long)map->m_lblk, map->m_len, in ext4_ext_handle_unwritten_extents()
4027 trace_ext4_ext_handle_unwritten_extents(inode, map, flags, in ext4_ext_handle_unwritten_extents()
4032 ret = ext4_split_convert_extents(handle, inode, map, ppath, in ext4_ext_handle_unwritten_extents()
4045 map->m_flags |= EXT4_MAP_UNWRITTEN; in ext4_ext_handle_unwritten_extents()
4050 ret = ext4_convert_unwritten_extents_endio(handle, inode, map, in ext4_ext_handle_unwritten_extents()
4054 err = check_eofblocks_fl(handle, inode, map->m_lblk, in ext4_ext_handle_unwritten_extents()
4055 path, map->m_len); in ext4_ext_handle_unwritten_extents()
4058 map->m_flags |= EXT4_MAP_MAPPED; in ext4_ext_handle_unwritten_extents()
4059 map->m_pblk = newblock; in ext4_ext_handle_unwritten_extents()
4060 if (allocated > map->m_len) in ext4_ext_handle_unwritten_extents()
4061 allocated = map->m_len; in ext4_ext_handle_unwritten_extents()
4062 map->m_len = allocated; in ext4_ext_handle_unwritten_extents()
4071 map->m_flags |= EXT4_MAP_UNWRITTEN; in ext4_ext_handle_unwritten_extents()
4084 map->m_flags |= EXT4_MAP_UNWRITTEN; in ext4_ext_handle_unwritten_extents()
4089 ret = ext4_ext_convert_to_initialized(handle, inode, map, ppath, flags); in ext4_ext_handle_unwritten_extents()
4098 map->m_flags |= EXT4_MAP_NEW; in ext4_ext_handle_unwritten_extents()
4106 if (allocated > map->m_len) { in ext4_ext_handle_unwritten_extents()
4108 newblock + map->m_len, in ext4_ext_handle_unwritten_extents()
4109 allocated - map->m_len); in ext4_ext_handle_unwritten_extents()
4110 allocated = map->m_len; in ext4_ext_handle_unwritten_extents()
4112 map->m_len = allocated; in ext4_ext_handle_unwritten_extents()
4124 map->m_lblk, map->m_len); in ext4_ext_handle_unwritten_extents()
4132 map->m_flags |= EXT4_MAP_MAPPED; in ext4_ext_handle_unwritten_extents()
4134 err = check_eofblocks_fl(handle, inode, map->m_lblk, path, in ext4_ext_handle_unwritten_extents()
4135 map->m_len); in ext4_ext_handle_unwritten_extents()
4140 if (allocated > map->m_len) in ext4_ext_handle_unwritten_extents()
4141 allocated = map->m_len; in ext4_ext_handle_unwritten_extents()
4143 map->m_pblk = newblock; in ext4_ext_handle_unwritten_extents()
4144 map->m_len = allocated; in ext4_ext_handle_unwritten_extents()
4191 struct ext4_map_blocks *map, in get_implied_cluster_alloc() argument
4196 ext4_lblk_t c_offset = EXT4_LBLK_COFF(sbi, map->m_lblk); in get_implied_cluster_alloc()
4208 rr_cluster_start = EXT4_B2C(sbi, map->m_lblk); in get_implied_cluster_alloc()
4214 map->m_pblk = EXT4_PBLK_CMASK(sbi, ee_start) + c_offset; in get_implied_cluster_alloc()
4215 map->m_len = min(map->m_len, in get_implied_cluster_alloc()
4226 if (map->m_lblk < ee_block) in get_implied_cluster_alloc()
4227 map->m_len = min(map->m_len, ee_block - map->m_lblk); in get_implied_cluster_alloc()
4238 if (map->m_lblk > ee_block) { in get_implied_cluster_alloc()
4240 map->m_len = min(map->m_len, next - map->m_lblk); in get_implied_cluster_alloc()
4243 trace_ext4_get_implied_cluster_alloc_exit(sb, map, 1); in get_implied_cluster_alloc()
4247 trace_ext4_get_implied_cluster_alloc_exit(sb, map, 0); in get_implied_cluster_alloc()
4271 struct ext4_map_blocks *map, int flags) in ext4_ext_map_blocks() argument
4287 map->m_lblk, map->m_len, inode->i_ino); in ext4_ext_map_blocks()
4288 trace_ext4_ext_map_blocks_enter(inode, map->m_lblk, map->m_len, flags); in ext4_ext_map_blocks()
4291 path = ext4_find_extent(inode, map->m_lblk, NULL, 0); in ext4_ext_map_blocks()
4308 (unsigned long) map->m_lblk, depth, in ext4_ext_map_blocks()
4330 if (in_range(map->m_lblk, ee_block, ee_len)) { in ext4_ext_map_blocks()
4331 newblock = map->m_lblk - ee_block + ee_start; in ext4_ext_map_blocks()
4333 allocated = ee_len - (map->m_lblk - ee_block); in ext4_ext_map_blocks()
4334 ext_debug("%u fit into %u:%d -> %llu\n", map->m_lblk, in ext4_ext_map_blocks()
4344 handle, inode, map, &path, in ext4_ext_map_blocks()
4351 handle, inode, map, &path, flags, in ext4_ext_map_blocks()
4370 ext4_ext_put_gap_in_cache(inode, path, map->m_lblk); in ext4_ext_map_blocks()
4377 newex.ee_block = cpu_to_le32(map->m_lblk); in ext4_ext_map_blocks()
4378 cluster_offset = EXT4_LBLK_COFF(sbi, map->m_lblk); in ext4_ext_map_blocks()
4385 get_implied_cluster_alloc(inode->i_sb, map, ex, path)) { in ext4_ext_map_blocks()
4386 ar.len = allocated = map->m_len; in ext4_ext_map_blocks()
4387 newblock = map->m_pblk; in ext4_ext_map_blocks()
4393 ar.lleft = map->m_lblk; in ext4_ext_map_blocks()
4397 ar.lright = map->m_lblk; in ext4_ext_map_blocks()
4406 get_implied_cluster_alloc(inode->i_sb, map, ex2, path)) { in ext4_ext_map_blocks()
4407 ar.len = allocated = map->m_len; in ext4_ext_map_blocks()
4408 newblock = map->m_pblk; in ext4_ext_map_blocks()
4419 if (map->m_len > EXT_INIT_MAX_LEN && in ext4_ext_map_blocks()
4421 map->m_len = EXT_INIT_MAX_LEN; in ext4_ext_map_blocks()
4422 else if (map->m_len > EXT_UNWRITTEN_MAX_LEN && in ext4_ext_map_blocks()
4424 map->m_len = EXT_UNWRITTEN_MAX_LEN; in ext4_ext_map_blocks()
4427 newex.ee_len = cpu_to_le16(map->m_len); in ext4_ext_map_blocks()
4432 allocated = map->m_len; in ext4_ext_map_blocks()
4436 ar.goal = ext4_ext_find_goal(inode, path, map->m_lblk); in ext4_ext_map_blocks()
4437 ar.logical = map->m_lblk; in ext4_ext_map_blocks()
4446 offset = EXT4_LBLK_COFF(sbi, map->m_lblk); in ext4_ext_map_blocks()
4477 map->m_flags |= EXT4_MAP_UNWRITTEN; in ext4_ext_map_blocks()
4491 err = check_eofblocks_fl(handle, inode, map->m_lblk, in ext4_ext_map_blocks()
4520 if (allocated > map->m_len) in ext4_ext_map_blocks()
4521 allocated = map->m_len; in ext4_ext_map_blocks()
4522 map->m_flags |= EXT4_MAP_NEW; in ext4_ext_map_blocks()
4534 map->m_lblk, allocated); in ext4_ext_map_blocks()
4608 if (allocated > map->m_len) in ext4_ext_map_blocks()
4609 allocated = map->m_len; in ext4_ext_map_blocks()
4611 map->m_flags |= EXT4_MAP_MAPPED; in ext4_ext_map_blocks()
4612 map->m_pblk = newblock; in ext4_ext_map_blocks()
4613 map->m_len = allocated; in ext4_ext_map_blocks()
4618 trace_ext4_ext_map_blocks_exit(inode, flags, map, in ext4_ext_map_blocks()
4666 struct ext4_map_blocks map; in ext4_alloc_file_blocks() local
4670 map.m_lblk = offset; in ext4_alloc_file_blocks()
4671 map.m_len = len; in ext4_alloc_file_blocks()
4693 ret = ext4_map_blocks(handle, inode, &map, flags); in ext4_alloc_file_blocks()
4697 inode->i_ino, map.m_lblk, in ext4_alloc_file_blocks()
4698 map.m_len, ret); in ext4_alloc_file_blocks()
4703 map.m_lblk += ret; in ext4_alloc_file_blocks()
4704 map.m_len = len = len - ret; in ext4_alloc_file_blocks()
4705 epos = (loff_t)map.m_lblk << inode->i_blkbits; in ext4_alloc_file_blocks()
5002 struct ext4_map_blocks map; in ext4_convert_unwritten_extents() local
5005 map.m_lblk = offset >> blkbits; in ext4_convert_unwritten_extents()
5011 map.m_lblk); in ext4_convert_unwritten_extents()
5030 map.m_lblk += ret; in ext4_convert_unwritten_extents()
5031 map.m_len = (max_blocks -= ret); in ext4_convert_unwritten_extents()
5040 ret = ext4_map_blocks(handle, inode, &map, in ext4_convert_unwritten_extents()
5046 inode->i_ino, map.m_lblk, in ext4_convert_unwritten_extents()
5047 map.m_len, ret); in ext4_convert_unwritten_extents()