[PATCH v2 0/8] vhost-user-blk: dynamically resize config space based on features

Daniil Tatianin posted 8 patches 3 years, 5 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220826143248.580939-1-d-tatianin@yandex-team.ru
Maintainers: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Raphael Norwitz <raphael.norwitz@nutanix.com>, "Michael S. Tsirkin" <mst@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, Jason Wang <jasowang@redhat.com>
There is a newer version of this series
MAINTAINERS                           |  4 +++
hw/block/meson.build                  |  4 +--
hw/block/vhost-user-blk.c             | 29 +++++++++++---------
hw/block/virtio-blk-common.c          | 39 +++++++++++++++++++++++++++
hw/block/virtio-blk.c                 | 28 +++----------------
hw/net/virtio-net.c                   |  8 ++++--
hw/virtio/virtio.c                    | 10 ++++---
include/hw/virtio/vhost-user-blk.h    |  1 -
include/hw/virtio/virtio-blk-common.h | 20 ++++++++++++++
include/hw/virtio/virtio.h            | 10 +++++--
10 files changed, 104 insertions(+), 49 deletions(-)
create mode 100644 hw/block/virtio-blk-common.c
create mode 100644 include/hw/virtio/virtio-blk-common.h
[PATCH v2 0/8] vhost-user-blk: dynamically resize config space based on features
Posted by Daniil Tatianin 3 years, 5 months ago
This patch set attempts to align vhost-user-blk with virtio-blk in
terms of backward compatibility and flexibility. It also improves
the virtio core by introducing new common code that can be used by
a virtio device to calculate its config space size.

In particular it adds the following things:
- Common virtio code for deducing the required device config size based
  on provided host features.
- Ability to disable modern virtio-blk features like
  discard/write-zeroes for vhost-user-blk.
- Dynamic configuration space resizing based on enabled features,
  by reusing the common code introduced in the earlier commits.
- Cleans up the VHostUserBlk structure by reusing parent fields.

Changes since v1 (mostly addresses Stefan's feedback):
- Introduce VirtIOConfigSizeParams & virtio_get_config_size
- Remove virtio_blk_set_config_size altogether, make virtio-blk-common.c
  only hold the virtio-blk config size parameters.
- Reuse parent fields in vhost-user-blk instead of introducing new ones.

Daniil Tatianin (8):
  virtio: introduce VirtIOConfigSizeParams & virtio_get_config_size
  virtio-blk: utilize VirtIOConfigSizeParams & virtio_get_config_size
  virtio-net: utilize VirtIOConfigSizeParams & virtio_get_config_size
  virtio: remove the virtio_feature_get_config_size helper
  virtio-blk: move config size params to virtio-blk-common
  vhost-user-blk: make it possible to disable write-zeroes/discard
  vhost-user-blk: make 'config_wce' part of 'host_features'
  vhost-user-blk: dynamically resize config space based on features

 MAINTAINERS                           |  4 +++
 hw/block/meson.build                  |  4 +--
 hw/block/vhost-user-blk.c             | 29 +++++++++++---------
 hw/block/virtio-blk-common.c          | 39 +++++++++++++++++++++++++++
 hw/block/virtio-blk.c                 | 28 +++----------------
 hw/net/virtio-net.c                   |  8 ++++--
 hw/virtio/virtio.c                    | 10 ++++---
 include/hw/virtio/vhost-user-blk.h    |  1 -
 include/hw/virtio/virtio-blk-common.h | 20 ++++++++++++++
 include/hw/virtio/virtio.h            | 10 +++++--
 10 files changed, 104 insertions(+), 49 deletions(-)
 create mode 100644 hw/block/virtio-blk-common.c
 create mode 100644 include/hw/virtio/virtio-blk-common.h

-- 
2.25.1
Re: [PATCH v2 0/8] vhost-user-blk: dynamically resize config space based on features
Posted by Daniil Tatianin 3 years, 5 months ago

                
            
Re: [PATCH v2 0/8] vhost-user-blk: dynamically resize config space based on features
Posted by Raphael Norwitz 3 years, 5 months ago
> ping

Apologies for the late review - busy week. First pass looks good but will review
comprehensively tomorrow or over the weekend.