File virtinst-vol-default-nocow.patch of Package virt-manager

Reference: fate#315125:
Set NOCOW flag to newly created volume by default, to solve performance
issue on btrfs.

Signed-off-by: Chunyan Liu <cyliu@suse.com>

Index: virt-manager-2.1.0/virtinst/storage.py
===================================================================
--- virt-manager-2.1.0.orig/virtinst/storage.py
+++ virt-manager-2.1.0/virtinst/storage.py
@@ -617,6 +617,11 @@ class StorageVolume(_StorageObject):
         return self._pool_xml.get_disk_type()
     file_type = property(_get_vol_type)
 
+    def _nocow_default_cb(self):
+        return self.conn.check_support(
+            self.conn.SUPPORT_CONN_NOCOW)
+    nocow = XMLProperty("./target/nocow", is_bool=True)
+
 
     ##################
     # XML properties #
Index: virt-manager-2.1.0/virtinst/support.py
===================================================================
--- virt-manager-2.1.0.orig/virtinst/support.py
+++ virt-manager-2.1.0/virtinst/support.py
@@ -266,6 +266,8 @@ SUPPORT_CONN_USB3_PORTS = _make(version=
 SUPPORT_CONN_MACHVIRT_PCI_DEFAULT = _make(version="3.0.0")
 SUPPORT_CONN_QEMU_XHCI = _make(version="3.3.0", hv_version={"qemu": "2.9.0"})
 SUPPORT_CONN_VNC_NONE_AUTH = _make(hv_version={"qemu": "2.9.0"})
+SUPPORT_CONN_NOCOW = _make(
+    version="1.2.18", hv_version={"qemu": "2.2.0", "test": 0})
 
 # We choose qemu 2.11.0 as the first version to target for q35 default.
 # That's not really based on anything except reasonably modern at the
openSUSE Build Service is sponsored by