From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60648) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VktPh-0006WT-1j for qemu-devel@nongnu.org; Mon, 25 Nov 2013 05:29:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VktPb-0000H8-GA for qemu-devel@nongnu.org; Mon, 25 Nov 2013 05:29:08 -0500 Received: from mx.ipv6.kamp.de ([2a02:248:0:51::16]:60058 helo=mx01.kamp.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VktPb-0000Gz-5h for qemu-devel@nongnu.org; Mon, 25 Nov 2013 05:29:03 -0500 Message-ID: <52932683.4090506@kamp.de> Date: Mon, 25 Nov 2013 11:29:23 +0100 From: Peter Lieven MIME-Version: 1.0 References: <1385124001-3576-1-git-send-email-pbonzini@redhat.com> <1385124001-3576-9-git-send-email-pbonzini@redhat.com> In-Reply-To: <1385124001-3576-9-git-send-email-pbonzini@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v3 08/19] block drivers: add discard/write_zeroes properties to bdrv_get_info implementation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , qemu-devel@nongnu.org Cc: kwolf@redhat.com, ronniesahlberg@gmail.com, stefanha@redhat.com On 22.11.2013 13:39, Paolo Bonzini wrote: > Signed-off-by: Paolo Bonzini > --- > block/qcow2.c | 2 ++ > block/qed.c | 2 ++ > block/vdi.c | 1 + > block/vhdx.c | 3 +++ > block/vpc.c | 1 + > 5 files changed, 9 insertions(+) > > diff --git a/block/qcow2.c b/block/qcow2.c > index 2fe37ed..1542750 100644 > --- a/block/qcow2.c > +++ b/block/qcow2.c > @@ -1892,6 +1892,8 @@ static coroutine_fn int qcow2_co_flush_to_os(BlockDriverState *bs) > static int qcow2_get_info(BlockDriverState *bs, BlockDriverInfo *bdi) > { > BDRVQcowState *s = bs->opaque; > + bdi->unallocated_blocks_are_zero = true; > + bdi->can_write_zeroes_with_unmap = (s->qcow_version >= 3); > bdi->cluster_size = s->cluster_size; > bdi->vm_state_offset = qcow2_vm_state_offset(s); > return 0; > diff --git a/block/qed.c b/block/qed.c > index adc2736..59516a5 100644 > --- a/block/qed.c > +++ b/block/qed.c > @@ -1475,6 +1475,8 @@ static int bdrv_qed_get_info(BlockDriverState *bs, BlockDriverInfo *bdi) > memset(bdi, 0, sizeof(*bdi)); > bdi->cluster_size = s->header.cluster_size; > bdi->is_dirty = s->header.features & QED_F_NEED_CHECK; > + bdi->unallocated_blocks_are_zero = true; > + bdi->can_write_zeroes_with_unmap = true; > return 0; > } > > diff --git a/block/vdi.c b/block/vdi.c > index b6ec002..2d7490f 100644 > --- a/block/vdi.c > +++ b/block/vdi.c > @@ -331,6 +331,7 @@ static int vdi_get_info(BlockDriverState *bs, BlockDriverInfo *bdi) > logout("\n"); > bdi->cluster_size = s->block_size; > bdi->vm_state_offset = 0; > + bdi->unallocated_blocks_are_zero = true; > return 0; > } > > diff --git a/block/vhdx.c b/block/vhdx.c > index ed6fa53..67bbe10 100644 > --- a/block/vhdx.c > +++ b/block/vhdx.c > @@ -1049,6 +1049,9 @@ static int vhdx_get_info(BlockDriverState *bs, BlockDriverInfo *bdi) > > bdi->cluster_size = s->block_size; > > + bdi->unallocated_blocks_are_zero = > + (s->params.data_bits & VHDX_PARAMS_HAS_PARENT) == 0; > + > return 0; > } > > diff --git a/block/vpc.c b/block/vpc.c > index 551876f..1d326cb 100644 > --- a/block/vpc.c > +++ b/block/vpc.c > @@ -464,6 +464,7 @@ static int vpc_get_info(BlockDriverState *bs, BlockDriverInfo *bdi) > bdi->cluster_size = s->block_size; > } > > + bdi->unallocated_blocks_are_zero = true; > return 0; > } > Reviewed-by: Peter Lieven