[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ff63b647-0c0b-e7c7-0daf-499dc358e0dd@kernel.dk>
Date: Thu, 24 Jun 2021 09:54:12 -0600
From: Jens Axboe <axboe@...nel.dk>
To: edwardh <edwardh@...ology.com>, neilb@...e.com, hch@...radead.org
Cc: linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
s3t@...ology.com, bingjingc@...ology.com, cccheng@...ology.com,
Wade Liang <wadel@...ology.com>
Subject: Re: [PATCH v4] block: fix trace completion for chained bio
On 6/24/21 6:30 AM, edwardh wrote:
> From: Edward Hsieh <edwardh@...ology.com>
>
> 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.
Applied, thanks.
--
Jens Axboe
Powered by blists - more mailing lists