On Thu, Jan 30, 2014 at 05:26:30AM -0800, Christoph Hellwig wrote: > Witch to using a preallocated flush_rq for blk-mq similar to what's done > with the old request path. This allows us to set up the request properly > with a tag from the actually allowed range and ->rq_disk as needed by > some drivers. To make life easier we also switch to dynamic allocation > of ->flush_rq for the old path. > > This effectively reverts most of > > "blk-mq: fix for flush deadlock" > > and > > "blk-mq: Don't reserve a tag for flush request"
Reusing the tag for flush request is considered before. The problem is driver need get a request from a tag, reusing tag breaks this. The possible solution is we provide a blk_mq_tag_to_request, and force driver uses it. And in this function, if tag equals to flush_rq tag, we return flush_request. Thanks, Shaohua -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/