dm cache: io destined for the cache device can now serve as tick bios
authorJoe Thornber <ejt@redhat.com>
Mon, 21 Oct 2013 11:51:45 +0000 (12:51 +0100)
committerMike Snitzer <snitzer@redhat.com>
Sat, 9 Nov 2013 22:55:49 +0000 (17:55 -0500)
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>
drivers/md/dm-cache-target.c

index 2956976..c1e9266 100644 (file)
@@ -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);