diff options
Diffstat (limited to 'drivers/md/dm-cache-target.c')
-rw-r--r-- | drivers/md/dm-cache-target.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/md/dm-cache-target.c b/drivers/md/dm-cache-target.c index 1bf4a71919ec..5f054c44b485 100644 --- a/drivers/md/dm-cache-target.c +++ b/drivers/md/dm-cache-target.c | |||
@@ -2178,6 +2178,8 @@ static int cache_create(struct cache_args *ca, struct cache **result) | |||
2178 | ti->num_discard_bios = 1; | 2178 | ti->num_discard_bios = 1; |
2179 | ti->discards_supported = true; | 2179 | ti->discards_supported = true; |
2180 | ti->discard_zeroes_data_unsupported = true; | 2180 | ti->discard_zeroes_data_unsupported = true; |
2181 | /* Discard bios must be split on a block boundary */ | ||
2182 | ti->split_discard_bios = true; | ||
2181 | 2183 | ||
2182 | cache->features = ca->features; | 2184 | cache->features = ca->features; |
2183 | ti->per_bio_data_size = get_per_bio_data_size(cache); | 2185 | ti->per_bio_data_size = get_per_bio_data_size(cache); |
@@ -2488,6 +2490,7 @@ static int cache_map(struct dm_target *ti, struct bio *bio) | |||
2488 | 2490 | ||
2489 | } else { | 2491 | } else { |
2490 | inc_hit_counter(cache, bio); | 2492 | inc_hit_counter(cache, bio); |
2493 | pb->all_io_entry = dm_deferred_entry_inc(cache->all_io_ds); | ||
2491 | 2494 | ||
2492 | if (bio_data_dir(bio) == WRITE && writethrough_mode(&cache->features) && | 2495 | if (bio_data_dir(bio) == WRITE && writethrough_mode(&cache->features) && |
2493 | !is_dirty(cache, lookup_result.cblock)) | 2496 | !is_dirty(cache, lookup_result.cblock)) |