On Wed, Jun 27, 2018 at 01:09:05PM -0700, Bart Van Assche wrote:
> The payload of struct request is stored in the request.bio chain if
> the RQF_SPECIAL_PAYLOAD flag is not set and in request.special_vec if
> RQF_SPECIAL_PAYLOAD has been set. However, blk_update_request()
> iterates over req->bio whether or not RQF_SPECIAL_PAYLOAD has been
> set. Additionally, the RQF_SPECIAL_PAYLOAD flag is ignored by
> blk_rq_bytes() which means that the value returned by that function
> is incorrect if the RQF_SPECIAL_PAYLOAD flag has been set. It is not
> clear to me whether this is an oversight or whether this happened on
> purpose. Anyway, document that it is known that both functions ignore
> RQF_SPECIAL_PAYLOAD. See also commit f9d03f96b988 ("block: improve
> handling of the magic discard payload").
>
> Signed-off-by: Bart Van Assche <[email protected]>
> Cc: Christoph Hellwig <[email protected]>
> Cc: Ming Lei <[email protected]>
Looks good,
Reviewed-by: Christoph Hellwig <[email protected]>