Message ID | 20220826143248.580939-7-d-tatianin@yandex-team.ru (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | vhost-user-blk: dynamically resize config space based on features | expand |
On Fri, Aug 26, 2022 at 05:32:46PM +0300, Daniil Tatianin wrote: > It is useful to have the ability to disable these features for > compatibility with older VMs that don't have these implemented. > > Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru> Reviewed-by: Raphael Norwitz <raphael.norwitz@nutanix.com> > --- > hw/block/vhost-user-blk.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c > index 9117222456..4c9727e08c 100644 > --- a/hw/block/vhost-user-blk.c > +++ b/hw/block/vhost-user-blk.c > @@ -259,8 +259,6 @@ static uint64_t vhost_user_blk_get_features(VirtIODevice *vdev, > virtio_add_feature(&features, VIRTIO_BLK_F_BLK_SIZE); > virtio_add_feature(&features, VIRTIO_BLK_F_FLUSH); > virtio_add_feature(&features, VIRTIO_BLK_F_RO); > - virtio_add_feature(&features, VIRTIO_BLK_F_DISCARD); > - virtio_add_feature(&features, VIRTIO_BLK_F_WRITE_ZEROES); > > if (s->config_wce) { > virtio_add_feature(&features, VIRTIO_BLK_F_CONFIG_WCE); > @@ -592,6 +590,10 @@ static Property vhost_user_blk_properties[] = { > VHOST_USER_BLK_AUTO_NUM_QUEUES), > DEFINE_PROP_UINT32("queue-size", VHostUserBlk, queue_size, 128), > DEFINE_PROP_BIT("config-wce", VHostUserBlk, config_wce, 0, true), > + DEFINE_PROP_BIT64("discard", VHostUserBlk, parent_obj.host_features, > + VIRTIO_BLK_F_DISCARD, true), > + DEFINE_PROP_BIT64("write-zeroes", VHostUserBlk, parent_obj.host_features, > + VIRTIO_BLK_F_WRITE_ZEROES, true), > DEFINE_PROP_END_OF_LIST(), > }; > > -- > 2.25.1 >
diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c index 9117222456..4c9727e08c 100644 --- a/hw/block/vhost-user-blk.c +++ b/hw/block/vhost-user-blk.c @@ -259,8 +259,6 @@ static uint64_t vhost_user_blk_get_features(VirtIODevice *vdev, virtio_add_feature(&features, VIRTIO_BLK_F_BLK_SIZE); virtio_add_feature(&features, VIRTIO_BLK_F_FLUSH); virtio_add_feature(&features, VIRTIO_BLK_F_RO); - virtio_add_feature(&features, VIRTIO_BLK_F_DISCARD); - virtio_add_feature(&features, VIRTIO_BLK_F_WRITE_ZEROES); if (s->config_wce) { virtio_add_feature(&features, VIRTIO_BLK_F_CONFIG_WCE); @@ -592,6 +590,10 @@ static Property vhost_user_blk_properties[] = { VHOST_USER_BLK_AUTO_NUM_QUEUES), DEFINE_PROP_UINT32("queue-size", VHostUserBlk, queue_size, 128), DEFINE_PROP_BIT("config-wce", VHostUserBlk, config_wce, 0, true), + DEFINE_PROP_BIT64("discard", VHostUserBlk, parent_obj.host_features, + VIRTIO_BLK_F_DISCARD, true), + DEFINE_PROP_BIT64("write-zeroes", VHostUserBlk, parent_obj.host_features, + VIRTIO_BLK_F_WRITE_ZEROES, true), DEFINE_PROP_END_OF_LIST(), };
It is useful to have the ability to disable these features for compatibility with older VMs that don't have these implemented. Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru> --- hw/block/vhost-user-blk.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)