On 06/02/2011 04:06 AM, Daniel P. Berrange wrote:
On Wed, Jun 01, 2011 at 04:35:03PM -0500, Anthony Liguori wrote:
    "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }

Valid error reasons could be: "enospc", "eio", etc.

No etc :-)  Error reasons should we be well known and well documented.

B. query-stop-reason
--------------------

I also have a simple solution for item 2. The vm_stop() accepts a reason
argument, so we could store it somewhere and return it as a string, like:

->   { "execute": "query-stop-reason" }
<- { "return": { "reason": "user" } }

Valid reasons could be: "user", "debug", "shutdown", "diskfull" (hey,
this should be "ioerror", no?), "watchdog", "panic", "savevm", "loadvm",
"migrate".

Also note that we have a STOP event. It should be extended with the
stop reason too, for completeness.


Can we just extend query-block?

Primarily we want 'query-stop-reason' to tell us what caused the VM
CPUs to stop. If that reason was 'ioerror', then 'query-block' could
be used to find out which particular block device(s) caused the IO
error to occurr&  get the "reason" that was in the BLOCK_IO_ERROR
event.

My concern is that we're over abstracting here. We're not going to add additional stop reasons in the future.

Maybe just add an 'io-error': True to query-state.

Regards,

Anthony Liguori


Regards,
Daniel


Reply via email to