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:
parent
2eaa8f6338
commit
e14e8ba5d0
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user