From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33698) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fcl8f-0006z6-Tt for qemu-devel@nongnu.org; Tue, 10 Jul 2018 01:24:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fcl8f-0005zx-03 for qemu-devel@nongnu.org; Tue, 10 Jul 2018 01:24:37 -0400 Date: Tue, 10 Jul 2018 13:24:23 +0800 From: Fam Zheng Message-ID: <20180710052423.GJ17581@lemon.usersys.redhat.com> References: <20180705073701.10558-1-famz@redhat.com> <20180705073701.10558-9-famz@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [PATCH v2 8/9] block: Fix bdrv_co_truncate overlap check List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org, Kevin Wolf , Max Reitz , Jeff Cody , John Snow , Stefan Hajnoczi On Fri, 07/06 17:09, Eric Blake wrote: > On 07/05/2018 02:37 AM, Fam Zheng wrote: > > If we are growing the image and potentially using preallocation for the > > new area, we need to make sure that no write requests are made to the > > "preallocated" area which [@old_size, @offset), not [@offset, offset * 2 > > s/which/which is/ > > > - @old_size). > > > > Signed-off-by: Fam Zheng > > --- > > block/io.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > Reviewed-by: Eric Blake > > > > > diff --git a/block/io.c b/block/io.c > > index d07849fa96..ed18eb0ca3 100644 > > --- a/block/io.c > > +++ b/block/io.c > > @@ -3070,7 +3070,8 @@ int coroutine_fn bdrv_co_truncate(BdrvChild *child, int64_t offset, > > } > > bdrv_inc_in_flight(bs); > > - tracked_request_begin(&req, bs, offset, new_bytes, BDRV_TRACKED_TRUNCATE); > > + tracked_request_begin(&req, bs, offset - new_bytes, new_bytes, > > + BDRV_TRACKED_TRUNCATE); > > Is it any more legible to do s/offset - new_bytes/old_size/, since those are > equivalent? No they are not. offset - new_bytes is either old_size (if expanding), or smaller than old_size (if shrinking). Fam > > > /* If we are growing the image and potentially using preallocation for the > > * new area, we need to make sure that no write requests are made to it > > > > -- > Eric Blake, Principal Software Engineer > Red Hat, Inc. +1-919-301-3266 > Virtualization: qemu.org | libvirt.org