vhost: use wfd on functions setting vring call fd
When ioeventfd is emulated using qemu_pipe(), only EventNotifier's wfd can be used for writing. Use the recently introduced event_notifier_get_wfd() function to obtain the fd that our peer must use to signal the vring. Signed-off-by: Sergio Lopez <slp@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-Id: <20220304100854.14829-3-slp@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
3bcf0fb3f2
commit
ff5eb77b8a
@ -1287,7 +1287,7 @@ static int vhost_virtqueue_init(struct vhost_dev *dev,
|
||||
return r;
|
||||
}
|
||||
|
||||
file.fd = event_notifier_get_fd(&vq->masked_notifier);
|
||||
file.fd = event_notifier_get_wfd(&vq->masked_notifier);
|
||||
r = dev->vhost_ops->vhost_set_vring_call(dev, &file);
|
||||
if (r) {
|
||||
VHOST_OPS_DEBUG(r, "vhost_set_vring_call failed");
|
||||
@ -1542,9 +1542,9 @@ void vhost_virtqueue_mask(struct vhost_dev *hdev, VirtIODevice *vdev, int n,
|
||||
|
||||
if (mask) {
|
||||
assert(vdev->use_guest_notifier_mask);
|
||||
file.fd = event_notifier_get_fd(&hdev->vqs[index].masked_notifier);
|
||||
file.fd = event_notifier_get_wfd(&hdev->vqs[index].masked_notifier);
|
||||
} else {
|
||||
file.fd = event_notifier_get_fd(virtio_queue_get_guest_notifier(vvq));
|
||||
file.fd = event_notifier_get_wfd(virtio_queue_get_guest_notifier(vvq));
|
||||
}
|
||||
|
||||
file.index = hdev->vhost_ops->vhost_get_vq_index(hdev, n);
|
||||
|
Loading…
Reference in New Issue
Block a user