Commit 3c4b455e authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

dm-cache: remove __remap_to_origin_clear_discard



Fold __remap_to_origin_clear_discard into the two callers to prepare
for bio cloning refactoring.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarMike Snitzer <snitzer@redhat.com>
Link: https://lore.kernel.org/r/20220202160109.108149-10-hch@lst.de


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 891fced6
Loading
Loading
Loading
Loading
+8 −16
Original line number Diff line number Diff line
@@ -744,23 +744,16 @@ static void check_if_tick_bio_needed(struct cache *cache, struct bio *bio)
	spin_unlock_irq(&cache->lock);
}

static void __remap_to_origin_clear_discard(struct cache *cache, struct bio *bio,
					    dm_oblock_t oblock, bool bio_has_pbd)
static void remap_to_origin_clear_discard(struct cache *cache, struct bio *bio,
					  dm_oblock_t oblock)
{
	if (bio_has_pbd)
	// FIXME: check_if_tick_bio_needed() is called way too much through this interface
	check_if_tick_bio_needed(cache, bio);
	remap_to_origin(cache, bio);
	if (bio_data_dir(bio) == WRITE)
		clear_discard(cache, oblock_to_dblock(cache, oblock));
}

static void remap_to_origin_clear_discard(struct cache *cache, struct bio *bio,
					  dm_oblock_t oblock)
{
	// FIXME: check_if_tick_bio_needed() is called way too much through this interface
	__remap_to_origin_clear_discard(cache, bio, oblock, true);
}

static void remap_to_cache_dirty(struct cache *cache, struct bio *bio,
				 dm_oblock_t oblock, dm_cblock_t cblock)
{
@@ -831,11 +824,10 @@ static void remap_to_origin_and_cache(struct cache *cache, struct bio *bio,
	BUG_ON(!origin_bio);

	bio_chain(origin_bio, bio);
	/*
	 * Passing false to __remap_to_origin_clear_discard() skips
	 * all code that might use per_bio_data (since clone doesn't have it)
	 */
	__remap_to_origin_clear_discard(cache, origin_bio, oblock, false);

	remap_to_origin(cache, origin_bio);
	if (bio_data_dir(origin_bio) == WRITE)
		clear_discard(cache, oblock_to_dblock(cache, oblock));
	submit_bio(origin_bio);

	remap_to_cache(cache, bio, cblock);