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: Christoph Hellwig <hch@lst.de> Reviewed-by: Mike Snitzer <snitzer@redhat.com> Link: https://lore.kernel.org/r/20220202160109.108149-10-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
891fced644
commit
3c4b455ef8
@ -744,21 +744,14 @@ 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)
|
||||
{
|
||||
if (bio_has_pbd)
|
||||
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);
|
||||
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_cache_dirty(struct cache *cache, struct bio *bio,
|
||||
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user