blk-mq: move cancel of hctx->run_work into blk_mq_hw_sysfs_release
authorMing Lei <ming.lei@redhat.com>
Tue, 30 Apr 2019 01:52:28 +0000 (09:52 +0800)
committerJens Axboe <axboe@kernel.dk>
Sat, 4 May 2019 13:24:09 +0000 (07:24 -0600)
commit1b97871b501f1bac0fd39a073c4c8473ee457a55
tree2cbd22a9ea9fde3e785f468a27a41cd73e22916e
parent2f8f1336a48bd5186de3476da0a3e2ec06d0533a
blk-mq: move cancel of hctx->run_work into blk_mq_hw_sysfs_release

hctx is always released after requeue is freed.

With holding queue's kobject refcount, it is safe for driver to run queue,
so one run queue might be scheduled after blk_sync_queue() is done.

So moving the cancel of hctx->run_work into blk_mq_hw_sysfs_release()
for avoiding run released queue.

Cc: Dongli Zhang <dongli.zhang@oracle.com>
Cc: James Smart <james.smart@broadcom.com>
Cc: Bart Van Assche <bart.vanassche@wdc.com>
Cc: linux-scsi@vger.kernel.org,
Cc: Martin K . Petersen <martin.petersen@oracle.com>,
Cc: Christoph Hellwig <hch@lst.de>,
Cc: James E . J . Bottomley <jejb@linux.vnet.ibm.com>,
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Tested-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-core.c
block/blk-mq-sysfs.c