[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 8/9] block: Fix bdrv_co_truncate overlap chec
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PATCH v2 8/9] block: Fix bdrv_co_truncate overlap check |
Date: |
Tue, 10 Jul 2018 13:24:23 +0800 |
User-agent: |
Mutt/1.10.0 (2018-05-17) |
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 address@hidden, @offset), not address@hidden,
> > offset * 2
>
> s/which/which is/
>
> > - @old_size).
> >
> > Signed-off-by: Fam Zheng <address@hidden>
> > ---
> > block/io.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
>
> Reviewed-by: Eric Blake <address@hidden>
>
> >
> > 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