File bbb96bca-clone-keep-the-same-image-format-on-a-cross-pool-clo.patch of Package virt-manager
Index: virt-manager-1.0.1/virtinst/cloner.py
===================================================================
--- virt-manager-1.0.1.orig/virtinst/cloner.py
+++ virt-manager-1.0.1/virtinst/cloner.py
@@ -1,5 +1,5 @@
#
-# Copyright 2013 Red Hat, Inc.
+# Copyright 2013, 2015 Red Hat, Inc.
# Copyright(c) FUJITSU Limited 2007.
#
# Cloning a virtual machine module.
@@ -344,9 +344,11 @@ class Cloner(object):
vol_install.name = clone_vol_install.name
else:
# Cross pool cloning
- # Deliberately don't sync input_vol params here
+ # Sync only the format of the image.
clone_vol_install.input_vol = orig_disk.get_vol_object()
vol_install = clone_vol_install
+ vol_install.input_vol = orig_disk.get_vol_object()
+ vol_install.sync_input_vol(only_format=True)
else:
clone_path = orig_disk.path
Index: virt-manager-1.0.1/virtinst/storage.py
===================================================================
--- virt-manager-1.0.1.orig/virtinst/storage.py
+++ virt-manager-1.0.1/virtinst/storage.py
@@ -1,5 +1,5 @@
#
-# Copyright 2008, 2013 Red Hat, Inc.
+# Copyright 2008, 2013, 2015 Red Hat, Inc.
# Cole Robinson <crobinso@redhat.com>
#
# This program is free software; you can redistribute it and/or modify
@@ -577,15 +577,17 @@ class StorageVolume(_StorageObject):
doc=_("virStorageVolume pointer to clone/use as "
"input."))
- def sync_input_vol(self):
+ def sync_input_vol(self, only_format=False):
# Pull paramaters from input vol into this class
parsevol = StorageVolume(self.conn,
parsexml=self._input_vol.XMLDesc(0))
+ self.format = parsevol.format
+ if only_format:
+ return
self.pool = self._input_vol.storagePoolLookupByVolume()
self.capacity = parsevol.capacity
self.allocation = parsevol.allocation
- self.format = parsevol.format
##########################