From 287db7fde2511199afa62af511acff4b00607c11 Mon Sep 17 00:00:00 2001 Message-Id: <287db7fde2511199afa62af511acff4b00607c11@dist-git> From: Peter Krempa Date: Tue, 4 Feb 2020 15:07:39 +0100 Subject: [PATCH] qemu: Fix value of 'device' argument for block-commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When using blockdev configurations the 'device' argument of 'blockdev-commit' must correspond to the topmost node in the block node graph. Libvirt didn't do this properly in case when 'copy_on_read' option was enabled on the disk. Use qemuDomainDiskGetTopNodename to fix it when calling block-commit. Signed-off-by: Peter Krempa Reviewed-by: Eric Blake (cherry picked from commit 69908db0f62444e51bb8aae157b5ae48f45e2fe4) https://bugzilla.redhat.com/show_bug.cgi?id=1792195 Message-Id: <0e7223fc993570a108cd849e9d65c476b2294d99.1580824112.git.pkrempa@redhat.com> Reviewed-by: Ján Tomko --- src/qemu/qemu_driver.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 6a209ccb75..e651c9e819 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -18815,7 +18815,7 @@ qemuDomainBlockCommit(virDomainPtr dom, jobname = job->name; nodetop = topSource->nodeformat; nodebase = baseSource->nodeformat; - device = disk->src->nodeformat; + device = qemuDomainDiskGetTopNodename(disk); if (!backingPath && top_parent && !(backingPath = qemuBlockGetBackingStoreString(baseSource))) goto endjob; -- 2.25.0