]> git.proxmox.com Git - mirror_qemu.git/blobdiff - block/replication.c
block: Mark bdrv_unref_child() GRAPH_WRLOCK
[mirror_qemu.git] / block / replication.c
index eec98196252e01cb3e34debd8ede0c2ae4de8574..dd166d2d82301505593fa3f24763b3b7cec79936 100644 (file)
@@ -672,10 +672,13 @@ static void replication_done(void *opaque, int ret)
     if (ret == 0) {
         s->stage = BLOCK_REPLICATION_DONE;
 
+        bdrv_graph_wrlock(NULL);
         bdrv_unref_child(bs, s->secondary_disk);
         s->secondary_disk = NULL;
         bdrv_unref_child(bs, s->hidden_disk);
         s->hidden_disk = NULL;
+        bdrv_graph_wrunlock();
+
         s->error = 0;
     } else {
         s->stage = BLOCK_REPLICATION_FAILOVER_FAILED;