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

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