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 <bart.vanassche@xxxxxxx> > Cc: Christoph Hellwig <hch@xxxxxx> > Cc: Ming Lei <ming.lei@xxxxxxxxxx> Looks good, Reviewed-by: Christoph Hellwig <hch@xxxxxx>