spice/server
Hans de Goede 0b2336cd9c Call read_from_vdi_port() from vdi_read_buf_release()
read_from_vdi_port(), called from vdagent_char_device_wakeup() may
fail to consume all data because no buffers are available in the
read_bufs ring. When this happens we would fail to ever read more data
from the agent on the guest as the port is throttled and stays throttled
until we've consumed all data from the current buffer.

This patch re-enables the call to read_from_vdi_port() from
vdi_read_buf_release(), so that we will try the read again when space
becomes available in the read_bufs ring.

Together with another nasty hack in the linux guest virtio_console
driver, where it waits for a write to be acked by the host before
continuing with the next one, this can lead to a linux guest
getting stuck / hang (until the write is read by the spice-server
which never happens becaus of the above issues).

Note that even with this patch, the guest will still gets stuck due to
a bug in watch_update_mask in spice-core in qemu, which causes writing
to the client to never resume once it blocked. A patch for this has been
submitted to qemu.
2010-10-15 10:22:37 +02:00
..
.gitignore fresh start 2009-10-14 15:06:41 +02:00
demarshallers.h Add destructor for demarshalled messages 2010-06-22 10:53:24 +02:00
glz_encode_match_tmpl.c Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
glz_encode_tmpl.c Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
glz_encoder_config.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
glz_encoder_dictionary_protected.h Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
glz_encoder_dictionary.c Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
glz_encoder_dictionary.h Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
glz_encoder.c Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
glz_encoder.h Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
jpeg_encoder.c JPEG support: introducing jpeg encoding for spice bitmaps 2010-06-09 11:40:25 +02:00
jpeg_encoder.h JPEG support: introducing jpeg encoding for spice bitmaps 2010-06-09 11:40:25 +02:00
Makefile.am Make distcheck work 2010-07-08 20:20:35 +02:00
mjpeg_encoder.c Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
mjpeg_encoder.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
red_bitmap_utils.h Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
red_channel.c Fix various misspellings 2010-07-08 18:26:37 +02:00
red_channel.h Fix various misspellings 2010-07-08 18:26:37 +02:00
red_client_cache.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
red_client_shared_cache.h support for lossy images in the pixmap cache and fill bits 2010-06-09 11:41:01 +02:00
red_common.h Make all message structs internal to spice 2010-06-18 20:27:32 +02:00
red_dispatcher.c server: enabling/disabling jpeg and zlib-over-glz via spice command line args 2010-07-14 12:16:23 +03:00
red_dispatcher.h QXL: redesign. 2010-05-19 11:22:06 +02:00
red_memslots.c improve memory slot error logging. 2010-06-29 12:30:19 +02:00
red_memslots.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
red_parse_qxl.c server: Don't leak QUIC image chunks 2010-09-21 20:09:59 +02:00
red_parse_qxl.h move command flags handling to the qxl parser 2010-09-14 10:41:49 +02:00
red_tunnel_worker.c codegen: Various cleanups 2010-07-19 16:28:22 +02:00
red_tunnel_worker.h add spice-experimental.h 2010-05-19 11:22:08 +02:00
red_worker.c server: Handle self_image in localize_bitmap 2010-09-21 20:14:50 +02:00
red_worker.h server: enabling/disabling jpeg and zlib-over-glz via spice command line args 2010-07-14 12:16:23 +03:00
reds.c Call read_from_vdi_port() from vdi_read_buf_release() 2010-10-15 10:22:37 +02:00
reds.h server: add channel notifications. 2010-10-12 11:11:26 +02:00
snd_worker.c Add destructor for demarshalled messages 2010-06-22 10:53:24 +02:00
snd_worker.h zap vd_interface.h 2010-05-19 11:22:07 +02:00
spice-experimental.h server: add subtype to SpiceCharDeviceInterface, use for vdagent 2010-08-31 11:00:50 +03:00
spice.h server: add channel notifications. 2010-10-12 11:11:26 +02:00
stat.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
zlib_encoder.c applying zlib compression over glz on WAN connection 2010-06-21 15:05:37 +02:00
zlib_encoder.h applying zlib compression over glz on WAN connection 2010-06-21 15:05:37 +02:00