diff mbox

[for-2.5] virtio-blk/dataplane: parentize compat iothread

Message ID 1449503401-19414-1-git-send-email-cornelia.huck@de.ibm.com
State New
Headers show

Commit Message

Cornelia Huck Dec. 7, 2015, 3:50 p.m. UTC
For x-data-plane=true, we create an iothread automatically for
compatibility. Commit d21e877 ("iothread: include id in thread name")
exposed that this iothread missed correct parenthood: fix this.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
---
 hw/block/dataplane/virtio-blk.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Cornelia Huck Dec. 7, 2015, 4:27 p.m. UTC | #1
On Mon,  7 Dec 2015 16:50:01 +0100
Cornelia Huck <cornelia.huck@de.ibm.com> wrote:

> For x-data-plane=true, we create an iothread automatically for
> compatibility. Commit d21e877 ("iothread: include id in thread name")
> exposed that this iothread missed correct parenthood: fix this.
> 
> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
> ---
>  hw/block/dataplane/virtio-blk.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
> index c42ddeb..c7e5668 100644
> --- a/hw/block/dataplane/virtio-blk.c
> +++ b/hw/block/dataplane/virtio-blk.c
> @@ -187,6 +187,9 @@ void virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,
>          object_initialize(&s->internal_iothread_obj,
>                            sizeof(s->internal_iothread_obj),
>                            TYPE_IOTHREAD);
> +        object_property_add_child(OBJECT(conf), TYPE_IOTHREAD,
> +                                  OBJECT(&s->internal_iothread_obj),
> +                                  &error_abort);
>          user_creatable_complete(OBJECT(&s->internal_iothread_obj), &error_abort);
>          s->iothread = &s->internal_iothread_obj;
>      }

Scratch that, does not work... (I thought I was hitting the other
segfault in the block backend processing...)
Peter Maydell Dec. 7, 2015, 4:33 p.m. UTC | #2
On 7 December 2015 at 16:27, Cornelia Huck <cornelia.huck@de.ibm.com> wrote:
> On Mon,  7 Dec 2015 16:50:01 +0100
> Cornelia Huck <cornelia.huck@de.ibm.com> wrote:
>
>> For x-data-plane=true, we create an iothread automatically for
>> compatibility. Commit d21e877 ("iothread: include id in thread name")
>> exposed that this iothread missed correct parenthood: fix this.
>>
>> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
>> ---
>>  hw/block/dataplane/virtio-blk.c | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
>> index c42ddeb..c7e5668 100644
>> --- a/hw/block/dataplane/virtio-blk.c
>> +++ b/hw/block/dataplane/virtio-blk.c
>> @@ -187,6 +187,9 @@ void virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,
>>          object_initialize(&s->internal_iothread_obj,
>>                            sizeof(s->internal_iothread_obj),
>>                            TYPE_IOTHREAD);
>> +        object_property_add_child(OBJECT(conf), TYPE_IOTHREAD,
>> +                                  OBJECT(&s->internal_iothread_obj),
>> +                                  &error_abort);
>>          user_creatable_complete(OBJECT(&s->internal_iothread_obj), &error_abort);
>>          s->iothread = &s->internal_iothread_obj;
>>      }
>
> Scratch that, does not work... (I thought I was hitting the other
> segfault in the block backend processing...)

Should I go ahead and apply Fam's "remove x-data-plane" patch then?

thanks
-- PMM
Cornelia Huck Dec. 7, 2015, 4:46 p.m. UTC | #3
On Mon, 7 Dec 2015 16:33:11 +0000
Peter Maydell <peter.maydell@linaro.org> wrote:

> On 7 December 2015 at 16:27, Cornelia Huck <cornelia.huck@de.ibm.com> wrote:
> > On Mon,  7 Dec 2015 16:50:01 +0100
> > Cornelia Huck <cornelia.huck@de.ibm.com> wrote:
> >
> >> For x-data-plane=true, we create an iothread automatically for
> >> compatibility. Commit d21e877 ("iothread: include id in thread name")
> >> exposed that this iothread missed correct parenthood: fix this.
> >>
> >> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
> >> ---
> >>  hw/block/dataplane/virtio-blk.c | 3 +++
> >>  1 file changed, 3 insertions(+)
> >>
> >> diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
> >> index c42ddeb..c7e5668 100644
> >> --- a/hw/block/dataplane/virtio-blk.c
> >> +++ b/hw/block/dataplane/virtio-blk.c
> >> @@ -187,6 +187,9 @@ void virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,
> >>          object_initialize(&s->internal_iothread_obj,
> >>                            sizeof(s->internal_iothread_obj),
> >>                            TYPE_IOTHREAD);
> >> +        object_property_add_child(OBJECT(conf), TYPE_IOTHREAD,
> >> +                                  OBJECT(&s->internal_iothread_obj),
> >> +                                  &error_abort);
> >>          user_creatable_complete(OBJECT(&s->internal_iothread_obj), &error_abort);
> >>          s->iothread = &s->internal_iothread_obj;
> >>      }
> >
> > Scratch that, does not work... (I thought I was hitting the other
> > segfault in the block backend processing...)
> 
> Should I go ahead and apply Fam's "remove x-data-plane" patch then?

That's probably the quickest solution, as the iothread name patch is
useful and I haven't been able to come up with a correct patch.
diff mbox

Patch

diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
index c42ddeb..c7e5668 100644
--- a/hw/block/dataplane/virtio-blk.c
+++ b/hw/block/dataplane/virtio-blk.c
@@ -187,6 +187,9 @@  void virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,
         object_initialize(&s->internal_iothread_obj,
                           sizeof(s->internal_iothread_obj),
                           TYPE_IOTHREAD);
+        object_property_add_child(OBJECT(conf), TYPE_IOTHREAD,
+                                  OBJECT(&s->internal_iothread_obj),
+                                  &error_abort);
         user_creatable_complete(OBJECT(&s->internal_iothread_obj), &error_abort);
         s->iothread = &s->internal_iothread_obj;
     }