From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:46924) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QTXkA-0005vJ-Jv for qemu-devel@nongnu.org; Mon, 06 Jun 2011 07:13:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QTXk8-0004Ff-SB for qemu-devel@nongnu.org; Mon, 06 Jun 2011 07:13:14 -0400 Received: from mx1.redhat.com ([209.132.183.28]:23939) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QTXk8-0004FW-EW for qemu-devel@nongnu.org; Mon, 06 Jun 2011 07:13:12 -0400 From: Markus Armbruster References: <20110601181255.077fb5fd@doriath> <4DE6B087.6010708@codemonkey.ws> Date: Mon, 06 Jun 2011 13:13:07 +0200 In-Reply-To: <4DE6B087.6010708@codemonkey.ws> (Anthony Liguori's message of "Wed, 01 Jun 2011 16:35:03 -0500") Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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: Anthony Liguori Cc: Kevin Wolf , Stefan Hajnoczi , jdenemar@redhat.com, qemu-devel@nongnu.org, Luiz Capitulino Anthony Liguori writes: > On 06/01/2011 04:12 PM, Luiz Capitulino wrote: >> 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", } > > you can call the reason whatever you want, but don't call it > stringfied errno name :-) Care to explain why?