Lines Matching refs:em

938 	struct extent_map *em;  in __get_extent_map()  local
941 em = *em_cached; in __get_extent_map()
942 if (extent_map_in_tree(em) && start >= em->start && in __get_extent_map()
943 start < extent_map_end(em)) { in __get_extent_map()
944 refcount_inc(&em->refs); in __get_extent_map()
945 return em; in __get_extent_map()
948 free_extent_map(em); in __get_extent_map()
952 em = btrfs_get_extent(BTRFS_I(inode), page, pg_offset, start, len); in __get_extent_map()
953 if (em_cached && !IS_ERR(em)) { in __get_extent_map()
955 refcount_inc(&em->refs); in __get_extent_map()
956 *em_cached = em; in __get_extent_map()
958 return em; in __get_extent_map()
978 struct extent_map *em; in btrfs_do_readpage() local
1015 em = __get_extent_map(inode, page, pg_offset, cur, in btrfs_do_readpage()
1017 if (IS_ERR(em)) { in btrfs_do_readpage()
1020 return PTR_ERR(em); in btrfs_do_readpage()
1022 extent_offset = cur - em->start; in btrfs_do_readpage()
1023 BUG_ON(extent_map_end(em) <= cur); in btrfs_do_readpage()
1026 if (test_bit(EXTENT_FLAG_COMPRESSED, &em->flags)) in btrfs_do_readpage()
1027 compress_type = em->compress_type; in btrfs_do_readpage()
1029 iosize = min(extent_map_end(em) - cur, end - cur + 1); in btrfs_do_readpage()
1032 disk_bytenr = em->block_start; in btrfs_do_readpage()
1034 disk_bytenr = em->block_start + extent_offset; in btrfs_do_readpage()
1035 block_start = em->block_start; in btrfs_do_readpage()
1036 if (test_bit(EXTENT_FLAG_PREALLOC, &em->flags)) in btrfs_do_readpage()
1073 if (test_bit(EXTENT_FLAG_COMPRESSED, &em->flags) && in btrfs_do_readpage()
1075 *prev_em_start != em->start) in btrfs_do_readpage()
1079 *prev_em_start = em->start; in btrfs_do_readpage()
1081 free_extent_map(em); in btrfs_do_readpage()
1082 em = NULL; in btrfs_do_readpage()
1292 struct extent_map *em; in __extent_writepage_io() local
1335 em = btrfs_get_extent(inode, NULL, 0, cur, len); in __extent_writepage_io()
1336 if (IS_ERR(em)) { in __extent_writepage_io()
1337 ret = PTR_ERR_OR_ZERO(em); in __extent_writepage_io()
1341 extent_offset = cur - em->start; in __extent_writepage_io()
1342 em_end = extent_map_end(em); in __extent_writepage_io()
1345 ASSERT(IS_ALIGNED(em->start, fs_info->sectorsize)); in __extent_writepage_io()
1346 ASSERT(IS_ALIGNED(em->len, fs_info->sectorsize)); in __extent_writepage_io()
1348 block_start = em->block_start; in __extent_writepage_io()
1349 disk_bytenr = em->block_start + extent_offset; in __extent_writepage_io()
1351 ASSERT(!test_bit(EXTENT_FLAG_COMPRESSED, &em->flags)); in __extent_writepage_io()
1360 free_extent_map(em); in __extent_writepage_io()
1361 em = NULL; in __extent_writepage_io()
2329 struct extent_map *em; in try_release_extent_mapping() local
2345 em = lookup_extent_mapping(map, start, len); in try_release_extent_mapping()
2346 if (!em) { in try_release_extent_mapping()
2350 if (test_bit(EXTENT_FLAG_PINNED, &em->flags) || in try_release_extent_mapping()
2351 em->start != start) { in try_release_extent_mapping()
2353 free_extent_map(em); in try_release_extent_mapping()
2356 if (test_range_bit(tree, em->start, in try_release_extent_mapping()
2357 extent_map_end(em) - 1, in try_release_extent_mapping()
2366 if (list_empty(&em->list) || in try_release_extent_mapping()
2367 test_bit(EXTENT_FLAG_LOGGING, &em->flags)) in try_release_extent_mapping()
2380 if (em->generation >= cur_gen) in try_release_extent_mapping()
2391 remove_extent_mapping(map, em); in try_release_extent_mapping()
2393 free_extent_map(em); in try_release_extent_mapping()
2395 start = extent_map_end(em); in try_release_extent_mapping()
2399 free_extent_map(em); in try_release_extent_mapping()