summaryrefslogtreecommitdiff
path: root/drivers/md/dm-cache-target.c
diff options
context:
space:
mode:
authorJoe Thornber <ejt@redhat.com>2013-10-21 15:51:45 +0400
committerMike Snitzer <snitzer@redhat.com>2013-11-10 02:55:49 +0400
commitf8e5f01a3266e68e29024edc2bf2dbf81a864f41 (patch)
treee60fb7b744c0957c71c00a7ef5936dbf4814ebcc /drivers/md/dm-cache-target.c
parent99ba2ae4cd876bbcedb01d94c1a7952ce171418e (diff)
downloadlinux-f8e5f01a3266e68e29024edc2bf2dbf81a864f41.tar.xz
dm cache: io destined for the cache device can now serve as tick bios
Previously only origin bios could trigger ticks, which meant if all the io was destined for the cache no ticks were generated. If no ticks are generated then multiple hits, and movements in general, are attributed to the same tick. Only a stop gap fix, we need a better solution. Signed-off-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md/dm-cache-target.c')
-rw-r--r--drivers/md/dm-cache-target.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/dm-cache-target.c b/drivers/md/dm-cache-target.c
index 29569768ffbf..c1e92664307c 100644
--- a/drivers/md/dm-cache-target.c
+++ b/drivers/md/dm-cache-target.c
@@ -605,6 +605,7 @@ static void remap_to_origin_clear_discard(struct cache *cache, struct bio *bio,
static void remap_to_cache_dirty(struct cache *cache, struct bio *bio,
dm_oblock_t oblock, dm_cblock_t cblock)
{
+ check_if_tick_bio_needed(cache, bio);
remap_to_cache(cache, bio, cblock);
if (bio_data_dir(bio) == WRITE) {
set_dirty(cache, oblock, cblock);