[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] QMP: RFC: I/O error info & query-stop-reason
From: |
Luiz Capitulino |
Subject: |
[Qemu-devel] QMP: RFC: I/O error info & query-stop-reason |
Date: |
Wed, 1 Jun 2011 18:12:55 -0300 |
Hi there,
There are people who want to use QMP for thin provisioning. That's, the VM is
started with a small storage and when a no space error is triggered, more space
is allocated and the VM is put to run again.
QMP has two limitations that prevent people from doing this today:
1. The BLOCK_IO_ERROR doesn't contain error information
2. Considering we solve item 1, we still have to provide a way for clients
to query why a VM stopped. This is needed because clients may miss the
BLOCK_IO_ERROR event or may connect to the VM while it's already stopped
A proposal to solve both problems follow.
A. BLOCK_IO_ERROR information
-----------------------------
We already have discussed this a lot, but didn't reach a consensus. My solution
is quite simple: to add a stringfied errno name to the BLOCK_IO_ERROR event,
for example (see the "reason" key):
{ "event": "BLOCK_IO_ERROR",
"data": { "device": "ide0-hd1",
"operation": "write",
"action": "stop",
"reason": "enospc", }
"timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
Valid error reasons could be: "enospc", "eio", etc.
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.
- [Qemu-devel] QMP: RFC: I/O error info & query-stop-reason,
Luiz Capitulino <=
- Re: [Qemu-devel] QMP: RFC: I/O error info & query-stop-reason, Anthony Liguori, 2011/06/01
- Re: [Qemu-devel] QMP: RFC: I/O error info & query-stop-reason, Daniel P. Berrange, 2011/06/02
- Re: [Qemu-devel] QMP: RFC: I/O error info & query-stop-reason, Anthony Liguori, 2011/06/02
- Re: [Qemu-devel] QMP: RFC: I/O error info & query-stop-reason, Jiri Denemark, 2011/06/02
- Re: [Qemu-devel] QMP: RFC: I/O error info & query-stop-reason, Anthony Liguori, 2011/06/02
- Re: [Qemu-devel] QMP: RFC: I/O error info & query-stop-reason, Luiz Capitulino, 2011/06/02
- Re: [Qemu-devel] QMP: RFC: I/O error info & query-stop-reason, Anthony Liguori, 2011/06/02
- Re: [Qemu-devel] QMP: RFC: I/O error info & query-stop-reason, Luiz Capitulino, 2011/06/02
- Re: [Qemu-devel] QMP: RFC: I/O error info & query-stop-reason, Anthony Liguori, 2011/06/02
- Re: [Qemu-devel] QMP: RFC: I/O error info & query-stop-reason, Daniel P. Berrange, 2011/06/03