On Wed, Jul 29, 2009 at 11:49 PM, Cole Robinson<crobinso@xxxxxxxxxx> wrote: > On 07/29/2009 08:35 AM, Daniel P. Berrange wrote: >> On Wed, Jul 29, 2009 at 12:09:44AM +0900, Ryota Ozaki wrote: >>> Hi, >>> >>> This patch fixes a handling of a qemu monitor unix socket. Current code >>> addresses 'Socket may not have shown up yet' case with catching EACCES >>> of connect(2), however, in that case, an errno which should be catched >>> is ENOENT, not EACCES. >>> >>> Thanks, >>> ozaki-r >>> >>> >>> >From 5a4b7ee2296ca6756127c26c6bfbbe1f49ab8722 Mon Sep 17 00:00:00 2001 >>> From: Ryota Ozaki <ozaki.ryota@xxxxxxxxx> >>> Date: Tue, 28 Jul 2009 23:48:22 +0900 >>> Subject: [PATCH] qemu: fix monitor socket reconnection >>> >>> --- >>> src/qemu_driver.c | 4 ++-- >>> 1 files changed, 2 insertions(+), 2 deletions(-) >>> >>> diff --git a/src/qemu_driver.c b/src/qemu_driver.c >>> index 52a77be..9fb8506 100644 >>> --- a/src/qemu_driver.c >>> +++ b/src/qemu_driver.c >>> @@ -917,8 +917,8 @@ qemudOpenMonitorUnix(virConnectPtr conn, >>> if (ret == 0) >>> break; >>> >>> - if (errno == EACCES || errno == ECONNREFUSED) { >>> - /* EACCES : Socket may not have shown up yet >>> + if (errno == ENOENT || errno == ECONNREFUSED) { >>> + /* ENOENT : Socket may not have shown up yet >>> * ECONNREFUSED : Leftover socket hasn't been removed yet */ >>> continue; >>> } >> >> >> ACK, that existing code is clearly bogus >> > > Hmm, I thoroughly tested this for both of those issues listed in the > comments, and the original code seemed to do the job. But it certainly > appears to be bogus. > > I'll try to reproduce the original issue and make sure this code works > as expected. The bug might appear depending on the underlying environment then I describe my testing environment. - libvirt-0.7.0-0.1.gitf055724 - qemu-kvm-0.10.5 - kernel-2.6.31-rc3 I hope this could be of help, ozaki-r > > - Cole > > -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list