Lines Matching refs:em

1784 	struct extent_map *em;  in find_next_chunk()  local
1792 em = rb_entry(n, struct extent_map, rb_node); in find_next_chunk()
1793 ret = em->start + em->len; in find_next_chunk()
2952 struct extent_map *em; in btrfs_get_chunk_map() local
2956 em = lookup_extent_mapping(em_tree, logical, length); in btrfs_get_chunk_map()
2959 if (!em) { in btrfs_get_chunk_map()
2965 if (em->start > logical || em->start + em->len < logical) { in btrfs_get_chunk_map()
2968 logical, length, em->start, em->start + em->len); in btrfs_get_chunk_map()
2969 free_extent_map(em); in btrfs_get_chunk_map()
2974 return em; in btrfs_get_chunk_map()
2980 struct extent_map *em; in btrfs_remove_chunk() local
2986 em = btrfs_get_chunk_map(fs_info, chunk_offset, 1); in btrfs_remove_chunk()
2987 if (IS_ERR(em)) { in btrfs_remove_chunk()
2994 return PTR_ERR(em); in btrfs_remove_chunk()
2996 map = em->map_lookup; in btrfs_remove_chunk()
3042 trace_btrfs_chunk_free(fs_info, map, chunk_offset, em->len); in btrfs_remove_chunk()
3052 ret = btrfs_remove_block_group(trans, chunk_offset, em); in btrfs_remove_chunk()
3060 free_extent_map(em); in btrfs_remove_chunk()
5122 struct extent_map *em; in create_chunk() local
5150 em = alloc_extent_map(); in create_chunk()
5151 if (!em) { in create_chunk()
5155 set_bit(EXTENT_FLAG_FS_MAPPING, &em->flags); in create_chunk()
5156 em->map_lookup = map; in create_chunk()
5157 em->start = start; in create_chunk()
5158 em->len = ctl->chunk_size; in create_chunk()
5159 em->block_start = 0; in create_chunk()
5160 em->block_len = em->len; in create_chunk()
5161 em->orig_block_len = ctl->stripe_size; in create_chunk()
5165 ret = add_extent_mapping(em_tree, em, 0); in create_chunk()
5168 free_extent_map(em); in create_chunk()
5190 free_extent_map(em); in create_chunk()
5198 remove_extent_mapping(em_tree, em); in create_chunk()
5202 free_extent_map(em); in create_chunk()
5204 free_extent_map(em); in create_chunk()
5277 struct extent_map *em; in btrfs_finish_chunk_alloc() local
5285 em = btrfs_get_chunk_map(fs_info, chunk_offset, chunk_size); in btrfs_finish_chunk_alloc()
5286 if (IS_ERR(em)) in btrfs_finish_chunk_alloc()
5287 return PTR_ERR(em); in btrfs_finish_chunk_alloc()
5289 map = em->map_lookup; in btrfs_finish_chunk_alloc()
5291 stripe_size = em->orig_block_len; in btrfs_finish_chunk_alloc()
5361 free_extent_map(em); in btrfs_finish_chunk_alloc()
5390 struct extent_map *em; in btrfs_chunk_readonly() local
5396 em = btrfs_get_chunk_map(fs_info, chunk_offset, 1); in btrfs_chunk_readonly()
5397 if (IS_ERR(em)) in btrfs_chunk_readonly()
5400 map = em->map_lookup; in btrfs_chunk_readonly()
5422 free_extent_map(em); in btrfs_chunk_readonly()
5428 struct extent_map *em; in btrfs_mapping_tree_free() local
5432 em = lookup_extent_mapping(tree, 0, (u64)-1); in btrfs_mapping_tree_free()
5433 if (em) in btrfs_mapping_tree_free()
5434 remove_extent_mapping(tree, em); in btrfs_mapping_tree_free()
5436 if (!em) in btrfs_mapping_tree_free()
5439 free_extent_map(em); in btrfs_mapping_tree_free()
5441 free_extent_map(em); in btrfs_mapping_tree_free()
5447 struct extent_map *em; in btrfs_num_copies() local
5451 em = btrfs_get_chunk_map(fs_info, logical, len); in btrfs_num_copies()
5452 if (IS_ERR(em)) in btrfs_num_copies()
5461 map = em->map_lookup; in btrfs_num_copies()
5479 free_extent_map(em); in btrfs_num_copies()
5493 struct extent_map *em; in btrfs_full_stripe_len() local
5497 em = btrfs_get_chunk_map(fs_info, logical, len); in btrfs_full_stripe_len()
5499 if (!WARN_ON(IS_ERR(em))) { in btrfs_full_stripe_len()
5500 map = em->map_lookup; in btrfs_full_stripe_len()
5503 free_extent_map(em); in btrfs_full_stripe_len()
5510 struct extent_map *em; in btrfs_is_parity_mirror() local
5514 em = btrfs_get_chunk_map(fs_info, logical, len); in btrfs_is_parity_mirror()
5516 if(!WARN_ON(IS_ERR(em))) { in btrfs_is_parity_mirror()
5517 map = em->map_lookup; in btrfs_is_parity_mirror()
5520 free_extent_map(em); in btrfs_is_parity_mirror()
5641 struct extent_map *em; in __btrfs_map_block_for_discard() local
5665 em = btrfs_get_chunk_map(fs_info, logical, length); in __btrfs_map_block_for_discard()
5666 if (IS_ERR(em)) in __btrfs_map_block_for_discard()
5667 return PTR_ERR(em); in __btrfs_map_block_for_discard()
5669 map = em->map_lookup; in __btrfs_map_block_for_discard()
5676 offset = logical - em->start; in __btrfs_map_block_for_discard()
5677 length = min_t(u64, em->start + em->len - logical, length); in __btrfs_map_block_for_discard()
5782 free_extent_map(em); in __btrfs_map_block_for_discard()
5979 struct extent_map *em; in btrfs_get_io_geometry() local
5991 em = btrfs_get_chunk_map(fs_info, logical, len); in btrfs_get_io_geometry()
5992 if (IS_ERR(em)) in btrfs_get_io_geometry()
5993 return PTR_ERR(em); in btrfs_get_io_geometry()
5995 map = em->map_lookup; in btrfs_get_io_geometry()
5997 offset = logical - em->start; in btrfs_get_io_geometry()
6007 stripe_offset, offset, em->start, logical, stripe_len); in btrfs_get_io_geometry()
6044 len = min_t(u64, em->len - offset, max_len); in btrfs_get_io_geometry()
6046 len = em->len - offset; in btrfs_get_io_geometry()
6058 free_extent_map(em); in btrfs_get_io_geometry()
6068 struct extent_map *em; in __btrfs_map_block() local
6096 em = btrfs_get_chunk_map(fs_info, logical, *length); in __btrfs_map_block()
6097 ASSERT(!IS_ERR(em)); in __btrfs_map_block()
6098 map = em->map_lookup; in __btrfs_map_block()
6258 em->start + (tmp + i) * map->stripe_len; in __btrfs_map_block()
6300 free_extent_map(em); in __btrfs_map_block()
6650 struct extent_map *em; in read_one_chunk() local
6674 em = lookup_extent_mapping(map_tree, logical, 1); in read_one_chunk()
6678 if (em && em->start <= logical && em->start + em->len > logical) { in read_one_chunk()
6679 free_extent_map(em); in read_one_chunk()
6681 } else if (em) { in read_one_chunk()
6682 free_extent_map(em); in read_one_chunk()
6685 em = alloc_extent_map(); in read_one_chunk()
6686 if (!em) in read_one_chunk()
6690 free_extent_map(em); in read_one_chunk()
6694 set_bit(EXTENT_FLAG_FS_MAPPING, &em->flags); in read_one_chunk()
6695 em->map_lookup = map; in read_one_chunk()
6696 em->start = logical; in read_one_chunk()
6697 em->len = length; in read_one_chunk()
6698 em->orig_start = 0; in read_one_chunk()
6699 em->block_start = 0; in read_one_chunk()
6700 em->block_len = em->len; in read_one_chunk()
6709 em->orig_block_len = calc_stripe_length(map->type, em->len, in read_one_chunk()
6722 free_extent_map(em); in read_one_chunk()
6731 free_extent_map(em); in read_one_chunk()
6745 ret = add_extent_mapping(map_tree, em, 0); in read_one_chunk()
6750 em->start, em->len, ret); in read_one_chunk()
6752 free_extent_map(em); in read_one_chunk()
7065 struct extent_map *em; in btrfs_check_rw_degradable() local
7070 em = lookup_extent_mapping(map_tree, 0, (u64)-1); in btrfs_check_rw_degradable()
7073 if (!em) { in btrfs_check_rw_degradable()
7077 while (em) { in btrfs_check_rw_degradable()
7083 map = em->map_lookup; in btrfs_check_rw_degradable()
7101 em->start, missing, max_tolerated); in btrfs_check_rw_degradable()
7102 free_extent_map(em); in btrfs_check_rw_degradable()
7106 next_start = extent_map_end(em); in btrfs_check_rw_degradable()
7107 free_extent_map(em); in btrfs_check_rw_degradable()
7110 em = lookup_extent_mapping(map_tree, next_start, in btrfs_check_rw_degradable()
7593 struct extent_map *em; in verify_one_dev_extent() local
7602 em = lookup_extent_mapping(em_tree, chunk_offset, 1); in verify_one_dev_extent()
7605 if (!em) { in verify_one_dev_extent()
7613 map = em->map_lookup; in verify_one_dev_extent()
7614 stripe_len = calc_stripe_length(map->type, em->len, map->num_stripes); in verify_one_dev_extent()
7618 physical_offset, devid, em->start, physical_len, in verify_one_dev_extent()
7631 em->start); in verify_one_dev_extent()
7678 free_extent_map(em); in verify_one_dev_extent()
7685 struct extent_map *em; in verify_chunk_dev_extent_mapping() local
7691 em = rb_entry(node, struct extent_map, rb_node); in verify_chunk_dev_extent_mapping()
7692 if (em->map_lookup->num_stripes != in verify_chunk_dev_extent_mapping()
7693 em->map_lookup->verified_stripes) { in verify_chunk_dev_extent_mapping()
7696 em->start, em->map_lookup->verified_stripes, in verify_chunk_dev_extent_mapping()
7697 em->map_lookup->num_stripes); in verify_chunk_dev_extent_mapping()