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 29569768ffbf97259e327ee09b5ce50349ae203e..c1e92664307c39b7c64b217e394be8ad761c8de6 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);