| From ad6c3a396067fca16e5ccaeac2432a201388e10d Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 11 Jul 2022 16:31:52 -0400 |
| Subject: dm writecache: count number of blocks discarded, not number of |
| discard bios |
| |
| From: Mikulas Patocka <mpatocka@redhat.com> |
| |
| [ 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> |
| --- |
| Documentation/admin-guide/device-mapper/writecache.rst | 2 +- |
| drivers/md/dm-writecache.c | 2 +- |
| 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 98df6327990a..e5acb393f70b 100644 |
| --- a/drivers/md/dm-writecache.c |
| +++ b/drivers/md/dm-writecache.c |
| @@ -1513,7 +1513,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; |
| -- |
| 2.35.1 |
| |