diff --git a/hw/virtio/vhost-user-fs.c b/hw/virtio/vhost-user-fs.c index ac4fc34b36..6f7f91533d 100644 --- a/hw/virtio/vhost-user-fs.c +++ b/hw/virtio/vhost-user-fs.c @@ -24,6 +24,17 @@ #include "monitor/monitor.h" #include "sysemu/sysemu.h" +static const int user_feature_bits[] = { + VIRTIO_F_VERSION_1, + VIRTIO_RING_F_INDIRECT_DESC, + VIRTIO_RING_F_EVENT_IDX, + VIRTIO_F_NOTIFY_ON_EMPTY, + VIRTIO_F_RING_PACKED, + VIRTIO_F_IOMMU_PLATFORM, + + VHOST_INVALID_FEATURE_BIT +}; + static void vuf_get_config(VirtIODevice *vdev, uint8_t *config) { VHostUserFS *fs = VHOST_USER_FS(vdev); @@ -129,11 +140,12 @@ static void vuf_set_status(VirtIODevice *vdev, uint8_t status) } static uint64_t vuf_get_features(VirtIODevice *vdev, - uint64_t requested_features, - Error **errp) + uint64_t features, + Error **errp) { - /* No feature bits used yet */ - return requested_features; + VHostUserFS *fs = VHOST_USER_FS(vdev); + + return vhost_get_features(&fs->vhost_dev, user_feature_bits, features); } static void vuf_handle_output(VirtIODevice *vdev, VirtQueue *vq)