[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 07/10] block: truncate: Don't make backing file data visib
From: |
Max Reitz |
Subject: |
Re: [PATCH v7 07/10] block: truncate: Don't make backing file data visible |
Date: |
Fri, 24 Apr 2020 16:09:41 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 |
On 24.04.20 14:54, Kevin Wolf wrote:
> When extending the size of an image that has a backing file larger than
> its old size, make sure that the backing file data doesn't become
> visible in the guest, but the added area is properly zeroed out.
>
> Consider the following scenario where the overlay is shorter than its
> backing file:
>
> base.qcow2: AAAAAAAA
> overlay.qcow2: BBBB
>
> When resizing (extending) overlay.qcow2, the new blocks should not stay
> unallocated and make the additional As from base.qcow2 visible like
> before this patch, but zeros should be read.
>
> A similar case happens with the various variants of a commit job when an
> intermediate file is short (- for unallocated):
>
> base.qcow2: A-A-AAAA
> mid.qcow2: BB-B
> top.qcow2: C--C--C-
>
> After commit top.qcow2 to mid.qcow2, the following happens:
>
> mid.qcow2: CB-C00C0 (correct result)
> mid.qcow2: CB-C--C- (before this fix)
>
> Without the fix, blocks that previously read as zeros on top.qcow2
> suddenly turn into A.
>
> Signed-off-by: Kevin Wolf <address@hidden>
> Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
> ---
> block/io.c | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
Reviewed-by: Max Reitz <address@hidden>
signature.asc
Description: OpenPGP digital signature
- [PATCH v7 00/10] block: Fix resize (extending) of short overlays, Kevin Wolf, 2020/04/24
- [PATCH v7 03/10] block-backend: Add flags to blk_truncate(), Kevin Wolf, 2020/04/24
- [PATCH v7 04/10] qcow2: Support BDRV_REQ_ZERO_WRITE for truncate, Kevin Wolf, 2020/04/24
- [PATCH v7 07/10] block: truncate: Don't make backing file data visible, Kevin Wolf, 2020/04/24
- Re: [PATCH v7 07/10] block: truncate: Don't make backing file data visible,
Max Reitz <=
- [PATCH v7 02/10] block: Add flags to bdrv(_co)_truncate(), Kevin Wolf, 2020/04/24
- [PATCH v7 05/10] raw-format: Support BDRV_REQ_ZERO_WRITE for truncate, Kevin Wolf, 2020/04/24
- [PATCH v7 01/10] block: Add flags to BlockDriver.bdrv_co_truncate(), Kevin Wolf, 2020/04/24
- [PATCH v7 08/10] iotests: Filter testfiles out in filter_img_info(), Kevin Wolf, 2020/04/24
- [PATCH v7 09/10] iotests: Test committing to short backing file, Kevin Wolf, 2020/04/24
- [PATCH v7 06/10] file-posix: Support BDRV_REQ_ZERO_WRITE for truncate, Kevin Wolf, 2020/04/24
- Re: [PATCH v7 00/10] block: Fix resize (extending) of short overlays, Max Reitz, 2020/04/24
- [PATCH v7 10/10] qcow2: Forward ZERO_WRITE flag for full preallocation, Kevin Wolf, 2020/04/24