[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH 1/3] qcow2: Fix unaligned preallocated truncatio
From: |
Jeff Cody |
Subject: |
Re: [Qemu-block] [PATCH 1/3] qcow2: Fix unaligned preallocated truncation |
Date: |
Mon, 9 Oct 2017 19:30:07 -0400 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Mon, Oct 09, 2017 at 11:55:31PM +0200, Max Reitz wrote:
> A qcow2 image file's length is not required to have a length that is a
> multiple of the cluster size. However, qcow2_refcount_area() expects an
> aligned value for its @start_offset parameter, so we need to round
> @old_file_size up to the next cluster boundary.
>
> Reported-by: pingl <address@hidden>
> Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1414049
> Signed-off-by: Max Reitz <address@hidden>
> ---
> block/qcow2.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/block/qcow2.c b/block/qcow2.c
> index 2f6a8e1ff8..c3b312cdef 100644
> --- a/block/qcow2.c
> +++ b/block/qcow2.c
> @@ -3193,6 +3193,7 @@ static int qcow2_truncate(BlockDriverState *bs, int64_t
> offset,
> "Failed to inquire current file length");
> return old_file_size;
> }
> + old_file_size = ROUND_UP(old_file_size, s->cluster_size);
>
> nb_new_data_clusters = DIV_ROUND_UP(offset - old_length,
> s->cluster_size);
> --
> 2.13.6
>
>
Reviewed-by: Jeff Cody <address@hidden>
- [Qemu-block] [PATCH 0/3] qcow2: Fix preallocated truncation, Max Reitz, 2017/10/09
- [Qemu-block] [PATCH 1/3] qcow2: Fix unaligned preallocated truncation, Max Reitz, 2017/10/09
- [Qemu-block] [PATCH 2/3] qcow2: Always execute preallocate() in a coroutine, Max Reitz, 2017/10/09
- [Qemu-block] [PATCH 3/3] iotests: Add cluster_size=64k to 125, Max Reitz, 2017/10/09
- Re: [Qemu-block] [PATCH 0/3] qcow2: Fix preallocated truncation, Max Reitz, 2017/10/11
- Re: [Qemu-block] [PATCH 0/3] qcow2: Fix preallocated truncation, Stefan Hajnoczi, 2017/10/11