Commit ae98ae2a authored by Filipe Manana's avatar Filipe Manana Committed by David Sterba
Browse files

btrfs: rename functions to allocate and free extent maps



These functions are exported and don't have a 'btrfs_' prefix in their
names, which goes against coding style conventions. Rename them to have
such prefix, making it clear they are from btrfs and avoiding potential
collisions in the future with functions defined elsewhere outside btrfs.

Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 2e871330
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -513,14 +513,14 @@ static noinline int add_ra_bio_pages(struct inode *inode,
		    (cur + fs_info->sectorsize > btrfs_extent_map_end(em)) ||
		    (btrfs_extent_map_block_start(em) >> SECTOR_SHIFT) !=
		    orig_bio->bi_iter.bi_sector) {
			free_extent_map(em);
			btrfs_free_extent_map(em);
			btrfs_unlock_extent(tree, cur, page_end, NULL);
			folio_unlock(folio);
			folio_put(folio);
			break;
		}
		add_size = min(em->start + em->len, page_end + 1) - cur;
		free_extent_map(em);
		btrfs_free_extent_map(em);
		btrfs_unlock_extent(tree, cur, page_end, NULL);

		if (folio_contains(folio, end_index)) {
@@ -603,7 +603,7 @@ void btrfs_submit_compressed_read(struct btrfs_bio *bbio)
	cb->compress_type = btrfs_extent_map_compression(em);
	cb->orig_bbio = bbio;

	free_extent_map(em);
	btrfs_free_extent_map(em);

	cb->nr_folios = DIV_ROUND_UP(compressed_len, PAGE_SIZE);
	cb->compressed_folios = kcalloc(cb->nr_folios, sizeof(struct folio *), GFP_NOFS);
+7 −7
Original line number Diff line number Diff line
@@ -621,7 +621,7 @@ static struct extent_map *defrag_get_extent(struct btrfs_inode *inode,
	u64 ino = btrfs_ino(inode);
	int ret;

	em = alloc_extent_map();
	em = btrfs_alloc_extent_map();
	if (!em) {
		ret = -ENOMEM;
		goto err;
@@ -731,12 +731,12 @@ static struct extent_map *defrag_get_extent(struct btrfs_inode *inode,

not_found:
	btrfs_release_path(&path);
	free_extent_map(em);
	btrfs_free_extent_map(em);
	return NULL;

err:
	btrfs_release_path(&path);
	free_extent_map(em);
	btrfs_free_extent_map(em);
	return ERR_PTR(ret);
}

@@ -766,7 +766,7 @@ static struct extent_map *defrag_lookup_extent(struct inode *inode, u64 start,
	 * file extent items in the inode's subvolume tree).
	 */
	if (em && (em->flags & EXTENT_FLAG_MERGED)) {
		free_extent_map(em);
		btrfs_free_extent_map(em);
		em = NULL;
	}

@@ -834,7 +834,7 @@ static bool defrag_check_next_extent(struct inode *inode, struct extent_map *em,

	ret = true;
out:
	free_extent_map(next);
	btrfs_free_extent_map(next);
	return ret;
}

@@ -1096,7 +1096,7 @@ static int defrag_collect_targets(struct btrfs_inode *inode,
		/* Allocate new defrag_target_range */
		new = kmalloc(sizeof(*new), GFP_NOFS);
		if (!new) {
			free_extent_map(em);
			btrfs_free_extent_map(em);
			ret = -ENOMEM;
			break;
		}
@@ -1106,7 +1106,7 @@ static int defrag_collect_targets(struct btrfs_inode *inode,

next:
		cur = btrfs_extent_map_end(em);
		free_extent_map(em);
		btrfs_free_extent_map(em);
	}
	if (ret < 0) {
		struct defrag_target_range *entry;
+7 −7
Original line number Diff line number Diff line
@@ -155,7 +155,7 @@ static struct extent_map *btrfs_create_dio_extent(struct btrfs_inode *inode,
					     (1 << BTRFS_ORDERED_DIRECT));
	if (IS_ERR(ordered)) {
		if (em) {
			free_extent_map(em);
			btrfs_free_extent_map(em);
			btrfs_drop_extent_map_range(inode, start,
					start + file_extent->num_bytes - 1, false);
		}
@@ -265,7 +265,7 @@ static int btrfs_get_blocks_direct_write(struct extent_map **map,
						      nowait);
		if (ret < 0) {
			/* Our caller expects us to free the input extent map. */
			free_extent_map(em);
			btrfs_free_extent_map(em);
			*map = NULL;
			btrfs_dec_nocow_writers(bg);
			if (nowait && (ret == -ENOSPC || ret == -EDQUOT))
@@ -278,7 +278,7 @@ static int btrfs_get_blocks_direct_write(struct extent_map **map,
					      &file_extent, type);
		btrfs_dec_nocow_writers(bg);
		if (type == BTRFS_ORDERED_PREALLOC) {
			free_extent_map(em);
			btrfs_free_extent_map(em);
			*map = em2;
			em = em2;
		}
@@ -291,7 +291,7 @@ static int btrfs_get_blocks_direct_write(struct extent_map **map,
		dio_data->nocow_done = true;
	} else {
		/* Our caller expects us to free the input extent map. */
		free_extent_map(em);
		btrfs_free_extent_map(em);
		*map = NULL;

		if (nowait) {
@@ -475,7 +475,7 @@ static int btrfs_dio_iomap_begin(struct inode *inode, loff_t start,
	 * the generic code.
	 */
	if (btrfs_extent_map_is_compressed(em) || em->disk_bytenr == EXTENT_MAP_INLINE) {
		free_extent_map(em);
		btrfs_free_extent_map(em);
		/*
		 * If we are in a NOWAIT context, return -EAGAIN in order to
		 * fallback to buffered IO. This is not only because we can
@@ -516,7 +516,7 @@ static int btrfs_dio_iomap_begin(struct inode *inode, loff_t start,
	 * after we have submitted bios for all the extents in the range.
	 */
	if ((flags & IOMAP_NOWAIT) && len < length) {
		free_extent_map(em);
		btrfs_free_extent_map(em);
		ret = -EAGAIN;
		goto unlock_err;
	}
@@ -564,7 +564,7 @@ static int btrfs_dio_iomap_begin(struct inode *inode, loff_t start,
	iomap->offset = start;
	iomap->bdev = fs_info->fs_devices->latest_dev->bdev;
	iomap->length = len;
	free_extent_map(em);
	btrfs_free_extent_map(em);

	/*
	 * Reads will hold the EXTENT_DIO_LOCKED bit until the io is completed,
+8 −8
Original line number Diff line number Diff line
@@ -898,7 +898,7 @@ static struct extent_map *get_extent_map(struct btrfs_inode *inode,
			return em;
		}

		free_extent_map(em);
		btrfs_free_extent_map(em);
		*em_cached = NULL;
	}

@@ -1026,7 +1026,7 @@ static int btrfs_do_readpage(struct folio *folio, struct extent_map **em_cached,
		if (prev_em_start)
			*prev_em_start = em->start;

		free_extent_map(em);
		btrfs_free_extent_map(em);
		em = NULL;

		/* we've found a hole, just zero and go on */
@@ -1246,7 +1246,7 @@ int btrfs_read_folio(struct file *file, struct folio *folio)
	ret = btrfs_do_readpage(folio, &em_cached, &bio_ctrl, NULL);
	btrfs_unlock_extent(&inode->io_tree, start, end, &cached_state);

	free_extent_map(em_cached);
	btrfs_free_extent_map(em_cached);

	/*
	 * If btrfs_do_readpage() failed we will want to submit the assembled
@@ -1551,7 +1551,7 @@ static int submit_one_sector(struct btrfs_inode *inode,
	ASSERT(block_start != EXTENT_MAP_HOLE);
	ASSERT(block_start != EXTENT_MAP_INLINE);

	free_extent_map(em);
	btrfs_free_extent_map(em);
	em = NULL;

	/*
@@ -2566,7 +2566,7 @@ void btrfs_readahead(struct readahead_control *rac)
	btrfs_unlock_extent(&inode->io_tree, start, end, &cached_state);

	if (em_cached)
		free_extent_map(em_cached);
		btrfs_free_extent_map(em_cached);
	submit_one_bio(&bio_ctrl);
}

@@ -2675,7 +2675,7 @@ bool try_release_extent_mapping(struct folio *folio, gfp_t mask)
		}
		if ((em->flags & EXTENT_FLAG_PINNED) || em->start != start) {
			write_unlock(&extent_tree->lock);
			free_extent_map(em);
			btrfs_free_extent_map(em);
			break;
		}
		if (btrfs_test_range_bit_exists(io_tree, em->start,
@@ -2709,13 +2709,13 @@ bool try_release_extent_mapping(struct folio *folio, gfp_t mask)
		 */
		remove_extent_mapping(inode, em);
		/* Once for the inode's extent map tree. */
		free_extent_map(em);
		btrfs_free_extent_map(em);
next:
		start = btrfs_extent_map_end(em);
		write_unlock(&extent_tree->lock);

		/* Once for us, for the lookup_extent_mapping() reference. */
		free_extent_map(em);
		btrfs_free_extent_map(em);

		if (need_resched()) {
			/*
+24 −24
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ void extent_map_tree_init(struct extent_map_tree *tree)
 * Allocate a new extent_map structure.  The new structure is returned with a
 * reference count of one and needs to be freed using free_extent_map()
 */
struct extent_map *alloc_extent_map(void)
struct extent_map *btrfs_alloc_extent_map(void)
{
	struct extent_map *em;
	em = kmem_cache_zalloc(extent_map_cache, GFP_NOFS);
@@ -58,7 +58,7 @@ struct extent_map *alloc_extent_map(void)
 * Drop the reference out on @em by one and free the structure if the reference
 * count hits zero.
 */
void free_extent_map(struct extent_map *em)
void btrfs_free_extent_map(struct extent_map *em)
{
	if (!em)
		return;
@@ -374,7 +374,7 @@ static void try_merge_map(struct btrfs_inode *inode, struct extent_map *em)

			validate_extent_map(fs_info, em);
			remove_em(inode, merge);
			free_extent_map(merge);
			btrfs_free_extent_map(merge);
		}
	}

@@ -389,7 +389,7 @@ static void try_merge_map(struct btrfs_inode *inode, struct extent_map *em)
		em->generation = max(em->generation, merge->generation);
		em->flags |= EXTENT_FLAG_MERGED;
		remove_em(inode, merge);
		free_extent_map(merge);
		btrfs_free_extent_map(merge);
	}
}

@@ -444,7 +444,7 @@ int unpin_extent_cache(struct btrfs_inode *inode, u64 start, u64 len, u64 gen)

out:
	write_unlock(&tree->lock);
	free_extent_map(em);
	btrfs_free_extent_map(em);
	return ret;

}
@@ -726,7 +726,7 @@ int btrfs_add_extent_mapping(struct btrfs_inode *inode,
		 */
		if (start >= existing->start &&
		    start < btrfs_extent_map_end(existing)) {
			free_extent_map(em);
			btrfs_free_extent_map(em);
			*em_in = existing;
			ret = 0;
		} else {
@@ -739,14 +739,14 @@ int btrfs_add_extent_mapping(struct btrfs_inode *inode,
			 */
			ret = merge_extent_mapping(inode, existing, em, start);
			if (WARN_ON(ret)) {
				free_extent_map(em);
				btrfs_free_extent_map(em);
				*em_in = NULL;
				btrfs_warn(fs_info,
"extent map merge error existing [%llu, %llu) with em [%llu, %llu) start %llu",
					   existing->start, btrfs_extent_map_end(existing),
					   orig_start, orig_start + orig_len, start);
			}
			free_extent_map(existing);
			btrfs_free_extent_map(existing);
		}
	}

@@ -773,7 +773,7 @@ static void drop_all_extent_maps_fast(struct btrfs_inode *inode)
		em = rb_entry(node, struct extent_map, rb_node);
		em->flags &= ~(EXTENT_FLAG_PINNED | EXTENT_FLAG_LOGGING);
		remove_extent_mapping(inode, em);
		free_extent_map(em);
		btrfs_free_extent_map(em);

		if (cond_resched_rwlock_write(&tree->lock))
			node = rb_first(&tree->root);
@@ -826,8 +826,8 @@ void btrfs_drop_extent_map_range(struct btrfs_inode *inode, u64 start, u64 end,
	 * range ends after our range (and they might be the same extent map),
	 * because we need to split those two extent maps at the boundaries.
	 */
	split = alloc_extent_map();
	split2 = alloc_extent_map();
	split = btrfs_alloc_extent_map();
	split2 = btrfs_alloc_extent_map();

	write_lock(&em_tree->lock);
	em = lookup_extent_mapping(em_tree, start, len);
@@ -898,7 +898,7 @@ void btrfs_drop_extent_map_range(struct btrfs_inode *inode, u64 start, u64 end,
			split->generation = gen;
			split->flags = flags;
			replace_extent_mapping(inode, em, split, modified);
			free_extent_map(split);
			btrfs_free_extent_map(split);
			split = split2;
			split2 = NULL;
		}
@@ -936,7 +936,7 @@ void btrfs_drop_extent_map_range(struct btrfs_inode *inode, u64 start, u64 end,
				if (WARN_ON(ret != 0) && modified)
					btrfs_set_inode_full_sync(inode);
			}
			free_extent_map(split);
			btrfs_free_extent_map(split);
			split = NULL;
		}
remove_em:
@@ -972,18 +972,18 @@ void btrfs_drop_extent_map_range(struct btrfs_inode *inode, u64 start, u64 end,
		 * Once for the tree reference (we replaced or removed the
		 * extent map from the tree).
		 */
		free_extent_map(em);
		btrfs_free_extent_map(em);
next:
		/* Once for us (for our lookup reference). */
		free_extent_map(em);
		btrfs_free_extent_map(em);

		em = next_em;
	}

	write_unlock(&em_tree->lock);

	free_extent_map(split);
	free_extent_map(split2);
	btrfs_free_extent_map(split);
	btrfs_free_extent_map(split2);
}

/*
@@ -1046,10 +1046,10 @@ int split_extent_map(struct btrfs_inode *inode, u64 start, u64 len, u64 pre,
	ASSERT(pre != 0);
	ASSERT(pre < len);

	split_pre = alloc_extent_map();
	split_pre = btrfs_alloc_extent_map();
	if (!split_pre)
		return -ENOMEM;
	split_mid = alloc_extent_map();
	split_mid = btrfs_alloc_extent_map();
	if (!split_mid) {
		ret = -ENOMEM;
		goto out_free_pre;
@@ -1102,16 +1102,16 @@ int split_extent_map(struct btrfs_inode *inode, u64 start, u64 len, u64 pre,
	add_extent_mapping(inode, split_mid, 1);

	/* Once for us */
	free_extent_map(em);
	btrfs_free_extent_map(em);
	/* Once for the tree */
	free_extent_map(em);
	btrfs_free_extent_map(em);

out_unlock:
	write_unlock(&em_tree->lock);
	btrfs_unlock_extent(&inode->io_tree, start, start + len - 1, NULL);
	free_extent_map(split_mid);
	btrfs_free_extent_map(split_mid);
out_free_pre:
	free_extent_map(split_pre);
	btrfs_free_extent_map(split_pre);
	return ret;
}

@@ -1171,7 +1171,7 @@ static long btrfs_scan_inode(struct btrfs_inode *inode, struct btrfs_em_shrink_c
		remove_extent_mapping(inode, em);
		trace_btrfs_extent_map_shrinker_remove_em(inode, em);
		/* Drop the reference for the tree. */
		free_extent_map(em);
		btrfs_free_extent_map(em);
		nr_dropped++;
next:
		if (ctx->scanned >= ctx->nr_to_scan)
Loading