aboutsummaryrefslogtreecommitdiffstats
path: root/lib/debugobjects.c
diff options
context:
space:
mode:
authorEdward Hsieh <[email protected]>2021-06-24 12:30:30 +0000
committerJens Axboe <[email protected]>2021-06-24 15:53:50 +0000
commit60b6a7e6a0f4382cd689f9afdac816964fec2921 (patch)
tree7b5fd7251cbc4c3430b61ff3b641b651bc1f6da4 /lib/debugobjects.c
parentblock/partitions/msdos: Fix typo inidicator -> indicator (diff)
downloadkernel-60b6a7e6a0f4382cd689f9afdac816964fec2921.tar.gz
kernel-60b6a7e6a0f4382cd689f9afdac816964fec2921.zip
block: fix trace completion for chained bio
For chained bio, trace_block_bio_complete in bio_endio is currently called only by the parent bio once upon all chained bio completed. However, the sector and size for the parent bio are modified in bio_split. Therefore, the size and sector of the complete events might not match the queue events in blktrace. The original fix of bio completion trace <fbbaf700e7b1> ("block: trace completion of all bios.") wants multiple complete events to correspond to one queue event but missed this. The issue can be reproduced by md/raid5 read with bio cross chunks. To fix, move trace completion into the loop for every chained bio to call. Fixes: fbbaf700e7b1 ("block: trace completion of all bios.") Reviewed-by: Wade Liang <[email protected]> Reviewed-by: BingJing Chang <[email protected]> Signed-off-by: Edward Hsieh <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'lib/debugobjects.c')
0 files changed, 0 insertions, 0 deletions