Hi, We have replaced most of start/stop queue via quiesce/unquiesce. And only the usage in case of handling BLK_STS_RESOURCE is kept. This patch moves this handling into blk-mq for xen-blkfront and virtio-blk, then we can avoid to let drivers touch the 'stopped' state, because allowing driver to do that has caused lots of trouble for us. Thanks, Ming Ming Lei (6): xen-blkfront: quiesce/unquiesce queue instead of start/stop queues SCSI: use blk_mq_run_hw_queues() in scsi_kick_queue() block: don't call blk_mq_delay_run_hw_queue() in case of BLK_STS_RESOURCE blk-mq: introduce auto restart block: use BLK_MQ_F_AUTO_RESTART on virtio-blk and xen-blkfront blk-mq: unexport APIs for start/stop queues block/blk-mq.c | 124 +++++++++++++++---------------------------- block/blk-mq.h | 1 + drivers/block/virtio_blk.c | 8 +-- drivers/block/xen-blkfront.c | 31 +++-------- drivers/md/dm-rq.c | 1 - drivers/nvme/host/fc.c | 3 -- drivers/scsi/scsi_lib.c | 6 +-- include/linux/blk-mq.h | 9 +--- 8 files changed, 54 insertions(+), 129 deletions(-) -- 2.9.4