When a virtio-blk device performs a large number of IO operations and requires sleep at the same time, some requests may never be successfully processed. It must be ensured that no requests in virtqueues before deleting. The request becoming complete status means that the request has been removed from the virtqueue. Yi Sun (2): blk-mq: introduce blk_mq_tagset_wait_request_completed() virtio-blk: Ensure no requests in virtqueues before deleting vqs. block/blk-mq-tag.c | 29 +++++++++++++++++++++++++++++ drivers/block/virtio_blk.c | 6 ++++-- include/linux/blk-mq.h | 1 + 3 files changed, 34 insertions(+), 2 deletions(-) -- 2.25.1