Blame SOURCES/virt-manager-virt-clone-fix-force-copy-of-empty-cdrom-or-floppy-disk.patch

3d61c0
From 6508e3d1c85a2cc1e3225bb4808b67c7d2ad5109 Mon Sep 17 00:00:00 2001
3d61c0
Message-Id: <6508e3d1c85a2cc1e3225bb4808b67c7d2ad5109@dist-git>
3d61c0
From: Pavel Hrdina <phrdina@redhat.com>
3d61c0
Date: Thu, 28 Feb 2019 17:53:58 +0100
3d61c0
Subject: [PATCH] virt-clone: fix force-copy of empty cdrom or floppy disk
3d61c0
3d61c0
There is nothing to copy so don't try to generate new path.
3d61c0
3d61c0
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1564863
3d61c0
3d61c0
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
3d61c0
(cherry picked from commit 57db41854c86704af331d283810db0d86786825a)
3d61c0
Reviewed-by: Cole Robinson <crobinso@redhat.com>
3d61c0
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
3d61c0
---
3d61c0
 tests/clitest.py | 1 +
3d61c0
 virt-clone       | 5 ++---
3d61c0
 2 files changed, 3 insertions(+), 3 deletions(-)
3d61c0
3d61c0
diff --git a/tests/clitest.py b/tests/clitest.py
3d61c0
index 2288f0aa..a6d995fe 100644
3d61c0
--- a/tests/clitest.py
3d61c0
+++ b/tests/clitest.py
3d61c0
@@ -1043,6 +1043,7 @@ c.add_invalid("--original-xml %(CLONE_DISK_XML)s --file virt-install --file %(EX
3d61c0
 c.add_invalid("--original-xml %(CLONE_DISK_XML)s --file %(NEWCLONEIMG1)s --file %(NEWCLONEIMG2)s --force-copy=hdc")  # XML w/ disks, force copy but not enough disks passed
3d61c0
 c.add_invalid("--original-xml %(CLONE_STORAGE_XML)s --file /tmp/clonevol")  # XML w/ managed storage, specify unmanaged path (should fail)
3d61c0
 c.add_invalid("--original-xml %(CLONE_NOEXIST_XML)s --file %(EXISTIMG1)s")  # XML w/ non-existent storage, WITHOUT --preserve
3d61c0
+c.add_valid("--original-xml %(CLONE_STORAGE_XML)s --auto-clone --force-copy fda")  # force copy empty floppy drive
3d61c0
 
3d61c0
 
3d61c0
 
3d61c0
diff --git a/virt-clone b/virt-clone
3d61c0
index 12f0d062..291f7ab0 100755
3d61c0
--- a/virt-clone
3d61c0
+++ b/virt-clone
3d61c0
@@ -81,11 +81,10 @@ def get_clone_diskfile(new_diskfiles, design, preserve, auto_clone):
3d61c0
             new_diskfiles.append(None)
3d61c0
         newpath = new_diskfiles[newidx]
3d61c0
 
3d61c0
-        if newpath is None and auto_clone:
3d61c0
-            newpath = design.generate_clone_disk_path(origpath)
3d61c0
-
3d61c0
         if origpath is None:
3d61c0
             newpath = None
3d61c0
+        elif newpath is None and auto_clone:
3d61c0
+            newpath = design.generate_clone_disk_path(origpath)
3d61c0
 
3d61c0
         clonepaths.append(newpath)
3d61c0
         newidx += 1
3d61c0
-- 
3d61c0
2.20.1
3d61c0