mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
qcow2: Return real error code in load_refcount_block
This fixes load_refcount_block which completely ignored the return value of write_refcount_block and always returned -EIO for bdrv_pwrite failure. Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
@@ -93,14 +93,19 @@ static int load_refcount_block(BlockDriverState *bs,
|
||||
int ret;
|
||||
|
||||
if (cache_refcount_updates) {
|
||||
write_refcount_block(bs);
|
||||
ret = write_refcount_block(bs);
|
||||
if (ret < 0) {
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
BLKDBG_EVENT(bs->file, BLKDBG_REFBLOCK_LOAD);
|
||||
ret = bdrv_pread(bs->file, refcount_block_offset, s->refcount_block_cache,
|
||||
s->cluster_size);
|
||||
if (ret != s->cluster_size)
|
||||
return -EIO;
|
||||
if (ret < 0) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
s->refcount_block_cache_offset = refcount_block_offset;
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user