On Sun, 2017-05-28 at 10:42 +0200, Christoph Hellwig wrote: > 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. Hello Christoph, If you want I can leave out the changes to the .tag / .internal_tag assignments from this patch. Bart.