Lines Matching refs:em

488 	struct extent_map *em;  in defrag_get_extent()  local
493 em = alloc_extent_map(); in defrag_get_extent()
494 if (!em) { in defrag_get_extent()
566 em->start = start; in defrag_get_extent()
567 em->orig_start = start; in defrag_get_extent()
568 em->block_start = EXTENT_MAP_HOLE; in defrag_get_extent()
569 em->len = key.offset - start; in defrag_get_extent()
587 btrfs_extent_item_to_extent_map(inode, &path, fi, em); in defrag_get_extent()
597 return em; in defrag_get_extent()
601 free_extent_map(em); in defrag_get_extent()
606 free_extent_map(em); in defrag_get_extent()
615 struct extent_map *em; in defrag_lookup_extent() local
623 em = lookup_extent_mapping(em_tree, start, sectorsize); in defrag_lookup_extent()
634 if (em && test_bit(EXTENT_FLAG_MERGED, &em->flags) && in defrag_lookup_extent()
635 newer_than && em->generation >= newer_than) { in defrag_lookup_extent()
636 free_extent_map(em); in defrag_lookup_extent()
637 em = NULL; in defrag_lookup_extent()
640 if (!em) { in defrag_lookup_extent()
647 em = defrag_get_extent(BTRFS_I(inode), start, newer_than); in defrag_lookup_extent()
651 if (IS_ERR(em)) in defrag_lookup_extent()
655 return em; in defrag_lookup_extent()
659 const struct extent_map *em) in get_extent_max_capacity() argument
661 if (test_bit(EXTENT_FLAG_COMPRESSED, &em->flags)) in get_extent_max_capacity()
666 static bool defrag_check_next_extent(struct inode *inode, struct extent_map *em, in defrag_check_next_extent() argument
674 if (em->start + em->len >= i_size_read(inode)) in defrag_check_next_extent()
683 next = defrag_lookup_extent(inode, em->start + em->len, newer_than, locked); in defrag_check_next_extent()
693 if (next->len >= get_extent_max_capacity(fs_info, em)) in defrag_check_next_extent()
835 struct extent_map *em; in defrag_collect_targets() local
841 em = defrag_lookup_extent(&inode->vfs_inode, cur, newer_than, locked); in defrag_collect_targets()
842 if (!em) in defrag_collect_targets()
851 if (em->block_start == EXTENT_MAP_INLINE && in defrag_collect_targets()
852 em->len <= inode->root->fs_info->max_inline) in defrag_collect_targets()
856 if (em->block_start == EXTENT_MAP_HOLE || in defrag_collect_targets()
857 em->block_start == EXTENT_MAP_DELALLOC || in defrag_collect_targets()
858 test_bit(EXTENT_FLAG_PREALLOC, &em->flags)) in defrag_collect_targets()
862 if (em->generation < newer_than) in defrag_collect_targets()
866 if (em->generation == (u64)-1) in defrag_collect_targets()
873 range_len = em->len - (cur - em->start); in defrag_collect_targets()
913 if (em->len >= get_extent_max_capacity(fs_info, em)) in defrag_collect_targets()
922 if (em->block_start == EXTENT_MAP_INLINE) in defrag_collect_targets()
925 next_mergeable = defrag_check_next_extent(&inode->vfs_inode, em, in defrag_collect_targets()
944 range_len = min(extent_map_end(em), start + len) - cur; in defrag_collect_targets()
966 free_extent_map(em); in defrag_collect_targets()
975 cur = extent_map_end(em); in defrag_collect_targets()
976 free_extent_map(em); in defrag_collect_targets()