qcow2: reject unaligned offsets in write compressed
Misaligned compressed write is not supported. Signed-off-by: Anton Nefedov <anton.nefedov@virtuozzo.com> Message-id: 1510654613-47868-2-git-send-email-anton.nefedov@virtuozzo.com Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
parent
2b7731938d
commit
3e3b838ffe
@ -3358,6 +3358,10 @@ qcow2_co_pwritev_compressed(BlockDriverState *bs, uint64_t offset,
|
|||||||
return bdrv_truncate(bs->file, cluster_offset, PREALLOC_MODE_OFF, NULL);
|
return bdrv_truncate(bs->file, cluster_offset, PREALLOC_MODE_OFF, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (offset_into_cluster(s, offset)) {
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
buf = qemu_blockalign(bs, s->cluster_size);
|
buf = qemu_blockalign(bs, s->cluster_size);
|
||||||
if (bytes != s->cluster_size) {
|
if (bytes != s->cluster_size) {
|
||||||
if (bytes > s->cluster_size ||
|
if (bytes > s->cluster_size ||
|
||||||
|
Loading…
Reference in New Issue
Block a user