On Mon, Aug 15, 2011 at 10:12:54AM -0700, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange(a)redhat.com>
After running 'virsh console' in interactive mode, there was a
missing call to virStreamAbort, which meant the server kept the
stream resources open
The combination of this patch and the other stream related patch makes
the problem I was seeing of garbled console following multiple console
connect/disconnects go away, but another problem remains in this area.
After connecting to the console in interactive virsh and
disconnecting, I often see all subsequent commands fail:
virsh # dominfo foo
error: failed to get domain 'foo'
error: An error occurred, but the cause is unknown
virsh # dominfo foo
error: failed to get domain 'foo'
error: no call waiting for reply with prog 536903814 vers 1 serial 300
virsh # define bar.xml
error: Failed to define domain from bar.xml
error: no call waiting for reply with prog 536903814 vers 1 serial 301
Closing and reopening the interactive virsh session makes the problem
go away.
Powering down the guest while the console is connected has made the
problem 100% reproducible in the 4 or 5 tries I've given it.
Dave
* tools/console.c: Abort stream when exiting
---
tools/console.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/tools/console.c b/tools/console.c
index 171ebc9..82ef537 100644
--- a/tools/console.c
+++ b/tools/console.c
@@ -90,9 +90,11 @@ static void
virConsoleShutdown(virConsolePtr con)
{
con->quit = true;
- virStreamEventRemoveCallback(con->st);
- if (con->st)
+ if (con->st) {
+ virStreamEventRemoveCallback(con->st);
+ virStreamAbort(con->st);
virStreamFree(con->st);
+ }
if (con->stdinWatch != -1)
virEventRemoveHandle(con->stdinWatch);
if (con->stdoutWatch != -1)
--
1.7.6
--
libvir-list mailing list
libvir-list(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list