[qemu] Fix a bug in the spice flow control patches which breaks the tcp chardev

Hans de Goede jwrdegoede at fedoraproject.org
Mon May 2 16:25:27 UTC 2011


commit 7a6484a3d9e0aaf97dd19acc9b92f93fa6e67321
Author: Hans de Goede <hdegoede at redhat.com>
Date:   Mon May 2 18:26:59 2011 +0200

    Fix a bug in the spice flow control patches which breaks the tcp chardev

 ...-send_all-to-handle-nonblocking-chardev-w.patch |   16 +++++++++-------
 ...har-Throttle-when-host-connection-is-down.patch |   10 +++++-----
 qemu.spec                                          |    5 ++++-
 3 files changed, 18 insertions(+), 13 deletions(-)
---
diff --git a/0009-char-Update-send_all-to-handle-nonblocking-chardev-w.patch b/0009-char-Update-send_all-to-handle-nonblocking-chardev-w.patch
index ccf98ad..db6f85b 100644
--- a/0009-char-Update-send_all-to-handle-nonblocking-chardev-w.patch
+++ b/0009-char-Update-send_all-to-handle-nonblocking-chardev-w.patch
@@ -1,7 +1,8 @@
->From 8b73193a8584da4e93bccd93fe6f0b8f1a1612b3 Mon Sep 17 00:00:00 2001
+From 8f5b96bd3bdd4fe7aa80f2f27d51bece8f64f20f Mon Sep 17 00:00:00 2001
 From: Amit Shah <amit.shah at redhat.com>
 Date: Mon, 21 Mar 2011 22:00:27 +0100
-Subject: [PATCH 09/17] char: Update send_all() to handle nonblocking chardev write requests
+Subject: [PATCH 09/30] char: Update send_all() to handle nonblocking chardev
+ write requests
 
 The send_all function is modified to return to the caller in case the
 driver cannot handle any more data.  It returns -EAGAIN or
@@ -16,9 +17,9 @@ commits will add such capability.
 Signed-off-by: Amit Shah <amit.shah at redhat.com>
 ---
  net/socket.c  |    4 +-
- qemu-char.c   |   79 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
+ qemu-char.c   |   80 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
  qemu_socket.h |    2 +-
- 3 files changed, 76 insertions(+), 9 deletions(-)
+ 3 files changed, 77 insertions(+), 9 deletions(-)
 
 diff --git a/net/socket.c b/net/socket.c
 index 3182b37..5dedd78 100644
@@ -36,7 +37,7 @@ index 3182b37..5dedd78 100644
  
  static ssize_t net_socket_receive_dgram(VLANClientState *nc, const uint8_t *buf, size_t size)
 diff --git a/qemu-char.c b/qemu-char.c
-index ce76411..eed61d6 100644
+index ce76411..3f665c9 100644
 --- a/qemu-char.c
 +++ b/qemu-char.c
 @@ -500,7 +500,7 @@ static CharDriverState *qemu_chr_open_mux(CharDriverState *drv)
@@ -163,7 +164,7 @@ index ce76411..eed61d6 100644
  }
  
  static int pty_chr_read_poll(void *opaque)
-@@ -1944,8 +2005,14 @@ static void tcp_closed(void *opaque)
+@@ -1944,8 +2005,15 @@ static void tcp_closed(void *opaque)
  static int tcp_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
  {
      TCPCharDriver *s = chr->opaque;
@@ -176,6 +177,7 @@ index ce76411..eed61d6 100644
 +        if (ret == -1 && errno == EPIPE) {
 +            tcp_closed(chr);
 +        }
++        return ret;
      } else {
          /* XXX: indicate an error ? */
          return len;
@@ -193,5 +195,5 @@ index 897a8ae..97dd24a 100644
  /* New, ipv6-ready socket helper functions, see qemu-sockets.c */
  int inet_listen_opts(QemuOpts *opts, int port_offset);
 -- 
-1.7.3.2
+1.7.5
 
diff --git a/0011-char-Throttle-when-host-connection-is-down.patch b/0011-char-Throttle-when-host-connection-is-down.patch
index 78f906a..5d52d18 100644
--- a/0011-char-Throttle-when-host-connection-is-down.patch
+++ b/0011-char-Throttle-when-host-connection-is-down.patch
@@ -1,7 +1,7 @@
->From 473be206466567646e3377b8eb64e25ffc2b3afe Mon Sep 17 00:00:00 2001
+From 6a758a4f301d3f8450983d6ef82f3b6dbe0644f4 Mon Sep 17 00:00:00 2001
 From: Amit Shah <amit.shah at redhat.com>
 Date: Mon, 21 Mar 2011 22:05:10 +0100
-Subject: [PATCH 11/17] char: Throttle when host connection is down#
+Subject: [PATCH 11/30] char: Throttle when host connection is down#
 
 When the host-side connection goes down, throttle the virtio-serial bus
 and later unthrottle when a connection gets established.  This helps
@@ -20,7 +20,7 @@ Signed-off-by: Amit Shah <amit.shah at redhat.com>
  1 files changed, 14 insertions(+), 0 deletions(-)
 
 diff --git a/qemu-char.c b/qemu-char.c
-index 7517f64..2ef972f 100644
+index 49e61ba..72c0ce8 100644
 --- a/qemu-char.c
 +++ b/qemu-char.c
 @@ -141,6 +141,9 @@ static void qemu_chr_generic_open_bh(void *opaque)
@@ -49,8 +49,8 @@ index 7517f64..2ef972f 100644
 +                return 0;
 +            }
          }
+         return ret;
      } else {
-         /* XXX: indicate an error ? */
 -- 
-1.7.3.2
+1.7.5
 
diff --git a/qemu.spec b/qemu.spec
index fa60707..572ce96 100644
--- a/qemu.spec
+++ b/qemu.spec
@@ -1,7 +1,7 @@
 Summary: QEMU is a FAST! processor emulator
 Name: qemu
 Version: 0.14.0
-Release: 7%{?dist}
+Release: 8%{?dist}
 # Epoch because we pushed a qemu-1.0 package
 Epoch: 2
 License: GPLv2+ and LGPLv2+ and BSD
@@ -560,6 +560,9 @@ fi
 %{_mandir}/man1/qemu-img.1*
 
 %changelog
+* Mon May  2 2011 Hans de Goede <hdegoede at redhat.com> - 2:0.14.0-8
+- Fix a bug in the spice flow control patches which breaks the tcp chardev
+
 * Tue Mar 29 2011 Justin M. Forbes <jforbes at redhat.com> - 2:0.14.0-7
 - Disable qemu-ppc and qemu-sparc packages (#679179)
 


More information about the scm-commits mailing list