diff options
-rw-r--r-- | block/qcow2-refcount.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c index 4c19e7ebd8..7dc75d19f7 100644 --- a/block/qcow2-refcount.c +++ b/block/qcow2-refcount.c @@ -444,7 +444,7 @@ static int write_refcount_block_entries(BlockDriverState *bs, size = (last_index - first_index) << REFCOUNT_SHIFT; BLKDBG_EVENT(bs->file, BLKDBG_REFBLOCK_UPDATE_PART); - ret = bdrv_pwrite_sync(bs->file, + ret = bdrv_pwrite(bs->file, refcount_block_offset + (first_index << REFCOUNT_SHIFT), &s->refcount_block_cache[first_index], size); if (ret < 0) { @@ -551,6 +551,8 @@ fail: dummy = update_refcount(bs, offset, cluster_offset - offset, -addend); } + bdrv_flush(bs->file); + return ret; } |