]> git.baikalelectronics.ru Git - kernel.git/commit
blk-mq: add helper to insert requests from irq context
authorChristoph Hellwig <hch@lst.de>
Wed, 28 May 2014 14:08:02 +0000 (08:08 -0600)
committerJens Axboe <axboe@fb.com>
Wed, 28 May 2014 14:08:02 +0000 (08:08 -0600)
commit9782504eb0d3fe20d79e4f042537cecec18f2db6
treed3348f3ab1169db9b5a1fca67a8fd2164152530c
parentc082eb9104250677cad2ddb8c335e9d08ce1c86c
blk-mq: add helper to insert requests from irq context

Both the cache flush state machine and the SCSI midlayer want to submit
requests from irq context, and the current per-request requeue_work
unfortunately causes corruption due to sharing with the csd field for
flushes.  Replace them with a per-request_queue list of requests to
be requeued.

Based on an earlier test by Ming Lei.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reported-by: Ming Lei <tom.leiming@gmail.com>
Tested-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-flush.c
block/blk-mq.c
include/linux/blk-mq.h
include/linux/blkdev.h