diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2019-04-16 15:33:38 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2019-04-16 15:33:38 +0100 |
commit | dbfc49b69afc616227769f4ab928e452ac7af061 (patch) | |
tree | c86b9fbe0dcffef530814421239a708776f8400d | |
parent | a9b305ba291fb74f7ff732b3d7b8f4c812431ddf (diff) | |
parent | 93e32b3e2012a668e4da1c2566d2935c24060435 (diff) |
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
Block layer patches:
- qcow2: Fix potential corruption for preallocated resize with external data file
# gpg: Signature made Tue 16 Apr 2019 15:23:35 BST
# gpg: using RSA key 7F09B272C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74 56FE 7F09 B272 C88F 2FD6
* remotes/kevin/tags/for-upstream:
qcow2: Fix preallocation bdrv_pwrite to wrong file
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | block/qcow2.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/block/qcow2.c b/block/qcow2.c index d507ee0686..3ace3b2209 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -2723,6 +2723,7 @@ static int qcow2_set_up_encryption(BlockDriverState *bs, static int coroutine_fn preallocate_co(BlockDriverState *bs, uint64_t offset, uint64_t new_length) { + BDRVQcow2State *s = bs->opaque; uint64_t bytes; uint64_t host_offset = 0; unsigned int cur_bytes; @@ -2771,7 +2772,7 @@ static int coroutine_fn preallocate_co(BlockDriverState *bs, uint64_t offset, */ if (host_offset != 0) { uint8_t data = 0; - ret = bdrv_pwrite(bs->file, (host_offset + cur_bytes) - 1, + ret = bdrv_pwrite(s->data_file, (host_offset + cur_bytes) - 1, &data, 1); if (ret < 0) { return ret; |