The request queue should be flagged as QUEUE_FLAG_DYING in case the host kick failed for a new virtqueue request. Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx> --- drivers/block/virtio_blk.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c index a787e6e..01b5d3a 100644 --- a/drivers/block/virtio_blk.c +++ b/drivers/block/virtio_blk.c @@ -377,8 +377,14 @@ static void virtblk_request(struct request_queue *q) issued++; } - if (issued) + if (issued) { virtqueue_kick(vblk->vq); + if (virtqueue_is_broken(vblk->vq)) { + mutex_lock(&q->sysfs_lock); + queue_flag_set_unlocked(QUEUE_FLAG_DYING, q); + mutex_unlock(&q->sysfs_lock); + } + } } static void virtblk_make_request(struct request_queue *q, struct bio *bio) -- 1.8.3.1 _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization