static void accounted_request(struct cache *cache, struct bio *bio)
 {
        accounted_begin(cache, bio);
-       submit_bio_noacct(bio);
+       dm_submit_bio_remap(bio, NULL);
 }
 
 static void issue_op(struct bio *bio, void *context)
        bool commit_needed;
 
        if (map_bio(cache, bio, get_bio_block(cache, bio), &commit_needed) == DM_MAPIO_REMAPPED)
-               submit_bio_noacct(bio);
+               dm_submit_bio_remap(bio, NULL);
 
        return commit_needed;
 }
 
        if (cache->features.discard_passdown) {
                remap_to_origin(cache, bio);
-               submit_bio_noacct(bio);
+               dm_submit_bio_remap(bio, NULL);
        } else
                bio_endio(bio);
 
 
        cache->ti = ca->ti;
        ti->private = cache;
+       ti->accounts_remapped_io = true;
        ti->num_flush_bios = 2;
        ti->flush_supported = true;