Lines Matching refs:map

101 				struct ext4_map_blocks *map,
3303 struct ext4_map_blocks *map, in ext4_split_extent() argument
3314 int allocated = map->m_len; in ext4_split_extent()
3322 if (map->m_lblk + map->m_len < ee_block + ee_len) { in ext4_split_extent()
3331 map->m_lblk + map->m_len, split_flag1, flags1); in ext4_split_extent()
3335 allocated = ee_len - (map->m_lblk - ee_block); in ext4_split_extent()
3341 path = ext4_find_extent(inode, map->m_lblk, ppath, 0); in ext4_split_extent()
3348 (unsigned long) map->m_lblk); in ext4_split_extent()
3354 if (map->m_lblk >= ee_block) { in ext4_split_extent()
3362 map->m_lblk, split_flag1, flags); in ext4_split_extent()
3394 struct ext4_map_blocks *map, in ext4_ext_convert_to_initialized() argument
3405 unsigned int ee_len, depth, map_len = map->m_len; in ext4_ext_convert_to_initialized()
3412 (unsigned long long)map->m_lblk, map_len); in ext4_ext_convert_to_initialized()
3417 if (eof_block < map->m_lblk + map_len) in ext4_ext_convert_to_initialized()
3418 eof_block = map->m_lblk + map_len; in ext4_ext_convert_to_initialized()
3427 trace_ext4_ext_convert_to_initialized_enter(inode, map, ex); in ext4_ext_convert_to_initialized()
3431 BUG_ON(!in_range(map->m_lblk, ee_block, ee_len)); in ext4_ext_convert_to_initialized()
3448 if ((map->m_lblk == ee_block) && in ext4_ext_convert_to_initialized()
3480 map, ex, abut_ex); in ext4_ext_convert_to_initialized()
3494 } else if (((map->m_lblk + map_len) == (ee_block + ee_len)) && in ext4_ext_convert_to_initialized()
3518 ((map->m_lblk + map_len) == next_lblk) && /*C2*/ in ext4_ext_convert_to_initialized()
3526 map, ex, abut_ex); in ext4_ext_convert_to_initialized()
3549 allocated = ee_len - (map->m_lblk - ee_block); in ext4_ext_convert_to_initialized()
3551 WARN_ON(map->m_lblk < ee_block); in ext4_ext_convert_to_initialized()
3590 split_map.m_lblk = map->m_lblk; in ext4_ext_convert_to_initialized()
3591 split_map.m_len = map->m_len; in ext4_ext_convert_to_initialized()
3593 if (max_zeroout && (allocated > map->m_len)) { in ext4_ext_convert_to_initialized()
3597 cpu_to_le32(map->m_lblk); in ext4_ext_convert_to_initialized()
3600 ext4_ext_pblock(ex) + map->m_lblk - ee_block); in ext4_ext_convert_to_initialized()
3604 split_map.m_lblk = map->m_lblk; in ext4_ext_convert_to_initialized()
3606 } else if (map->m_lblk - ee_block + map->m_len < max_zeroout) { in ext4_ext_convert_to_initialized()
3608 if (map->m_lblk != ee_block) { in ext4_ext_convert_to_initialized()
3610 zero_ex.ee_len = cpu_to_le16(map->m_lblk - in ext4_ext_convert_to_initialized()
3620 split_map.m_len = map->m_lblk - ee_block + map->m_len; in ext4_ext_convert_to_initialized()
3621 allocated = map->m_len; in ext4_ext_convert_to_initialized()
3662 struct ext4_map_blocks *map, in ext4_split_convert_extents() argument
3675 (unsigned long long)map->m_lblk, map->m_len); in ext4_split_convert_extents()
3679 if (eof_block < map->m_lblk + map->m_len) in ext4_split_convert_extents()
3680 eof_block = map->m_lblk + map->m_len; in ext4_split_convert_extents()
3700 return ext4_split_extent(handle, inode, ppath, map, split_flag, flags); in ext4_split_convert_extents()
3705 struct ext4_map_blocks *map, in ext4_convert_unwritten_extents_endio() argument
3730 if (ee_block != map->m_lblk || ee_len > map->m_len) { in ext4_convert_unwritten_extents_endio()
3735 (unsigned long long)map->m_lblk, map->m_len); in ext4_convert_unwritten_extents_endio()
3737 err = ext4_split_convert_extents(handle, inode, map, ppath, in ext4_convert_unwritten_extents_endio()
3741 path = ext4_find_extent(inode, map->m_lblk, ppath, 0); in ext4_convert_unwritten_extents_endio()
3937 struct ext4_map_blocks *map, in convert_initialized_extent() argument
3952 if (map->m_len > EXT_UNWRITTEN_MAX_LEN) in convert_initialized_extent()
3953 map->m_len = EXT_UNWRITTEN_MAX_LEN / 2; in convert_initialized_extent()
3964 if (ee_block != map->m_lblk || ee_len > map->m_len) { in convert_initialized_extent()
3965 err = ext4_split_convert_extents(handle, inode, map, ppath, in convert_initialized_extent()
3969 path = ext4_find_extent(inode, map->m_lblk, ppath, 0); in convert_initialized_extent()
3976 (unsigned long) map->m_lblk); in convert_initialized_extent()
3999 err = check_eofblocks_fl(handle, inode, map->m_lblk, path, map->m_len); in convert_initialized_extent()
4002 map->m_flags |= EXT4_MAP_UNWRITTEN; in convert_initialized_extent()
4003 if (allocated > map->m_len) in convert_initialized_extent()
4004 allocated = map->m_len; in convert_initialized_extent()
4005 map->m_len = allocated; in convert_initialized_extent()
4011 struct ext4_map_blocks *map, in ext4_ext_handle_unwritten_extents() argument
4022 inode->i_ino, (unsigned long long)map->m_lblk, map->m_len, in ext4_ext_handle_unwritten_extents()
4032 trace_ext4_ext_handle_unwritten_extents(inode, map, flags, in ext4_ext_handle_unwritten_extents()
4037 ret = ext4_split_convert_extents(handle, inode, map, ppath, in ext4_ext_handle_unwritten_extents()
4050 map->m_flags |= EXT4_MAP_UNWRITTEN; in ext4_ext_handle_unwritten_extents()
4055 ret = ext4_convert_unwritten_extents_endio(handle, inode, map, in ext4_ext_handle_unwritten_extents()
4059 err = check_eofblocks_fl(handle, inode, map->m_lblk, in ext4_ext_handle_unwritten_extents()
4060 path, map->m_len); in ext4_ext_handle_unwritten_extents()
4063 map->m_flags |= EXT4_MAP_MAPPED; in ext4_ext_handle_unwritten_extents()
4064 map->m_pblk = newblock; in ext4_ext_handle_unwritten_extents()
4065 if (allocated > map->m_len) in ext4_ext_handle_unwritten_extents()
4066 allocated = map->m_len; in ext4_ext_handle_unwritten_extents()
4067 map->m_len = allocated; in ext4_ext_handle_unwritten_extents()
4076 map->m_flags |= EXT4_MAP_UNWRITTEN; in ext4_ext_handle_unwritten_extents()
4089 map->m_flags |= EXT4_MAP_UNWRITTEN; in ext4_ext_handle_unwritten_extents()
4094 ret = ext4_ext_convert_to_initialized(handle, inode, map, ppath, flags); in ext4_ext_handle_unwritten_extents()
4103 map->m_flags |= EXT4_MAP_NEW; in ext4_ext_handle_unwritten_extents()
4111 if (allocated > map->m_len) { in ext4_ext_handle_unwritten_extents()
4113 newblock + map->m_len, in ext4_ext_handle_unwritten_extents()
4114 allocated - map->m_len); in ext4_ext_handle_unwritten_extents()
4115 allocated = map->m_len; in ext4_ext_handle_unwritten_extents()
4117 map->m_len = allocated; in ext4_ext_handle_unwritten_extents()
4129 map->m_lblk, map->m_len); in ext4_ext_handle_unwritten_extents()
4137 map->m_flags |= EXT4_MAP_MAPPED; in ext4_ext_handle_unwritten_extents()
4139 err = check_eofblocks_fl(handle, inode, map->m_lblk, path, in ext4_ext_handle_unwritten_extents()
4140 map->m_len); in ext4_ext_handle_unwritten_extents()
4145 if (allocated > map->m_len) in ext4_ext_handle_unwritten_extents()
4146 allocated = map->m_len; in ext4_ext_handle_unwritten_extents()
4148 map->m_pblk = newblock; in ext4_ext_handle_unwritten_extents()
4149 map->m_len = allocated; in ext4_ext_handle_unwritten_extents()
4196 struct ext4_map_blocks *map, in get_implied_cluster_alloc() argument
4201 ext4_lblk_t c_offset = EXT4_LBLK_COFF(sbi, map->m_lblk); in get_implied_cluster_alloc()
4213 rr_cluster_start = EXT4_B2C(sbi, map->m_lblk); in get_implied_cluster_alloc()
4219 map->m_pblk = EXT4_PBLK_CMASK(sbi, ee_start) + c_offset; in get_implied_cluster_alloc()
4220 map->m_len = min(map->m_len, in get_implied_cluster_alloc()
4231 if (map->m_lblk < ee_block) in get_implied_cluster_alloc()
4232 map->m_len = min(map->m_len, ee_block - map->m_lblk); in get_implied_cluster_alloc()
4243 if (map->m_lblk > ee_block) { in get_implied_cluster_alloc()
4245 map->m_len = min(map->m_len, next - map->m_lblk); in get_implied_cluster_alloc()
4248 trace_ext4_get_implied_cluster_alloc_exit(sb, map, 1); in get_implied_cluster_alloc()
4252 trace_ext4_get_implied_cluster_alloc_exit(sb, map, 0); in get_implied_cluster_alloc()
4276 struct ext4_map_blocks *map, int flags) in ext4_ext_map_blocks() argument
4292 map->m_lblk, map->m_len, inode->i_ino); in ext4_ext_map_blocks()
4293 trace_ext4_ext_map_blocks_enter(inode, map->m_lblk, map->m_len, flags); in ext4_ext_map_blocks()
4296 path = ext4_find_extent(inode, map->m_lblk, NULL, 0); in ext4_ext_map_blocks()
4313 (unsigned long) map->m_lblk, depth, in ext4_ext_map_blocks()
4335 if (in_range(map->m_lblk, ee_block, ee_len)) { in ext4_ext_map_blocks()
4336 newblock = map->m_lblk - ee_block + ee_start; in ext4_ext_map_blocks()
4338 allocated = ee_len - (map->m_lblk - ee_block); in ext4_ext_map_blocks()
4339 ext_debug("%u fit into %u:%d -> %llu\n", map->m_lblk, in ext4_ext_map_blocks()
4349 handle, inode, map, &path, in ext4_ext_map_blocks()
4356 handle, inode, map, &path, flags, in ext4_ext_map_blocks()
4375 ext4_ext_put_gap_in_cache(inode, path, map->m_lblk); in ext4_ext_map_blocks()
4382 newex.ee_block = cpu_to_le32(map->m_lblk); in ext4_ext_map_blocks()
4383 cluster_offset = EXT4_LBLK_COFF(sbi, map->m_lblk); in ext4_ext_map_blocks()
4390 get_implied_cluster_alloc(inode->i_sb, map, ex, path)) { in ext4_ext_map_blocks()
4391 ar.len = allocated = map->m_len; in ext4_ext_map_blocks()
4392 newblock = map->m_pblk; in ext4_ext_map_blocks()
4398 ar.lleft = map->m_lblk; in ext4_ext_map_blocks()
4402 ar.lright = map->m_lblk; in ext4_ext_map_blocks()
4411 get_implied_cluster_alloc(inode->i_sb, map, ex2, path)) { in ext4_ext_map_blocks()
4412 ar.len = allocated = map->m_len; in ext4_ext_map_blocks()
4413 newblock = map->m_pblk; in ext4_ext_map_blocks()
4424 if (map->m_len > EXT_INIT_MAX_LEN && in ext4_ext_map_blocks()
4426 map->m_len = EXT_INIT_MAX_LEN; in ext4_ext_map_blocks()
4427 else if (map->m_len > EXT_UNWRITTEN_MAX_LEN && in ext4_ext_map_blocks()
4429 map->m_len = EXT_UNWRITTEN_MAX_LEN; in ext4_ext_map_blocks()
4432 newex.ee_len = cpu_to_le16(map->m_len); in ext4_ext_map_blocks()
4437 allocated = map->m_len; in ext4_ext_map_blocks()
4441 ar.goal = ext4_ext_find_goal(inode, path, map->m_lblk); in ext4_ext_map_blocks()
4442 ar.logical = map->m_lblk; in ext4_ext_map_blocks()
4451 offset = EXT4_LBLK_COFF(sbi, map->m_lblk); in ext4_ext_map_blocks()
4484 map->m_flags |= EXT4_MAP_UNWRITTEN; in ext4_ext_map_blocks()
4498 err = check_eofblocks_fl(handle, inode, map->m_lblk, in ext4_ext_map_blocks()
4527 if (allocated > map->m_len) in ext4_ext_map_blocks()
4528 allocated = map->m_len; in ext4_ext_map_blocks()
4529 map->m_flags |= EXT4_MAP_NEW; in ext4_ext_map_blocks()
4541 map->m_lblk, allocated); in ext4_ext_map_blocks()
4615 if (allocated > map->m_len) in ext4_ext_map_blocks()
4616 allocated = map->m_len; in ext4_ext_map_blocks()
4618 map->m_flags |= EXT4_MAP_MAPPED; in ext4_ext_map_blocks()
4619 map->m_pblk = newblock; in ext4_ext_map_blocks()
4620 map->m_len = allocated; in ext4_ext_map_blocks()
4625 trace_ext4_ext_map_blocks_exit(inode, flags, map, in ext4_ext_map_blocks()
4674 struct ext4_map_blocks map; in ext4_alloc_file_blocks() local
4678 map.m_lblk = offset; in ext4_alloc_file_blocks()
4679 map.m_len = len; in ext4_alloc_file_blocks()
4716 ret = ext4_map_blocks(handle, inode, &map, flags); in ext4_alloc_file_blocks()
4720 inode->i_ino, map.m_lblk, in ext4_alloc_file_blocks()
4721 map.m_len, ret); in ext4_alloc_file_blocks()
4726 map.m_lblk += ret; in ext4_alloc_file_blocks()
4727 map.m_len = len = len - ret; in ext4_alloc_file_blocks()
4728 epos = (loff_t)map.m_lblk << inode->i_blkbits; in ext4_alloc_file_blocks()
5030 struct ext4_map_blocks map; in ext4_convert_unwritten_extents() local
5033 map.m_lblk = offset >> blkbits; in ext4_convert_unwritten_extents()
5039 map.m_lblk); in ext4_convert_unwritten_extents()
5058 map.m_lblk += ret; in ext4_convert_unwritten_extents()
5059 map.m_len = (max_blocks -= ret); in ext4_convert_unwritten_extents()
5068 ret = ext4_map_blocks(handle, inode, &map, in ext4_convert_unwritten_extents()
5074 inode->i_ino, map.m_lblk, in ext4_convert_unwritten_extents()
5075 map.m_len, ret); in ext4_convert_unwritten_extents()