Reference: fate#315125: Set NOCOW flag to newly created volume by default, to solve performance issue on btrfs. Signed-off-by: Chunyan Liu Index: virt-manager-1.3.2/virtinst/storage.py =================================================================== --- virt-manager-1.3.2.orig/virtinst/storage.py +++ virt-manager-1.3.2/virtinst/storage.py @@ -716,6 +716,12 @@ class StorageVolume(_StorageObject): lazy_refcounts = XMLProperty("./target/features/lazy_refcounts", is_bool=True, default_cb=_lazy_refcounts_default_cb) + def _nocow_default_cb(self): + return self.conn.check_support( + self.conn.SUPPORT_CONN_NOCOW) + nocow = XMLProperty("./target/nocow", + is_bool=True, default_cb=_nocow_default_cb) + ###################### # Public API helpers # Index: virt-manager-1.3.2/virtinst/support.py =================================================================== --- virt-manager-1.3.2.orig/virtinst/support.py +++ virt-manager-1.3.2/virtinst/support.py @@ -314,6 +314,8 @@ SUPPORT_CONN_VCPU_PLACEMENT = _make( SUPPORT_CONN_MEM_STATS_PERIOD = _make( function="virDomain.setMemoryStatsPeriod", version="1.1.1", hv_version={"qemu": 0}) +SUPPORT_CONN_NOCOW = _make( + version="1.2.18", hv_version={"qemu": "2.2.0", "test": 0}) # This is for disk . xen supports this, but it's # limited to arbitrary new enough xen, since I know libxl can handle it