From patchwork Wed Apr 14 05:28:29 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v5, 09/17] virtio-serial: Propagate errors in initialising ports / devices in guest Date: Tue, 13 Apr 2010 19:28:29 -0000 From: Amit Shah X-Patchwork-Id: 50107 Message-Id: <1271222917-7803-10-git-send-email-amit.shah@redhat.com> To: Anthony Liguori Cc: qemu list , Amit Shah , Gerd Hoffmann , Juan Quintela If adding of ports or devices in the guest fails we can send out a QMP event so that management software can deal with it. Signed-off-by: Amit Shah --- hw/virtio-serial-bus.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c index c77ea4f..3a09f0d 100644 --- a/hw/virtio-serial-bus.c +++ b/hw/virtio-serial-bus.c @@ -223,6 +223,11 @@ static void handle_control_message(VirtIOSerial *vser, void *buf) switch(cpkt.event) { case VIRTIO_CONSOLE_DEVICE_READY: + if (!cpkt.value) { + error_report("virtio-serial-bus: Guest failure in adding device %s\n", + vser->bus->qbus.name); + break; + } /* * The device is up, we can now tell the device about all the * ports we have here. @@ -233,6 +238,11 @@ static void handle_control_message(VirtIOSerial *vser, void *buf) break; case VIRTIO_CONSOLE_PORT_READY: + if (!cpkt.value) { + error_report("virtio-serial-bus: Guest failure in adding port %u for device %s\n", + port->id, vser->bus->qbus.name); + break; + } /* * Now that we know the guest asked for the port name, we're * sure the guest has initialised whatever state is necessary