From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:60459) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R1HeK-0001oE-99 for qemu-devel@nongnu.org; Wed, 07 Sep 2011 08:54:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R1HeF-0006aV-8q for qemu-devel@nongnu.org; Wed, 07 Sep 2011 08:54:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34230) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R1HeF-0006aL-1o for qemu-devel@nongnu.org; Wed, 07 Sep 2011 08:54:35 -0400 Message-ID: <4E676982.9070105@redhat.com> Date: Wed, 07 Sep 2011 15:54:26 +0300 From: Avi Kivity MIME-Version: 1.0 References: <1314018774-27482-1-git-send-email-aliguori@us.ibm.com> <1314018774-27482-2-git-send-email-aliguori@us.ibm.com> <4E63851F.3070205@redhat.com> <4E6392D4.5030905@codemonkey.ws> In-Reply-To: <4E6392D4.5030905@codemonkey.ws> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/2] main: switch qemu_set_fd_handler to g_io_add_watch List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Blue Swirl , Paolo Bonzini , Anthony Liguori , qemu-devel@nongnu.org, Kevin Wolf On 09/04/2011 06:01 PM, Anthony Liguori wrote: > On 09/04/2011 09:03 AM, Avi Kivity wrote: >> On 08/22/2011 04:12 PM, Anthony Liguori wrote: >>> This patch changes qemu_set_fd_handler to be implemented in terms of >>> g_io_add_watch(). The semantics are a bit different so some glue is >>> required. >>> >>> qemu_set_fd_handler2 is much harder to convert because of its use of >>> polling. >>> >>> The glib main loop has the major of advantage of having a proven >>> thread safe >>> architecture. By using the glib main loop instead of our own, it will >>> allow us >>> to eventually introduce multiple I/O threads. >>> >>> I'm pretty sure that this will work on Win32, but I would appreciate >>> some help >>> testing. I think the semantics of g_io_channel_unix_new() are really >>> just tied >>> to the notion of a "unix fd" and not necessarily unix itself. >> >> 'git bisect' fingered this as responsible for breaking >> qcow2+cache=unsafe. I think there's an off-by-one here and the guilty >> patch is the one that switches the main loop, but that's just a guess. >> >> The symptoms are that a guest that is restarted (new qemu process) after >> install doesn't make it through grub - some image data didn't make it do >> disk. With qcow2 and cache=unsafe that can easily happen through exit >> notifiers not being run and the entire qcow2 metadata being thrown out >> the window. Running with raw+cache=unsafe works. > > Can you share your full command line? > > Nothing that would be in the obvious path actually uses > qemu_set_fd_handler... > I upgraded my autotest setup due to other issues, and now the symptoms are much worse... even before the merge that introduced this patch. -- error compiling committee.c: too many arguments to function