From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:56999) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QUINu-0004jq-IM for qemu-devel@nongnu.org; Wed, 08 Jun 2011 09:01:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QUINs-00009e-R9 for qemu-devel@nongnu.org; Wed, 08 Jun 2011 09:01:22 -0400 Received: from mail-px0-f174.google.com ([209.85.212.174]:61824) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QUINs-00009M-Bx for qemu-devel@nongnu.org; Wed, 08 Jun 2011 09:01:20 -0400 Received: by pxi15 with SMTP id 15so374450pxi.33 for ; Wed, 08 Jun 2011 06:01:18 -0700 (PDT) Message-ID: <4DEF7235.7000708@codemonkey.ws> Date: Wed, 08 Jun 2011 07:59:33 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <20110601181255.077fb5fd@doriath> <4DE6B087.6010708@codemonkey.ws> <20110602145730.4c80d668@doriath> <4DE7CFA4.9040300@codemonkey.ws> <20110602150900.7d2657fb@doriath> <4DEC9D07.5080409@redhat.com> <4DECD163.9030704@codemonkey.ws> <20110606152755.GI23745@redhat.com> <20110606123050.4df7c078@doriath> In-Reply-To: <20110606123050.4df7c078@doriath> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] QMP: RFC: I/O error info & query-stop-reason List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Luiz Capitulino Cc: Kevin Wolf , Stefan Hajnoczi , qemu-devel@nongnu.org, Markus Armbruster , jdenemar@redhat.com On 06/06/2011 10:30 AM, Luiz Capitulino wrote: > On Mon, 6 Jun 2011 16:27:55 +0100 > "Daniel P. Berrange" wrote: > >> On Mon, Jun 06, 2011 at 08:08:51AM -0500, Anthony Liguori wrote: >>> On 06/06/2011 04:25 AM, Kevin Wolf wrote: >>>> Am 02.06.2011 20:09, schrieb Luiz Capitulino: >>>>>>> I'm ok with either way. But in case you meant the second one, I guess >>>>>>> we should make "reason" a dictionary so that we can group related >>>>>>> information when we extend the field, for example: >>>>>>> >>>>>>> "reason": { "no space": false, "no permission": true } >>>> >>>> Splitting up enums into a number of booleans looks like a bad idea to >>>> me. It makes things more verbose than they should be, and even worse, it >>>> implies that more than one field could be true. >>> >>> I agree. What I had suggested was to not have a reason at all. >>> >>>> >>>> If this new schema thing doesn't support proper enums, that's something >>>> that should be changed. >>> >>> It does BTW. >>> >>>>>> >>>>>> Why would we ever have "no permission"? >>>>> >>>>> It's an I/O error. I have a report from a developer who was getting >>>>> the BLOCK_IO_ERROR event and had to debug qemu to know the error cause, >>>>> it turned out to be no permission. >>>> >>>> And I want to add that it's a PITA to handle bug report when the only >>>> message you get from qemu is "something went wrong". Sorry, that's not >>>> useful at all. I want to see the real error reason (and at least for >>>> debugging this means, I want to see the errno value/string). >>>> >>>> Finding out that it was -EACCES in fact cost me (and QA who ran into the >>>> problem) much more time than it should have. It's simply too much that >>>> you need to attach gdb to find out what really happened. >>> >>> You want a log file and you want libvirt to actually let QEMU write >>> to a log file. >> >> Anything QEMU writes to stderr or stdout gets recorded in a >> per-VM logfile already at /var/log/libvirt/qemu/$GUESTNAME.log > > I can submit a patch to write this info to stderr (in case we don't do that > yet). That's not terribly friendly to users though. We need something akin to a -log stderr so that normal users can redirect to a file. I think libvirt would only need to add this to their invocation and everything would Just Work. Regards, Anthony Liguori > >> >> Regards, >> Daniel > >