summaryrefslogtreecommitdiffstats
path: root/block/Makefile
diff options
context:
space:
mode:
authorEdward Hsieh <edwardh@synology.com>2021-06-24 20:30:30 +0800
committerJens Axboe <axboe@kernel.dk>2021-06-24 09:53:50 -0600
commit60b6a7e6a0f4382cd689f9afdac816964fec2921 (patch)
tree7b5fd7251cbc4c3430b61ff3b641b651bc1f6da4 /block/Makefile
parentddcc5c544eb0991501761622b651cf43ce660a22 (diff)
downloadlinux-stable-60b6a7e6a0f4382cd689f9afdac816964fec2921.tar.gz
linux-stable-60b6a7e6a0f4382cd689f9afdac816964fec2921.tar.bz2
linux-stable-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 <wadel@synology.com> Reviewed-by: BingJing Chang <bingjingc@synology.com> Signed-off-by: Edward Hsieh <edwardh@synology.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/20210624123030.27014-1-edwardh@synology.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/Makefile')
0 files changed, 0 insertions, 0 deletions