vdpa: Delete CVQ migration blocker

We can restore the device state in the destination via CVQ now. Remove
the migration blocker.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
Eugenio Pérez 2022-08-23 20:30:37 +02:00 committed by Jason Wang
parent dd036d8d27
commit 0e3fdcffea
3 changed files with 0 additions and 18 deletions

View file

@ -1033,13 +1033,6 @@ static bool vhost_vdpa_svqs_start(struct vhost_dev *dev)
return true; return true;
} }
if (v->migration_blocker) {
int r = migrate_add_blocker(v->migration_blocker, &err);
if (unlikely(r < 0)) {
return false;
}
}
for (i = 0; i < v->shadow_vqs->len; ++i) { for (i = 0; i < v->shadow_vqs->len; ++i) {
VirtQueue *vq = virtio_get_queue(dev->vdev, dev->vq_index + i); VirtQueue *vq = virtio_get_queue(dev->vdev, dev->vq_index + i);
VhostShadowVirtqueue *svq = g_ptr_array_index(v->shadow_vqs, i); VhostShadowVirtqueue *svq = g_ptr_array_index(v->shadow_vqs, i);
@ -1082,10 +1075,6 @@ err:
vhost_svq_stop(svq); vhost_svq_stop(svq);
} }
if (v->migration_blocker) {
migrate_del_blocker(v->migration_blocker);
}
return false; return false;
} }
@ -1101,10 +1090,6 @@ static void vhost_vdpa_svqs_stop(struct vhost_dev *dev)
VhostShadowVirtqueue *svq = g_ptr_array_index(v->shadow_vqs, i); VhostShadowVirtqueue *svq = g_ptr_array_index(v->shadow_vqs, i);
vhost_vdpa_svq_unmap_rings(dev, svq); vhost_vdpa_svq_unmap_rings(dev, svq);
} }
if (v->migration_blocker) {
migrate_del_blocker(v->migration_blocker);
}
} }
static int vhost_vdpa_dev_start(struct vhost_dev *dev, bool started) static int vhost_vdpa_dev_start(struct vhost_dev *dev, bool started)

View file

@ -35,7 +35,6 @@ typedef struct vhost_vdpa {
bool shadow_vqs_enabled; bool shadow_vqs_enabled;
/* IOVA mapping used by the Shadow Virtqueue */ /* IOVA mapping used by the Shadow Virtqueue */
VhostIOVATree *iova_tree; VhostIOVATree *iova_tree;
Error *migration_blocker;
GPtrArray *shadow_vqs; GPtrArray *shadow_vqs;
const VhostShadowVirtqueueOps *shadow_vq_ops; const VhostShadowVirtqueueOps *shadow_vq_ops;
void *shadow_vq_ops_opaque; void *shadow_vq_ops_opaque;

View file

@ -555,8 +555,6 @@ static NetClientState *net_vhost_vdpa_init(NetClientState *peer,
s->vhost_vdpa.shadow_vq_ops = &vhost_vdpa_net_svq_ops; s->vhost_vdpa.shadow_vq_ops = &vhost_vdpa_net_svq_ops;
s->vhost_vdpa.shadow_vq_ops_opaque = s; s->vhost_vdpa.shadow_vq_ops_opaque = s;
error_setg(&s->vhost_vdpa.migration_blocker,
"Migration disabled: vhost-vdpa uses CVQ.");
} }
ret = vhost_vdpa_add(nc, (void *)&s->vhost_vdpa, queue_pair_index, nvqs); ret = vhost_vdpa_add(nc, (void *)&s->vhost_vdpa, queue_pair_index, nvqs);
if (ret) { if (ret) {