Message ID | 1449503401-19414-1-git-send-email-cornelia.huck@de.ibm.com |
---|---|
State | New |
Headers | show |
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...)
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
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 --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; }
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(+)