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-4.1.0/virtinst/storage.py
===================================================================
--- virt-manager-4.1.0.orig/virtinst/storage.py
+++ virt-manager-4.1.0/virtinst/storage.py
@@ -567,6 +567,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.conn_nocow)
+    nocow = XMLProperty("./target/nocow", is_bool=True)
+
 
     ##################
     # XML properties #
Index: virt-manager-4.1.0/virtinst/support.py
===================================================================
--- virt-manager-4.1.0.orig/virtinst/support.py
+++ virt-manager-4.1.0/virtinst/support.py
@@ -269,6 +269,7 @@ class SupportCache:
     conn_vnc_none_auth = _make(hv_version={"qemu": "2.9.0"})
     conn_device_boot_order = _make(hv_version={"qemu": 0, "test": 0})
     conn_riscv_virt_pci_default = _make(version="5.3.0", hv_version={"qemu": "4.0.0"})
+    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