virtio-console: Fix failure on unconnected pty
commited8e5a85a1741147ce06932b478a509ce3407061
authorChristian Borntraeger <borntraeger@de.ibm.com>
Thu, 29 Dec 2011 12:47:43 +0000 (29 13:47 +0100)
committerAmit Shah <amit.shah@redhat.com>
Fri, 30 Dec 2011 05:40:10 +0000 (30 11:10 +0530)
tree3d558ff8830d891e8214a7b1103e62ee263bb605
parent8d3bc5178fbc06cdd89c064ae8f44e77c503e91e
virtio-console: Fix failure on unconnected pty

when I tried qemu with -virtio-console pty the guest hangs and attaching
on /dev/pts/<x> does not return anything if the attachment is too late.

This results in pty_chr_write() returning 0, which causes the port to
get throttled. This results in the guest getting frozen as the
guest->host virtio_console writes don't return until the host releases
the vq element back to the guest.

For the virtio-serial use case we don't want to lose data but for the
console case we better drop data instead of "killing" the guest
console. If we get chardev->frontend notification and a better behaving
virtio-console we can revert this fix.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
hw/virtio-serial-bus.c