Lines Matching refs:map
3353 struct ext4_map_blocks *map, in ext4_split_extent() argument
3369 if (map->m_lblk + map->m_len < ee_block + ee_len) { in ext4_split_extent()
3378 map->m_lblk + map->m_len, split_flag1, flags1); in ext4_split_extent()
3385 path = ext4_find_extent(inode, map->m_lblk, path, flags); in ext4_split_extent()
3392 (unsigned long) map->m_lblk); in ext4_split_extent()
3399 if (map->m_lblk >= ee_block) { in ext4_split_extent()
3407 map->m_lblk, split_flag1, flags); in ext4_split_extent()
3413 if (map->m_lblk + map->m_len > ee_block + ee_len) in ext4_split_extent()
3414 *allocated = ee_len - (map->m_lblk - ee_block); in ext4_split_extent()
3416 *allocated = map->m_len; in ext4_split_extent()
3444 struct ext4_map_blocks *map, struct ext4_ext_path *path, in ext4_ext_convert_to_initialized() argument
3453 unsigned int ee_len, depth, map_len = map->m_len; in ext4_ext_convert_to_initialized()
3459 (unsigned long long)map->m_lblk, map_len); in ext4_ext_convert_to_initialized()
3464 if (eof_block < map->m_lblk + map_len) in ext4_ext_convert_to_initialized()
3465 eof_block = map->m_lblk + map_len; in ext4_ext_convert_to_initialized()
3475 trace_ext4_ext_convert_to_initialized_enter(inode, map, ex); in ext4_ext_convert_to_initialized()
3479 BUG_ON(!in_range(map->m_lblk, ee_block, ee_len)); in ext4_ext_convert_to_initialized()
3497 if ((map->m_lblk == ee_block) && in ext4_ext_convert_to_initialized()
3529 map, ex, abut_ex); in ext4_ext_convert_to_initialized()
3543 } else if (((map->m_lblk + map_len) == (ee_block + ee_len)) && in ext4_ext_convert_to_initialized()
3567 ((map->m_lblk + map_len) == next_lblk) && /*C2*/ in ext4_ext_convert_to_initialized()
3575 map, ex, abut_ex); in ext4_ext_convert_to_initialized()
3600 *allocated = ee_len - (map->m_lblk - ee_block); in ext4_ext_convert_to_initialized()
3602 WARN_ON(map->m_lblk < ee_block); in ext4_ext_convert_to_initialized()
3624 split_map.m_lblk = map->m_lblk; in ext4_ext_convert_to_initialized()
3625 split_map.m_len = map->m_len; in ext4_ext_convert_to_initialized()
3659 *allocated = map->m_len; in ext4_ext_convert_to_initialized()
3707 struct ext4_map_blocks *map, in ext4_split_convert_extents() argument
3718 (unsigned long long)map->m_lblk, map->m_len); in ext4_split_convert_extents()
3722 if (eof_block < map->m_lblk + map->m_len) in ext4_split_convert_extents()
3723 eof_block = map->m_lblk + map->m_len; in ext4_split_convert_extents()
3743 return ext4_split_extent(handle, inode, path, map, split_flag, flags, in ext4_split_convert_extents()
3749 struct ext4_map_blocks *map, in ext4_convert_unwritten_extents_endio() argument
3772 if (ee_block != map->m_lblk || ee_len > map->m_len) { in ext4_convert_unwritten_extents_endio()
3777 (unsigned long long)map->m_lblk, map->m_len); in ext4_convert_unwritten_extents_endio()
3779 path = ext4_split_convert_extents(handle, inode, map, path, in ext4_convert_unwritten_extents_endio()
3784 path = ext4_find_extent(inode, map->m_lblk, path, 0); in ext4_convert_unwritten_extents_endio()
3817 struct ext4_map_blocks *map, in convert_initialized_extent() argument
3831 if (map->m_len > EXT_UNWRITTEN_MAX_LEN) in convert_initialized_extent()
3832 map->m_len = EXT_UNWRITTEN_MAX_LEN / 2; in convert_initialized_extent()
3842 if (ee_block != map->m_lblk || ee_len > map->m_len) { in convert_initialized_extent()
3843 path = ext4_split_convert_extents(handle, inode, map, path, in convert_initialized_extent()
3848 path = ext4_find_extent(inode, map->m_lblk, path, 0); in convert_initialized_extent()
3855 (unsigned long) map->m_lblk); in convert_initialized_extent()
3880 map->m_flags |= EXT4_MAP_UNWRITTEN; in convert_initialized_extent()
3881 if (*allocated > map->m_len) in convert_initialized_extent()
3882 *allocated = map->m_len; in convert_initialized_extent()
3883 map->m_len = *allocated; in convert_initialized_extent()
3893 struct ext4_map_blocks *map, in ext4_ext_handle_unwritten_extents() argument
3900 (unsigned long long)map->m_lblk, map->m_len, flags, in ext4_ext_handle_unwritten_extents()
3910 trace_ext4_ext_handle_unwritten_extents(inode, map, flags, in ext4_ext_handle_unwritten_extents()
3915 path = ext4_split_convert_extents(handle, inode, map, path, in ext4_ext_handle_unwritten_extents()
3926 map->m_len); in ext4_ext_handle_unwritten_extents()
3930 map->m_flags |= EXT4_MAP_UNWRITTEN; in ext4_ext_handle_unwritten_extents()
3936 map, path); in ext4_ext_handle_unwritten_extents()
3948 map->m_flags |= EXT4_MAP_UNWRITTEN; in ext4_ext_handle_unwritten_extents()
3961 map->m_flags |= EXT4_MAP_UNWRITTEN; in ext4_ext_handle_unwritten_extents()
3970 path = ext4_ext_convert_to_initialized(handle, inode, map, path, in ext4_ext_handle_unwritten_extents()
3981 map->m_len); in ext4_ext_handle_unwritten_extents()
3987 map->m_flags |= EXT4_MAP_NEW; in ext4_ext_handle_unwritten_extents()
3989 map->m_flags |= EXT4_MAP_MAPPED; in ext4_ext_handle_unwritten_extents()
3991 map->m_pblk = newblock; in ext4_ext_handle_unwritten_extents()
3992 if (*allocated > map->m_len) in ext4_ext_handle_unwritten_extents()
3993 *allocated = map->m_len; in ext4_ext_handle_unwritten_extents()
3994 map->m_len = *allocated; in ext4_ext_handle_unwritten_extents()
4045 struct ext4_map_blocks *map, in get_implied_cluster_alloc() argument
4050 ext4_lblk_t c_offset = EXT4_LBLK_COFF(sbi, map->m_lblk); in get_implied_cluster_alloc()
4062 rr_cluster_start = EXT4_B2C(sbi, map->m_lblk); in get_implied_cluster_alloc()
4068 map->m_pblk = EXT4_PBLK_CMASK(sbi, ee_start) + c_offset; in get_implied_cluster_alloc()
4069 map->m_len = min(map->m_len, in get_implied_cluster_alloc()
4080 if (map->m_lblk < ee_block) in get_implied_cluster_alloc()
4081 map->m_len = min(map->m_len, ee_block - map->m_lblk); in get_implied_cluster_alloc()
4092 if (map->m_lblk > ee_block) { in get_implied_cluster_alloc()
4094 map->m_len = min(map->m_len, next - map->m_lblk); in get_implied_cluster_alloc()
4097 trace_ext4_get_implied_cluster_alloc_exit(sb, map, 1); in get_implied_cluster_alloc()
4101 trace_ext4_get_implied_cluster_alloc_exit(sb, map, 0); in get_implied_cluster_alloc()
4192 struct ext4_map_blocks *map, int flags) in ext4_ext_map_blocks() argument
4204 ext_debug(inode, "blocks %u/%u requested\n", map->m_lblk, map->m_len); in ext4_ext_map_blocks()
4205 trace_ext4_ext_map_blocks_enter(inode, map->m_lblk, map->m_len, flags); in ext4_ext_map_blocks()
4208 path = ext4_find_extent(inode, map->m_lblk, NULL, flags); in ext4_ext_map_blocks()
4224 (unsigned long) map->m_lblk, depth, in ext4_ext_map_blocks()
4246 if (in_range(map->m_lblk, ee_block, ee_len)) { in ext4_ext_map_blocks()
4247 newblock = map->m_lblk - ee_block + ee_start; in ext4_ext_map_blocks()
4249 allocated = ee_len - (map->m_lblk - ee_block); in ext4_ext_map_blocks()
4251 map->m_lblk, ee_block, ee_len, newblock); in ext4_ext_map_blocks()
4260 inode, map, path, &allocated); in ext4_ext_map_blocks()
4265 map->m_flags |= EXT4_MAP_MAPPED; in ext4_ext_map_blocks()
4266 map->m_pblk = newblock; in ext4_ext_map_blocks()
4267 if (allocated > map->m_len) in ext4_ext_map_blocks()
4268 allocated = map->m_len; in ext4_ext_map_blocks()
4269 map->m_len = allocated; in ext4_ext_map_blocks()
4275 handle, inode, map, path, flags, in ext4_ext_map_blocks()
4290 len = ext4_ext_determine_insert_hole(inode, path, map->m_lblk); in ext4_ext_map_blocks()
4292 map->m_pblk = 0; in ext4_ext_map_blocks()
4293 map->m_len = min_t(unsigned int, map->m_len, len); in ext4_ext_map_blocks()
4300 newex.ee_block = cpu_to_le32(map->m_lblk); in ext4_ext_map_blocks()
4301 cluster_offset = EXT4_LBLK_COFF(sbi, map->m_lblk); in ext4_ext_map_blocks()
4308 get_implied_cluster_alloc(inode->i_sb, map, ex, path)) { in ext4_ext_map_blocks()
4309 ar.len = allocated = map->m_len; in ext4_ext_map_blocks()
4310 newblock = map->m_pblk; in ext4_ext_map_blocks()
4315 ar.lleft = map->m_lblk; in ext4_ext_map_blocks()
4319 ar.lright = map->m_lblk; in ext4_ext_map_blocks()
4328 get_implied_cluster_alloc(inode->i_sb, map, &ex2, path)) { in ext4_ext_map_blocks()
4329 ar.len = allocated = map->m_len; in ext4_ext_map_blocks()
4330 newblock = map->m_pblk; in ext4_ext_map_blocks()
4341 if (map->m_len > EXT_INIT_MAX_LEN && in ext4_ext_map_blocks()
4343 map->m_len = EXT_INIT_MAX_LEN; in ext4_ext_map_blocks()
4344 else if (map->m_len > EXT_UNWRITTEN_MAX_LEN && in ext4_ext_map_blocks()
4346 map->m_len = EXT_UNWRITTEN_MAX_LEN; in ext4_ext_map_blocks()
4349 newex.ee_len = cpu_to_le16(map->m_len); in ext4_ext_map_blocks()
4354 allocated = map->m_len; in ext4_ext_map_blocks()
4358 ar.goal = ext4_ext_find_goal(inode, path, map->m_lblk); in ext4_ext_map_blocks()
4359 ar.logical = map->m_lblk; in ext4_ext_map_blocks()
4368 offset = EXT4_LBLK_COFF(sbi, map->m_lblk); in ext4_ext_map_blocks()
4401 map->m_flags |= EXT4_MAP_UNWRITTEN; in ext4_ext_map_blocks()
4434 map->m_flags |= (EXT4_MAP_NEW | EXT4_MAP_MAPPED); in ext4_ext_map_blocks()
4435 map->m_pblk = pblk; in ext4_ext_map_blocks()
4436 map->m_len = ar.len; in ext4_ext_map_blocks()
4437 allocated = map->m_len; in ext4_ext_map_blocks()
4451 map->m_flags |= EXT4_MAP_QUERY_LAST_IN_LEAF; in ext4_ext_map_blocks()
4456 trace_ext4_ext_map_blocks_exit(inode, flags, map, in ext4_ext_map_blocks()
4501 struct ext4_map_blocks map; in ext4_alloc_file_blocks() local
4508 map.m_lblk = offset; in ext4_alloc_file_blocks()
4509 map.m_len = len; in ext4_alloc_file_blocks()
4551 ret = ext4_map_blocks(handle, inode, &map, flags); in ext4_alloc_file_blocks()
4555 inode->i_ino, map.m_lblk, in ext4_alloc_file_blocks()
4556 map.m_len, ret); in ext4_alloc_file_blocks()
4565 epos = (loff_t)(map.m_lblk + ret) << blkbits; in ext4_alloc_file_blocks()
4587 (map.m_flags & (EXT4_MAP_MAPPED | EXT4_MAP_UNWRITTEN))) { in ext4_alloc_file_blocks()
4588 ret2 = ext4_issue_zeroout(inode, map.m_lblk, map.m_pblk, in ext4_alloc_file_blocks()
4589 map.m_len); in ext4_alloc_file_blocks()
4592 inode, (loff_t)map.m_lblk << blkbits, in ext4_alloc_file_blocks()
4593 (loff_t)map.m_len << blkbits); in ext4_alloc_file_blocks()
4598 map.m_lblk += ret; in ext4_alloc_file_blocks()
4599 map.m_len = len = len - ret; in ext4_alloc_file_blocks()
4873 struct ext4_map_blocks map; in ext4_convert_unwritten_extents_atomic() local
4878 map.m_lblk = offset >> blkbits; in ext4_convert_unwritten_extents_atomic()
4900 map.m_lblk += ret; in ext4_convert_unwritten_extents_atomic()
4901 map.m_len = (max_blocks -= ret); in ext4_convert_unwritten_extents_atomic()
4902 ret = ext4_map_blocks(handle, inode, &map, flags); in ext4_convert_unwritten_extents_atomic()
4908 inode->i_ino, map.m_lblk, in ext4_convert_unwritten_extents_atomic()
4909 map.m_len, ret); in ext4_convert_unwritten_extents_atomic()
4926 inode->i_ino, map.m_lblk, in ext4_convert_unwritten_extents_atomic()
4927 map.m_len, ret, ret2); in ext4_convert_unwritten_extents_atomic()
4947 struct ext4_map_blocks map; in ext4_convert_unwritten_extents() local
4951 map.m_lblk = offset >> blkbits; in ext4_convert_unwritten_extents()
4961 map.m_lblk += ret; in ext4_convert_unwritten_extents()
4962 map.m_len = (max_blocks -= ret); in ext4_convert_unwritten_extents()
4976 ret = ext4_map_blocks(handle, inode, &map, in ext4_convert_unwritten_extents()
4983 inode->i_ino, map.m_lblk, in ext4_convert_unwritten_extents()
4984 map.m_len, ret); in ext4_convert_unwritten_extents()
6037 struct ext4_map_blocks map; in skip_hole() local
6039 map.m_lblk = *cur; in skip_hole()
6040 map.m_len = ((inode->i_size) >> inode->i_sb->s_blocksize_bits) - *cur; in skip_hole()
6042 ret = ext4_map_blocks(NULL, inode, &map, 0); in skip_hole()
6047 *cur = *cur + map.m_len; in skip_hole()
6059 struct ext4_map_blocks map; in ext4_ext_replay_set_iblocks() local
6074 map.m_lblk = cur; in ext4_ext_replay_set_iblocks()
6075 map.m_len = end - cur; in ext4_ext_replay_set_iblocks()
6076 ret = ext4_map_blocks(NULL, inode, &map, 0); in ext4_ext_replay_set_iblocks()
6081 cur = cur + map.m_len; in ext4_ext_replay_set_iblocks()
6145 struct ext4_map_blocks map; in ext4_ext_clear_bb() local
6162 map.m_lblk = cur; in ext4_ext_clear_bb()
6163 map.m_len = end - cur; in ext4_ext_clear_bb()
6164 ret = ext4_map_blocks(NULL, inode, &map, 0); in ext4_ext_clear_bb()
6168 path = ext4_find_extent(inode, map.m_lblk, path, 0); in ext4_ext_clear_bb()
6179 ext4_mb_mark_bb(inode->i_sb, map.m_pblk, map.m_len, false); in ext4_ext_clear_bb()
6181 map.m_lblk, map.m_pblk, map.m_len, 1); in ext4_ext_clear_bb()
6183 cur = cur + map.m_len; in ext4_ext_clear_bb()