Thread (7 messages) 7 messages, 5 authors, 2023-08-13

Re: [PATCH] md: raid0: account for split bio in iostat accounting

From: Laurence Oberman <hidden>
Date: 2023-08-09 17:23:38

On Wed, 2023-08-09 at 13:16 -0400, David Jeffery wrote:
quoted hunk ↗ jump to hunk
When a bio is split by md raid0, the newly created bio will not be
tracked
by md for I/O accounting. Only the portion of I/O still assigned to
the
original bio which was reduced by the split will be accounted for.
This
results in md iostat data sometimes showing I/O values far below the
actual
amount of data being sent through md.

md_account_bio() needs to be called for all bio generated by the bio
split.

Signed-off-by: David Jeffery <redacted>
Tested-by: Laurence Oberman <redacted>
---
 drivers/md/raid0.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c
index d1ac73fcd852..1fd559ac8c68 100644
--- a/drivers/md/raid0.c
+++ b/drivers/md/raid0.c
@@ -597,8 +597,7 @@ static bool raid0_make_request(struct mddev
*mddev, struct bio *bio)
                bio = split;
        }
 
-       if (bio->bi_pool != &mddev->bio_set)
-               md_account_bio(mddev, &bio);
+       md_account_bio(mddev, &bio);
 
        orig_sector = sector;
        zone = find_zone(mddev->private, &sector);
Works well, looks good.
Reviewed-by: Laurence Oberman <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help