mirror of https://github.com/xemu-project/xemu.git
virtio-blk: Drop x-data-plane option
The official way of enabling dataplane is through the "iothread" property that references an iothread object created by "-object iothread". Since the old "x-data-plane=on" way now even crashes, it's probably easier to just drop it: $ qemu-system-x86_64 -drive file=null-co://,id=d0,if=none \ -device virtio-blk-pci,drive=d0,x-data-plane=on ERROR:/home/fam/work/qemu/qom/object.c:1515: object_get_canonical_path_component: assertion failed: (obj->parent != NULL) Aborted Signed-off-by: Fam Zheng <famz@redhat.com> Message-id: 1449485967-19240-1-git-send-email-famz@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
84942979de
commit
a616fb75c2
|
@ -45,7 +45,6 @@ struct VirtIOBlockDataPlane {
|
|||
* use it).
|
||||
*/
|
||||
IOThread *iothread;
|
||||
IOThread internal_iothread_obj;
|
||||
AioContext *ctx;
|
||||
EventNotifier host_notifier; /* doorbell */
|
||||
|
||||
|
@ -149,14 +148,14 @@ void virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,
|
|||
|
||||
*dataplane = NULL;
|
||||
|
||||
if (!conf->data_plane && !conf->iothread) {
|
||||
if (!conf->iothread) {
|
||||
return;
|
||||
}
|
||||
|
||||
/* Don't try if transport does not support notifiers. */
|
||||
if (!k->set_guest_notifiers || !k->set_host_notifier) {
|
||||
error_setg(errp,
|
||||
"device is incompatible with x-data-plane "
|
||||
"device is incompatible with dataplane "
|
||||
"(transport does not support notifiers)");
|
||||
return;
|
||||
}
|
||||
|
@ -179,16 +178,6 @@ void virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,
|
|||
if (conf->iothread) {
|
||||
s->iothread = conf->iothread;
|
||||
object_ref(OBJECT(s->iothread));
|
||||
} else {
|
||||
/* Create per-device IOThread if none specified. This is for
|
||||
* x-data-plane option compatibility. If x-data-plane is removed we
|
||||
* can drop this.
|
||||
*/
|
||||
object_initialize(&s->internal_iothread_obj,
|
||||
sizeof(s->internal_iothread_obj),
|
||||
TYPE_IOTHREAD);
|
||||
user_creatable_complete(OBJECT(&s->internal_iothread_obj), &error_abort);
|
||||
s->iothread = &s->internal_iothread_obj;
|
||||
}
|
||||
s->ctx = iothread_get_aio_context(s->iothread);
|
||||
s->bh = aio_bh_new(s->ctx, notify_guest_bh, s);
|
||||
|
|
|
@ -986,7 +986,6 @@ static Property virtio_blk_properties[] = {
|
|||
#endif
|
||||
DEFINE_PROP_BIT("request-merging", VirtIOBlock, conf.request_merging, 0,
|
||||
true),
|
||||
DEFINE_PROP_BIT("x-data-plane", VirtIOBlock, conf.data_plane, 0, false),
|
||||
DEFINE_PROP_END_OF_LIST(),
|
||||
};
|
||||
|
||||
|
|
|
@ -37,7 +37,6 @@ struct VirtIOBlkConf
|
|||
char *serial;
|
||||
uint32_t scsi;
|
||||
uint32_t config_wce;
|
||||
uint32_t data_plane;
|
||||
uint32_t request_merging;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue