mirror of
https://github.com/qemu/qemu.git
synced 2024-11-27 22:03:35 +08:00
qcow2: Fix image creation regression
When checking for errors, commit db89119d
compares with the wrong values,
failing image creation even when there was no error. Additionally, if an
error has occured, we can't preallocate the image (it's likely broken).
This unbreaks test 023 of qemu-iotests.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
746c3cb5d5
commit
6f745bdaac
@ -984,7 +984,7 @@ static int qcow_create2(const char *filename, int64_t total_size,
|
||||
lseek(fd, s->refcount_block_offset, SEEK_SET);
|
||||
ret = qemu_write_full(fd, s->refcount_block,
|
||||
ref_clusters * s->cluster_size);
|
||||
if (ret != s->cluster_size) {
|
||||
if (ret != ref_clusters * s->cluster_size) {
|
||||
ret = -1;
|
||||
goto exit;
|
||||
}
|
||||
@ -996,7 +996,7 @@ exit:
|
||||
close(fd);
|
||||
|
||||
/* Preallocate metadata */
|
||||
if (prealloc) {
|
||||
if (ret == 0 && prealloc) {
|
||||
BlockDriverState *bs;
|
||||
bs = bdrv_new("");
|
||||
bdrv_open(bs, filename, BDRV_O_CACHE_WB | BDRV_O_RDWR);
|
||||
|
Loading…
Reference in New Issue
Block a user