summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikulas Patocka <mpatocka@redhat.com>2022-07-11 23:31:52 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-08-17 16:14:18 +0300
commit8cd41a4f28b6dd5319d9df10a3489b3307fdd3df (patch)
tree48863d160733a92f88a4c31726fadf5bca63d0c8
parentf06cbeff2352b7890071bbb6dc852b96bfa34a47 (diff)
downloadlinux-8cd41a4f28b6dd5319d9df10a3489b3307fdd3df.tar.xz
dm writecache: count number of blocks discarded, not number of discard bios
[ Upstream commit 2ee73ef60db4d79b9f9b8cd501e8188b5179449f ] 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> Signed-off-by: Sasha Levin <sashal@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 6c9a2c74df8a..724e028d1858 100644
--- a/Documentation/admin-guide/device-mapper/writecache.rst
+++ b/Documentation/admin-guide/device-mapper/writecache.rst
@@ -87,7 +87,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 d1dca8f44028..b4d5bab8d68b 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;