From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49708) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XR2vT-0003b3-HP for qemu-devel@nongnu.org; Mon, 08 Sep 2014 13:40:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XR2vL-0003Dg-U1 for qemu-devel@nongnu.org; Mon, 08 Sep 2014 13:40:27 -0400 Received: from mx1.redhat.com ([209.132.183.28]:50075) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XR2vL-0003D4-NV for qemu-devel@nongnu.org; Mon, 08 Sep 2014 13:40:19 -0400 Message-ID: <540DE9FC.6010703@redhat.com> Date: Mon, 08 Sep 2014 19:40:12 +0200 From: Max Reitz MIME-Version: 1.0 References: <1409926039-29044-1-git-send-email-mreitz@redhat.com> <1409926039-29044-2-git-send-email-mreitz@redhat.com> <20140908140118.GC22582@irqsave.net> In-Reply-To: <20140908140118.GC22582@irqsave.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v2 1/5] qapi/block: Add "fatal" to BLOCK_IMAGE_CORRUPTED List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?windows-1252?Q?Beno=EEt_Canet?= Cc: Kevin Wolf , qemu-devel@nongnu.org, Stefan Hajnoczi On 08.09.2014 16:01, Beno=EEt Canet wrote: > The Friday 05 Sep 2014 =E0 16:07:15 (+0200), Max Reitz wrote : >> Not every BLOCK_IMAGE_CORRUPTED event must be fatal; for example, when >> reading from an image, they should generally not be. Nonetheless, even >> an image only read from may of course be corrupted and this can be >> detected during normal operation. In this case, a non-fatal event shou= ld >> be emitted, but the image should not be marked corrupt (in accordance = to >> "fatal" set to false). >> >> Signed-off-by: Max Reitz >> --- >> block/qcow2-refcount.c | 1 + >> qapi/block-core.json | 9 +++++++-- >> 2 files changed, 8 insertions(+), 2 deletions(-) >> >> diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c >> index 43665b8..0bd75d2 100644 >> --- a/block/qcow2-refcount.c >> +++ b/block/qcow2-refcount.c >> @@ -1853,6 +1853,7 @@ int qcow2_pre_write_overlap_check(BlockDriverSta= te *bs, int ign, int64_t offset, >> offset, >> true, >> size, >> + true, > What is this line ? It's the new "fatal" field in BLOCK_IMAGE_CORRUPTED (missing context:=20 qapi_event_send_block_image_corrupted(bdrv_get_device_name(bs), message,=20 true, offset, true, size, +true, &error_abort)). Max >> &error_abort); >> g_free(message); >> =20 >> diff --git a/qapi/block-core.json b/qapi/block-core.json >> index a685d02..d23bcc2 100644 >> --- a/qapi/block-core.json >> +++ b/qapi/block-core.json >> @@ -1554,7 +1554,7 @@ >> ## >> # @BLOCK_IMAGE_CORRUPTED >> # >> -# Emitted when a disk image is being marked corrupt >> +# Emitted when a corruption has been detected in a disk image >> # >> # @device: device name >> # >> @@ -1568,13 +1568,18 @@ >> # @size: #optional, if the corruption resulted from an image access,= this is >> # the access size >> # >> +# fatal: if set, the image is marked corrupt and therefore unusable a= fter this >> +# event and must be repaired (Since 2.2; before, every >> +# BLOCK_IMAGE_CORRUPTED event was fatal) >> +# >> # Since: 1.7 >> ## >> { 'event': 'BLOCK_IMAGE_CORRUPTED', >> 'data': { 'device' : 'str', >> 'msg' : 'str', >> '*offset': 'int', >> - '*size' : 'int' } } >> + '*size' : 'int', >> + 'fatal' : 'bool' } } >> =20 >> ## >> # @BLOCK_IO_ERROR >> --=20 >> 2.1.0 >> >>