aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikulas Patocka <mpatocka@redhat.com>2022-07-11 16:31:52 -0400
committerMike Snitzer <snitzer@kernel.org>2022-07-14 15:54:46 -0400
commit2ee73ef60db4d79b9f9b8cd501e8188b5179449f (patch)
treed69a777e5e2d218fe96334f1b00233ea808c88d9
parentb2676e1482af89714af6988ce5d31a84692e2530 (diff)
downloadlinux-2ee73ef60db4d79b9f9b8cd501e8188b5179449f.tar.gz
dm writecache: count number of blocks discarded, not number of discard bios
Change dm-writecache, so that it counts the number of blocks discarded instead of the number of discard bios. Make it consistent with the read and write statistics counters that were changed to count the number of blocks instead of bios. Fixes: e3a35d03407c ("dm writecache: add event counters") Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Mike Snitzer <snitzer@kernel.org>
-rw-r--r--Documentation/admin-guide/device-mapper/writecache.rst2
-rw-r--r--drivers/md/dm-writecache.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/Documentation/admin-guide/device-mapper/writecache.rst b/Documentation/admin-guide/device-mapper/writecache.rst
index 0772d2160f9c..60c16b7fd5ac 100644
--- a/Documentation/admin-guide/device-mapper/writecache.rst
+++ b/Documentation/admin-guide/device-mapper/writecache.rst
@@ -89,7 +89,7 @@ Status:
11. the number of write blocks that are allocated in the cache
12. the number of write requests that are blocked on the freelist
13. the number of flush requests
-14. the number of discard requests
+14. the number of discarded blocks
Messages:
flush
diff --git a/drivers/md/dm-writecache.c b/drivers/md/dm-writecache.c
index 6282c77abe7b..ead008ea38f2 100644
--- a/drivers/md/dm-writecache.c
+++ b/drivers/md/dm-writecache.c
@@ -1514,7 +1514,7 @@ static enum wc_map_op writecache_map_flush(struct dm_writecache *wc, struct bio
static enum wc_map_op writecache_map_discard(struct dm_writecache *wc, struct bio *bio)
{
- wc->stats.discards++;
+ wc->stats.discards += bio->bi_iter.bi_size >> wc->block_size_bits;
if (writecache_has_error(wc))
return WC_MAP_ERROR;