blk-mq: avoid infinite recursion with the FUA flag
authorChristoph Hellwig <hch@lst.de>
Tue, 16 Sep 2014 21:44:07 +0000 (14:44 -0700)
committerJens Axboe <axboe@fb.com>
Mon, 22 Sep 2014 17:55:19 +0000 (11:55 -0600)
commita57a178a490345c7236b0077b3de005754389ed6
tree7d5fa8c1c9df7a70e367f78297545c253c890926
parent683d0e126232d898a481daa3a4ca032c2b1a9660
blk-mq: avoid infinite recursion with the FUA flag

We should not insert requests into the flush state machine from
blk_mq_insert_request.  All incoming flush requests come through
blk_{m,s}q_make_request and are handled there, while blk_execute_rq_nowait
should only be called for BLOCK_PC requests.  All other callers
deal with requests that already went through the flush statemchine
and shouldn't be reinserted into it.

Reported-by: Robert Elliott <Elliott@hp.com>
Debugged-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-exec.c
block/blk-mq.c