Patchwork virtio-blk-x: fix configuration synchronization.

login
register
mail settings
Submitter fred.konrad@greensocs.com
Date March 20, 2013, 9 a.m.
Message ID <1363770002-4521-1-git-send-email-fred.konrad@greensocs.com>
Download mbox | patch
Permalink /patch/229273/
State New
Headers show

Comments

fred.konrad@greensocs.com - March 20, 2013, 9 a.m.
From: KONRAD Frederic <fred.konrad@greensocs.com>

The virtio-blk-x configuration is not in sync with virtio-blk configuration.
So this patch remove the virtio-blk-x configuration field, and use virtio-blk
one for setting the properties.

This also remove a useless configuration copy in virtio_blk_device_init.

Note that this is on top of "virtio-ccw queue as of 2013/03/20".

Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
---
 hw/s390x/s390-virtio-bus.c | 4 ++--
 hw/s390x/s390-virtio-bus.h | 1 -
 hw/s390x/virtio-ccw.c      | 4 ++--
 hw/s390x/virtio-ccw.h      | 1 -
 hw/virtio-blk.c            | 7 -------
 hw/virtio-blk.h            | 2 --
 hw/virtio-pci.c            | 7 ++++---
 hw/virtio-pci.h            | 1 -
 8 files changed, 8 insertions(+), 19 deletions(-)
Cornelia Huck - March 20, 2013, 9:13 a.m.
On Wed, 20 Mar 2013 10:00:01 +0100
fred.konrad@greensocs.com wrote:

> From: KONRAD Frederic <fred.konrad@greensocs.com>
> 
> The virtio-blk-x configuration is not in sync with virtio-blk configuration.
> So this patch remove the virtio-blk-x configuration field, and use virtio-blk
> one for setting the properties.
> 
> This also remove a useless configuration copy in virtio_blk_device_init.
> 
> Note that this is on top of "virtio-ccw queue as of 2013/03/20".

Seems to work on both s390-virtio and virtio-ccw (comes up and I can
specify e.g. config-wce).

info qtree still shows the properties for both virtio-blk-x and
virtio-blk, but they are in sync now.

> 
> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>

Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>

> ---
>  hw/s390x/s390-virtio-bus.c | 4 ++--
>  hw/s390x/s390-virtio-bus.h | 1 -
>  hw/s390x/virtio-ccw.c      | 4 ++--
>  hw/s390x/virtio-ccw.h      | 1 -
>  hw/virtio-blk.c            | 7 -------
>  hw/virtio-blk.h            | 2 --
>  hw/virtio-pci.c            | 7 ++++---
>  hw/virtio-pci.h            | 1 -
>  8 files changed, 8 insertions(+), 19 deletions(-)
> 
> diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c
> index c5d5456..b6f9682 100644
> --- a/hw/s390x/s390-virtio-bus.c
> +++ b/hw/s390x/s390-virtio-bus.c
> @@ -166,7 +166,7 @@ static int s390_virtio_blk_init(VirtIOS390Device *s390_dev)
>  {
>      VirtIOBlkS390 *dev = VIRTIO_BLK_S390(s390_dev);
>      DeviceState *vdev = DEVICE(&dev->vdev);
> -    virtio_blk_set_conf(vdev, &(dev->blk));
> +
>      qdev_set_parent_bus(vdev, BUS(&s390_dev->bus));
>      if (qdev_init(vdev) < 0) {
>          return -1;
> @@ -435,7 +435,7 @@ static const TypeInfo s390_virtio_net = {
>  };
> 
>  static Property s390_virtio_blk_properties[] = {
> -    DEFINE_VIRTIO_BLK_PROPERTIES(VirtIOBlkS390, blk),
> +    DEFINE_VIRTIO_BLK_PROPERTIES(VirtIOBlkS390, vdev.blk),
>      DEFINE_PROP_END_OF_LIST(),
>  };
> 
> diff --git a/hw/s390x/s390-virtio-bus.h b/hw/s390x/s390-virtio-bus.h
> index 1a63411..05347bc 100644
> --- a/hw/s390x/s390-virtio-bus.h
> +++ b/hw/s390x/s390-virtio-bus.h
> @@ -128,7 +128,6 @@ void s390_virtio_reset_idx(VirtIOS390Device *dev);
>  typedef struct VirtIOBlkS390 {
>      VirtIOS390Device parent_obj;
>      VirtIOBlock vdev;
> -    VirtIOBlkConf blk;
>  } VirtIOBlkS390;
> 
> 
> diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
> index 4c44b7e..4a10bd6 100644
> --- a/hw/s390x/virtio-ccw.c
> +++ b/hw/s390x/virtio-ccw.c
> @@ -574,7 +574,7 @@ static int virtio_ccw_blk_init(VirtioCcwDevice *ccw_dev)
>  {
>      VirtIOBlkCcw *dev = VIRTIO_BLK_CCW(ccw_dev);
>      DeviceState *vdev = DEVICE(&dev->vdev);
> -    virtio_blk_set_conf(vdev, &(dev->blk));
> +
>      qdev_set_parent_bus(vdev, BUS(&ccw_dev->bus));
>      if (qdev_init(vdev) < 0) {
>          return -1;
> @@ -757,7 +757,7 @@ static const TypeInfo virtio_ccw_net = {
>  static Property virtio_ccw_blk_properties[] = {
>      DEFINE_PROP_STRING("devno", VirtioCcwDevice, bus_id),
>      DEFINE_VIRTIO_BLK_FEATURES(VirtioCcwDevice, host_features[0]),
> -    DEFINE_VIRTIO_BLK_PROPERTIES(VirtIOBlkCcw, blk),
> +    DEFINE_VIRTIO_BLK_PROPERTIES(VirtIOBlkCcw, vdev.blk),
>      DEFINE_PROP_END_OF_LIST(),
>  };
> 
> diff --git a/hw/s390x/virtio-ccw.h b/hw/s390x/virtio-ccw.h
> index 3993bc5..8f7c3a5 100644
> --- a/hw/s390x/virtio-ccw.h
> +++ b/hw/s390x/virtio-ccw.h
> @@ -102,7 +102,6 @@ typedef struct VirtualCssBus {
>  typedef struct VirtIOBlkCcw {
>      VirtioCcwDevice parent_obj;
>      VirtIOBlock vdev;
> -    VirtIOBlkConf blk;
>  } VirtIOBlkCcw;
> 
> 
> diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c
> index f2143fd..0414a8a 100644
> --- a/hw/virtio-blk.c
> +++ b/hw/virtio-blk.c
> @@ -619,12 +619,6 @@ static const BlockDevOps virtio_block_ops = {
>      .resize_cb = virtio_blk_resize,
>  };
> 
> -void virtio_blk_set_conf(DeviceState *dev, VirtIOBlkConf *blk)
> -{
> -    VirtIOBlock *s = VIRTIO_BLK(dev);
> -    memcpy(&(s->blk), blk, sizeof(struct VirtIOBlkConf));
> -}
> -
>  static int virtio_blk_device_init(VirtIODevice *vdev)
>  {
>      DeviceState *qdev = DEVICE(vdev);
> @@ -656,7 +650,6 @@ static int virtio_blk_device_init(VirtIODevice *vdev)
>      vdev->reset = virtio_blk_reset;
>      s->bs = blk->conf.bs;
>      s->conf = &blk->conf;
> -    memcpy(&(s->blk), blk, sizeof(struct VirtIOBlkConf));
>      s->rq = NULL;
>      s->sector_mask = (s->conf->logical_block_size / BDRV_SECTOR_SIZE) - 1;
> 
> diff --git a/hw/virtio-blk.h b/hw/virtio-blk.h
> index 8c6c78b..e228057 100644
> --- a/hw/virtio-blk.h
> +++ b/hw/virtio-blk.h
> @@ -148,6 +148,4 @@ typedef struct VirtIOBlock {
>          DEFINE_PROP_BIT("config-wce", _state, _field.config_wce, 0, true)
>  #endif /* __linux__ */
> 
> -void virtio_blk_set_conf(DeviceState *dev, VirtIOBlkConf *blk);
> -
>  #endif
> diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
> index f3ece78..31a78de 100644
> --- a/hw/virtio-pci.c
> +++ b/hw/virtio-pci.c
> @@ -1405,10 +1405,11 @@ static Property virtio_blk_pci_properties[] = {
>                      VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT, true),
>      DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 2),
>  #ifdef CONFIG_VIRTIO_BLK_DATA_PLANE
> -    DEFINE_PROP_BIT("x-data-plane", VirtIOBlkPCI, blk.data_plane, 0, false),
> +    DEFINE_PROP_BIT("x-data-plane", VirtIOBlkPCI, vdev.blk.data_plane, 0,
> +                                                                         false),
>  #endif
>      DEFINE_VIRTIO_BLK_FEATURES(VirtIOPCIProxy, host_features),
> -    DEFINE_VIRTIO_BLK_PROPERTIES(VirtIOBlkPCI, blk),
> +    DEFINE_VIRTIO_BLK_PROPERTIES(VirtIOBlkPCI, vdev.blk),
>      DEFINE_PROP_END_OF_LIST(),
>  };
> 
> @@ -1416,7 +1417,7 @@ static int virtio_blk_pci_init(VirtIOPCIProxy *vpci_dev)
>  {
>      VirtIOBlkPCI *dev = VIRTIO_BLK_PCI(vpci_dev);
>      DeviceState *vdev = DEVICE(&dev->vdev);
> -    virtio_blk_set_conf(vdev, &(dev->blk));
> +
>      qdev_set_parent_bus(vdev, BUS(&vpci_dev->bus));
>      if (qdev_init(vdev) < 0) {
>          return -1;
> diff --git a/hw/virtio-pci.h b/hw/virtio-pci.h
> index a9dbfff..fd6bcb2 100644
> --- a/hw/virtio-pci.h
> +++ b/hw/virtio-pci.h
> @@ -100,7 +100,6 @@ struct VirtIOPCIProxy {
>  struct VirtIOBlkPCI {
>      VirtIOPCIProxy parent_obj;
>      VirtIOBlock vdev;
> -    VirtIOBlkConf blk;
>  };
> 
>  void virtio_init_pci(VirtIOPCIProxy *proxy, VirtIODevice *vdev);
Stefan Hajnoczi - March 20, 2013, 12:36 p.m.
On Wed, Mar 20, 2013 at 10:00:01AM +0100, fred.konrad@greensocs.com wrote:
> From: KONRAD Frederic <fred.konrad@greensocs.com>
> 
> The virtio-blk-x configuration is not in sync with virtio-blk configuration.
> So this patch remove the virtio-blk-x configuration field, and use virtio-blk
> one for setting the properties.
> 
> This also remove a useless configuration copy in virtio_blk_device_init.
> 
> Note that this is on top of "virtio-ccw queue as of 2013/03/20".

Look fine, although I haven't looked into the latest virtio-ccw or
virtio-blk refactoring.

Stefan
Kevin Wolf - March 22, 2013, 4:58 p.m.
Am 20.03.2013 um 10:00 hat fred.konrad@greensocs.com geschrieben:
> From: KONRAD Frederic <fred.konrad@greensocs.com>
> 
> The virtio-blk-x configuration is not in sync with virtio-blk configuration.
> So this patch remove the virtio-blk-x configuration field, and use virtio-blk
> one for setting the properties.
> 
> This also remove a useless configuration copy in virtio_blk_device_init.
> 
> Note that this is on top of "virtio-ccw queue as of 2013/03/20".
> 
> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>

This patch doesn't seem to apply any more.

Kevin
fred.konrad@greensocs.com - March 22, 2013, 6:17 p.m.
On 22/03/2013 17:58, Kevin Wolf wrote:
> Am 20.03.2013 um 10:00 hat fred.konrad@greensocs.com geschrieben:
>> From: KONRAD Frederic <fred.konrad@greensocs.com>
>>
>> The virtio-blk-x configuration is not in sync with virtio-blk configuration.
>> So this patch remove the virtio-blk-x configuration field, and use virtio-blk
>> one for setting the properties.
>>
>> This also remove a useless configuration copy in virtio_blk_device_init.
>>
>> Note that this is on top of "virtio-ccw queue as of 2013/03/20".
>>
>> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
> This patch doesn't seem to apply any more.
>
> Kevin
Sure,

It's on top of virtio-ccw queue as of 2013/03/20.

I expected Cornelia's series to be upstreamed quickly.

Fred
Kevin Wolf - March 22, 2013, 6:52 p.m.
Am 22.03.2013 um 19:17 hat KONRAD Frédéric geschrieben:
> On 22/03/2013 17:58, Kevin Wolf wrote:
> >Am 20.03.2013 um 10:00 hat fred.konrad@greensocs.com geschrieben:
> >>From: KONRAD Frederic <fred.konrad@greensocs.com>
> >>
> >>The virtio-blk-x configuration is not in sync with virtio-blk configuration.
> >>So this patch remove the virtio-blk-x configuration field, and use virtio-blk
> >>one for setting the properties.
> >>
> >>This also remove a useless configuration copy in virtio_blk_device_init.
> >>
> >>Note that this is on top of "virtio-ccw queue as of 2013/03/20".
> >>
> >>Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
> >This patch doesn't seem to apply any more.
> >
> >Kevin
> Sure,
> 
> It's on top of virtio-ccw queue as of 2013/03/20.
> 
> I expected Cornelia's series to be upstreamed quickly.

Ah, sorry, I missed that part in the commit message. Should this be
included in the block tree some time next week then, or is it supposed
to go in through a different tree?

Kevin
fred.konrad@greensocs.com - March 22, 2013, 6:54 p.m.
On 22/03/2013 19:52, Kevin Wolf wrote:
> Am 22.03.2013 um 19:17 hat KONRAD Frédéric geschrieben:
>> On 22/03/2013 17:58, Kevin Wolf wrote:
>>> Am 20.03.2013 um 10:00 hat fred.konrad@greensocs.com geschrieben:
>>>> From: KONRAD Frederic <fred.konrad@greensocs.com>
>>>>
>>>> The virtio-blk-x configuration is not in sync with virtio-blk configuration.
>>>> So this patch remove the virtio-blk-x configuration field, and use virtio-blk
>>>> one for setting the properties.
>>>>
>>>> This also remove a useless configuration copy in virtio_blk_device_init.
>>>>
>>>> Note that this is on top of "virtio-ccw queue as of 2013/03/20".
>>>>
>>>> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
>>> This patch doesn't seem to apply any more.
>>>
>>> Kevin
>> Sure,
>>
>> It's on top of virtio-ccw queue as of 2013/03/20.
>>
>> I expected Cornelia's series to be upstreamed quickly.
> Ah, sorry, I missed that part in the commit message. Should this be
> included in the block tree some time next week then, or is it supposed
> to go in through a different tree?
>
> Kevin
I don't know, I didn't target a specific tree for that.

Thanks,
Fred
Anthony Liguori - March 22, 2013, 7:41 p.m.
KONRAD Frédéric <fred.konrad@greensocs.com> writes:

> On 22/03/2013 19:52, Kevin Wolf wrote:
>> Am 22.03.2013 um 19:17 hat KONRAD Frédéric geschrieben:
>>> On 22/03/2013 17:58, Kevin Wolf wrote:
>>>> Am 20.03.2013 um 10:00 hat fred.konrad@greensocs.com geschrieben:
>>>>> From: KONRAD Frederic <fred.konrad@greensocs.com>
>>>>>
>>>>> The virtio-blk-x configuration is not in sync with virtio-blk configuration.
>>>>> So this patch remove the virtio-blk-x configuration field, and use virtio-blk
>>>>> one for setting the properties.
>>>>>
>>>>> This also remove a useless configuration copy in virtio_blk_device_init.
>>>>>
>>>>> Note that this is on top of "virtio-ccw queue as of 2013/03/20".
>>>>>
>>>>> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
>>>> This patch doesn't seem to apply any more.
>>>>
>>>> Kevin
>>> Sure,
>>>
>>> It's on top of virtio-ccw queue as of 2013/03/20.
>>>
>>> I expected Cornelia's series to be upstreamed quickly.
>> Ah, sorry, I missed that part in the commit message. Should this be
>> included in the block tree some time next week then, or is it supposed
>> to go in through a different tree?
>>
>> Kevin
> I don't know, I didn't target a specific tree for that.

Cornelia's tree is now merged FWIW.  I would expect this to go through
the block tree since dataplane was introduced through that tree.

Regards,

Anthony Liguori

>
> Thanks,
> Fred
fred.konrad@greensocs.com - March 26, 2013, 4:15 p.m.
On 22/03/2013 20:41, Anthony Liguori wrote:
> KONRAD Frédéric <fred.konrad@greensocs.com> writes:
>
>> On 22/03/2013 19:52, Kevin Wolf wrote:
>>> Am 22.03.2013 um 19:17 hat KONRAD Frédéric geschrieben:
>>>> On 22/03/2013 17:58, Kevin Wolf wrote:
>>>>> Am 20.03.2013 um 10:00 hat fred.konrad@greensocs.com geschrieben:
>>>>>> From: KONRAD Frederic <fred.konrad@greensocs.com>
>>>>>>
>>>>>> The virtio-blk-x configuration is not in sync with virtio-blk configuration.
>>>>>> So this patch remove the virtio-blk-x configuration field, and use virtio-blk
>>>>>> one for setting the properties.
>>>>>>
>>>>>> This also remove a useless configuration copy in virtio_blk_device_init.
>>>>>>
>>>>>> Note that this is on top of "virtio-ccw queue as of 2013/03/20".
>>>>>>
>>>>>> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
>>>>> This patch doesn't seem to apply any more.
>>>>>
>>>>> Kevin
>>>> Sure,
>>>>
>>>> It's on top of virtio-ccw queue as of 2013/03/20.
>>>>
>>>> I expected Cornelia's series to be upstreamed quickly.
>>> Ah, sorry, I missed that part in the commit message. Should this be
>>> included in the block tree some time next week then, or is it supposed
>>> to go in through a different tree?
>>>
>>> Kevin
>> I don't know, I didn't target a specific tree for that.
> Cornelia's tree is now merged FWIW.  I would expect this to go through
> the block tree since dataplane was introduced through that tree.
>
> Regards,
>
> Anthony Liguori

Ok, so can this fix be applied in this tree?

Thanks,
Fred

>
>> Thanks,
>> Fred
Kevin Wolf - April 2, 2013, 2:49 p.m.
Am 26.03.2013 um 17:15 hat KONRAD Frédéric geschrieben:
> On 22/03/2013 20:41, Anthony Liguori wrote:
> >KONRAD Frédéric <fred.konrad@greensocs.com> writes:
> >
> >>On 22/03/2013 19:52, Kevin Wolf wrote:
> >>>Am 22.03.2013 um 19:17 hat KONRAD Frédéric geschrieben:
> >>>>On 22/03/2013 17:58, Kevin Wolf wrote:
> >>>>>Am 20.03.2013 um 10:00 hat fred.konrad@greensocs.com geschrieben:
> >>>>>>From: KONRAD Frederic <fred.konrad@greensocs.com>
> >>>>>>
> >>>>>>The virtio-blk-x configuration is not in sync with virtio-blk configuration.
> >>>>>>So this patch remove the virtio-blk-x configuration field, and use virtio-blk
> >>>>>>one for setting the properties.
> >>>>>>
> >>>>>>This also remove a useless configuration copy in virtio_blk_device_init.
> >>>>>>
> >>>>>>Note that this is on top of "virtio-ccw queue as of 2013/03/20".
> >>>>>>
> >>>>>>Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
> >>>>>This patch doesn't seem to apply any more.
> >>>>>
> >>>>>Kevin
> >>>>Sure,
> >>>>
> >>>>It's on top of virtio-ccw queue as of 2013/03/20.
> >>>>
> >>>>I expected Cornelia's series to be upstreamed quickly.
> >>>Ah, sorry, I missed that part in the commit message. Should this be
> >>>included in the block tree some time next week then, or is it supposed
> >>>to go in through a different tree?
> >>>
> >>>Kevin
> >>I don't know, I didn't target a specific tree for that.
> >Cornelia's tree is now merged FWIW.  I would expect this to go through
> >the block tree since dataplane was introduced through that tree.
> >
> >Regards,
> >
> >Anthony Liguori
> 
> Ok, so can this fix be applied in this tree?

Thanks, applied to the block branch.

Kevin
fred.konrad@greensocs.com - April 2, 2013, 2:50 p.m.
On 02/04/2013 16:49, Kevin Wolf wrote:
> Am 26.03.2013 um 17:15 hat KONRAD Frédéric geschrieben:
>> On 22/03/2013 20:41, Anthony Liguori wrote:
>>> KONRAD Frédéric <fred.konrad@greensocs.com> writes:
>>>
>>>> On 22/03/2013 19:52, Kevin Wolf wrote:
>>>>> Am 22.03.2013 um 19:17 hat KONRAD Frédéric geschrieben:
>>>>>> On 22/03/2013 17:58, Kevin Wolf wrote:
>>>>>>> Am 20.03.2013 um 10:00 hat fred.konrad@greensocs.com geschrieben:
>>>>>>>> From: KONRAD Frederic <fred.konrad@greensocs.com>
>>>>>>>>
>>>>>>>> The virtio-blk-x configuration is not in sync with virtio-blk configuration.
>>>>>>>> So this patch remove the virtio-blk-x configuration field, and use virtio-blk
>>>>>>>> one for setting the properties.
>>>>>>>>
>>>>>>>> This also remove a useless configuration copy in virtio_blk_device_init.
>>>>>>>>
>>>>>>>> Note that this is on top of "virtio-ccw queue as of 2013/03/20".
>>>>>>>>
>>>>>>>> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
>>>>>>> This patch doesn't seem to apply any more.
>>>>>>>
>>>>>>> Kevin
>>>>>> Sure,
>>>>>>
>>>>>> It's on top of virtio-ccw queue as of 2013/03/20.
>>>>>>
>>>>>> I expected Cornelia's series to be upstreamed quickly.
>>>>> Ah, sorry, I missed that part in the commit message. Should this be
>>>>> included in the block tree some time next week then, or is it supposed
>>>>> to go in through a different tree?
>>>>>
>>>>> Kevin
>>>> I don't know, I didn't target a specific tree for that.
>>> Cornelia's tree is now merged FWIW.  I would expect this to go through
>>> the block tree since dataplane was introduced through that tree.
>>>
>>> Regards,
>>>
>>> Anthony Liguori
>> Ok, so can this fix be applied in this tree?
> Thanks, applied to the block branch.
>
> Kevin
thanks,

Fred

Patch

diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c
index c5d5456..b6f9682 100644
--- a/hw/s390x/s390-virtio-bus.c
+++ b/hw/s390x/s390-virtio-bus.c
@@ -166,7 +166,7 @@  static int s390_virtio_blk_init(VirtIOS390Device *s390_dev)
 {
     VirtIOBlkS390 *dev = VIRTIO_BLK_S390(s390_dev);
     DeviceState *vdev = DEVICE(&dev->vdev);
-    virtio_blk_set_conf(vdev, &(dev->blk));
+
     qdev_set_parent_bus(vdev, BUS(&s390_dev->bus));
     if (qdev_init(vdev) < 0) {
         return -1;
@@ -435,7 +435,7 @@  static const TypeInfo s390_virtio_net = {
 };
 
 static Property s390_virtio_blk_properties[] = {
-    DEFINE_VIRTIO_BLK_PROPERTIES(VirtIOBlkS390, blk),
+    DEFINE_VIRTIO_BLK_PROPERTIES(VirtIOBlkS390, vdev.blk),
     DEFINE_PROP_END_OF_LIST(),
 };
 
diff --git a/hw/s390x/s390-virtio-bus.h b/hw/s390x/s390-virtio-bus.h
index 1a63411..05347bc 100644
--- a/hw/s390x/s390-virtio-bus.h
+++ b/hw/s390x/s390-virtio-bus.h
@@ -128,7 +128,6 @@  void s390_virtio_reset_idx(VirtIOS390Device *dev);
 typedef struct VirtIOBlkS390 {
     VirtIOS390Device parent_obj;
     VirtIOBlock vdev;
-    VirtIOBlkConf blk;
 } VirtIOBlkS390;
 
 
diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
index 4c44b7e..4a10bd6 100644
--- a/hw/s390x/virtio-ccw.c
+++ b/hw/s390x/virtio-ccw.c
@@ -574,7 +574,7 @@  static int virtio_ccw_blk_init(VirtioCcwDevice *ccw_dev)
 {
     VirtIOBlkCcw *dev = VIRTIO_BLK_CCW(ccw_dev);
     DeviceState *vdev = DEVICE(&dev->vdev);
-    virtio_blk_set_conf(vdev, &(dev->blk));
+
     qdev_set_parent_bus(vdev, BUS(&ccw_dev->bus));
     if (qdev_init(vdev) < 0) {
         return -1;
@@ -757,7 +757,7 @@  static const TypeInfo virtio_ccw_net = {
 static Property virtio_ccw_blk_properties[] = {
     DEFINE_PROP_STRING("devno", VirtioCcwDevice, bus_id),
     DEFINE_VIRTIO_BLK_FEATURES(VirtioCcwDevice, host_features[0]),
-    DEFINE_VIRTIO_BLK_PROPERTIES(VirtIOBlkCcw, blk),
+    DEFINE_VIRTIO_BLK_PROPERTIES(VirtIOBlkCcw, vdev.blk),
     DEFINE_PROP_END_OF_LIST(),
 };
 
diff --git a/hw/s390x/virtio-ccw.h b/hw/s390x/virtio-ccw.h
index 3993bc5..8f7c3a5 100644
--- a/hw/s390x/virtio-ccw.h
+++ b/hw/s390x/virtio-ccw.h
@@ -102,7 +102,6 @@  typedef struct VirtualCssBus {
 typedef struct VirtIOBlkCcw {
     VirtioCcwDevice parent_obj;
     VirtIOBlock vdev;
-    VirtIOBlkConf blk;
 } VirtIOBlkCcw;
 
 
diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c
index f2143fd..0414a8a 100644
--- a/hw/virtio-blk.c
+++ b/hw/virtio-blk.c
@@ -619,12 +619,6 @@  static const BlockDevOps virtio_block_ops = {
     .resize_cb = virtio_blk_resize,
 };
 
-void virtio_blk_set_conf(DeviceState *dev, VirtIOBlkConf *blk)
-{
-    VirtIOBlock *s = VIRTIO_BLK(dev);
-    memcpy(&(s->blk), blk, sizeof(struct VirtIOBlkConf));
-}
-
 static int virtio_blk_device_init(VirtIODevice *vdev)
 {
     DeviceState *qdev = DEVICE(vdev);
@@ -656,7 +650,6 @@  static int virtio_blk_device_init(VirtIODevice *vdev)
     vdev->reset = virtio_blk_reset;
     s->bs = blk->conf.bs;
     s->conf = &blk->conf;
-    memcpy(&(s->blk), blk, sizeof(struct VirtIOBlkConf));
     s->rq = NULL;
     s->sector_mask = (s->conf->logical_block_size / BDRV_SECTOR_SIZE) - 1;
 
diff --git a/hw/virtio-blk.h b/hw/virtio-blk.h
index 8c6c78b..e228057 100644
--- a/hw/virtio-blk.h
+++ b/hw/virtio-blk.h
@@ -148,6 +148,4 @@  typedef struct VirtIOBlock {
         DEFINE_PROP_BIT("config-wce", _state, _field.config_wce, 0, true)
 #endif /* __linux__ */
 
-void virtio_blk_set_conf(DeviceState *dev, VirtIOBlkConf *blk);
-
 #endif
diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
index f3ece78..31a78de 100644
--- a/hw/virtio-pci.c
+++ b/hw/virtio-pci.c
@@ -1405,10 +1405,11 @@  static Property virtio_blk_pci_properties[] = {
                     VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT, true),
     DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 2),
 #ifdef CONFIG_VIRTIO_BLK_DATA_PLANE
-    DEFINE_PROP_BIT("x-data-plane", VirtIOBlkPCI, blk.data_plane, 0, false),
+    DEFINE_PROP_BIT("x-data-plane", VirtIOBlkPCI, vdev.blk.data_plane, 0,
+                                                                         false),
 #endif
     DEFINE_VIRTIO_BLK_FEATURES(VirtIOPCIProxy, host_features),
-    DEFINE_VIRTIO_BLK_PROPERTIES(VirtIOBlkPCI, blk),
+    DEFINE_VIRTIO_BLK_PROPERTIES(VirtIOBlkPCI, vdev.blk),
     DEFINE_PROP_END_OF_LIST(),
 };
 
@@ -1416,7 +1417,7 @@  static int virtio_blk_pci_init(VirtIOPCIProxy *vpci_dev)
 {
     VirtIOBlkPCI *dev = VIRTIO_BLK_PCI(vpci_dev);
     DeviceState *vdev = DEVICE(&dev->vdev);
-    virtio_blk_set_conf(vdev, &(dev->blk));
+
     qdev_set_parent_bus(vdev, BUS(&vpci_dev->bus));
     if (qdev_init(vdev) < 0) {
         return -1;
diff --git a/hw/virtio-pci.h b/hw/virtio-pci.h
index a9dbfff..fd6bcb2 100644
--- a/hw/virtio-pci.h
+++ b/hw/virtio-pci.h
@@ -100,7 +100,6 @@  struct VirtIOPCIProxy {
 struct VirtIOBlkPCI {
     VirtIOPCIProxy parent_obj;
     VirtIOBlock vdev;
-    VirtIOBlkConf blk;
 };
 
 void virtio_init_pci(VirtIOPCIProxy *proxy, VirtIODevice *vdev);