qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] QMP: RFC: I/O error info & query-stop-reason


From: Anthony Liguori
Subject: Re: [Qemu-devel] QMP: RFC: I/O error info & query-stop-reason
Date: Tue, 07 Jun 2011 11:31:35 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110424 Lightning/1.0b2 Thunderbird/3.1.10

On 06/07/2011 10:41 AM, Markus Armbruster wrote:
Luiz Capitulino<address@hidden>  writes:

On Mon, 06 Jun 2011 08:08:51 -0500
Anthony Liguori<address@hidden>  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.

Is it better if we add a new enum to query-block? Like the "io-error" key we
have talked about earlier? Like:

  "io-error": "no space"

We could have "no space", "low level" (that's how the man page defines EIO) and
"unknown".

As mentioned before, I prefer my errnos straight, not wrapped in a pile
of pseudo-abstractions that make me go to the source code to figure out
how to unwrap them :)

You want a log file. You want to spit out open strings that contain actual errno numbers.

I'm 100% supportive of that.

But QMP is an interface that we have to maintain forever and passing a valid that can be different on different platforms, that depends on the semantics of whatever function calls happen to currently be in the path, is not a good long term interface.

We need to separate what we want to have as developers trying to debug and what we need to provide as a long term supported management interface.

If we separately the two, we'll be much happier in both places.

Regards,

Anthony Liguori






reply via email to

[Prev in Thread] Current Thread [Next in Thread]