On 25.06.2020 18:21, Max Reitz wrote:
Before HEAD^, we needed this because bdrv_co_flush() by itself would
only flush bs->file. With HEAD^, bdrv_co_flush() will flush all
children on which a WRITE or WRITE_UNCHANGED permission has been taken.
Thus, vmdk no longer needs to do it itself.
Signed-off-by: Max Reitz <mre...@redhat.com>
---
block/vmdk.c | 16 ----------------
1 file changed, 16 deletions(-)
diff --git a/block/vmdk.c b/block/vmdk.c
index 62da465126..a23890e6ec 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -2802,21 +2802,6 @@ static void vmdk_close(BlockDriverState *bs)
error_free(s->migration_blocker);
}
-static coroutine_fn int vmdk_co_flush(BlockDriverState *bs)
-{
- BDRVVmdkState *s = bs->opaque;
- int i, err;
- int ret = 0;
-
- for (i = 0; i < s->num_extents; i++) {
- err = bdrv_co_flush(s->extents[i].file->bs);
- if (err < 0) {
- ret = err;
- }
- }
- return ret;
-}
-
static int64_t vmdk_get_allocated_file_size(BlockDriverState *bs)
{
int i;
@@ -3075,7 +3060,6 @@ static BlockDriver bdrv_vmdk = {
.bdrv_close = vmdk_close,
.bdrv_co_create_opts = vmdk_co_create_opts,
.bdrv_co_create = vmdk_co_create,
- .bdrv_co_flush_to_disk = vmdk_co_flush,
After HEAD^ applied, wouldn't we get an endless recursion in
bdrv_co_flush() if the HEAD (this patch) had not been merged into HEAD^?
Andrey
.bdrv_co_block_status = vmdk_co_block_status,
.bdrv_get_allocated_file_size = vmdk_get_allocated_file_size,
.bdrv_has_zero_init = vmdk_has_zero_init,