On Thu, May 25, 2017 at 11:43:20AM -0700, Bart Van Assche wrote: > Initialization of blk-mq requests is a bit weird: blk_mq_rq_ctx_init() > is called after a tag has been assigned and .rq_flags is initialized > in __blk_mq_finish_request(). > > Call blk_mq_rq_ctx_init() before > modifying any struct request members. Initialize .rq_flags in > blk_mq_rq_ctx_init() instead of in __blk_mq_finish_request(). This > patch does not change the behavior of the block layer. One things this patch does is to initialize the tag value actually set twice. In general this looks ok, but I can't really see the real value. So a very reluctant: Reviewed-by: Christoph Hellwig <hch@xxxxxx>