diff --git a/tests/storage-xml/pool-dir-vol.xml b/tests/storage-xml/pool-dir-vol.xml index e6d5a6910..687121a47 100644 --- a/tests/storage-xml/pool-dir-vol.xml +++ b/tests/storage-xml/pool-dir-vol.xml @@ -9,5 +9,8 @@ 10736 10736 + + + diff --git a/tests/storage-xml/pool-dir-volclone.xml b/tests/storage-xml/pool-dir-volclone.xml index ea8ebae8b..a26bfd4e1 100644 --- a/tests/storage-xml/pool-dir-volclone.xml +++ b/tests/storage-xml/pool-dir-volclone.xml @@ -13,5 +13,9 @@ 10736 10736 + 1.1 + + + diff --git a/tests/storage-xml/pool-dir-volinput.xml b/tests/storage-xml/pool-dir-volinput.xml index e8e3018e0..49c4693e3 100644 --- a/tests/storage-xml/pool-dir-volinput.xml +++ b/tests/storage-xml/pool-dir-volinput.xml @@ -9,5 +9,8 @@ 10736 10736 + + + diff --git a/tests/storage-xml/pool-disk-vol.xml b/tests/storage-xml/pool-disk-vol.xml index f96726ff5..d3fac0849 100644 --- a/tests/storage-xml/pool-disk-vol.xml +++ b/tests/storage-xml/pool-disk-vol.xml @@ -8,5 +8,8 @@ 10736 10736 + + + diff --git a/tests/storage-xml/pool-disk-volinput.xml b/tests/storage-xml/pool-disk-volinput.xml index f769691ae..a1dedaa18 100644 --- a/tests/storage-xml/pool-disk-volinput.xml +++ b/tests/storage-xml/pool-disk-volinput.xml @@ -9,5 +9,8 @@ 10736 10736 + + + diff --git a/tests/storage-xml/pool-fs-vol.xml b/tests/storage-xml/pool-fs-vol.xml index 01c67371d..b36723d67 100644 --- a/tests/storage-xml/pool-fs-vol.xml +++ b/tests/storage-xml/pool-fs-vol.xml @@ -9,5 +9,8 @@ 10736 10736 + + + diff --git a/tests/storage-xml/pool-fs-volclone.xml b/tests/storage-xml/pool-fs-volclone.xml index f48639eaa..00022e7f1 100644 --- a/tests/storage-xml/pool-fs-volclone.xml +++ b/tests/storage-xml/pool-fs-volclone.xml @@ -13,5 +13,9 @@ 10736 10736 + 1.1 + + + diff --git a/tests/storage-xml/pool-fs-volinput.xml b/tests/storage-xml/pool-fs-volinput.xml index eb0f0993f..fed238b14 100644 --- a/tests/storage-xml/pool-fs-volinput.xml +++ b/tests/storage-xml/pool-fs-volinput.xml @@ -9,5 +9,8 @@ 10736 10736 + + + diff --git a/tests/storage-xml/pool-logical-vol.xml b/tests/storage-xml/pool-logical-vol.xml index aaca040f5..c782e9c77 100644 --- a/tests/storage-xml/pool-logical-vol.xml +++ b/tests/storage-xml/pool-logical-vol.xml @@ -8,5 +8,8 @@ 10736 10736 + + + diff --git a/tests/storage-xml/pool-logical-volinput.xml b/tests/storage-xml/pool-logical-volinput.xml index d51a9b06f..b27e86649 100644 --- a/tests/storage-xml/pool-logical-volinput.xml +++ b/tests/storage-xml/pool-logical-volinput.xml @@ -8,5 +8,8 @@ 10736 10736 + + + diff --git a/tests/storage-xml/pool-netfs-vol.xml b/tests/storage-xml/pool-netfs-vol.xml index c87db9fe7..526a55e84 100644 --- a/tests/storage-xml/pool-netfs-vol.xml +++ b/tests/storage-xml/pool-netfs-vol.xml @@ -9,5 +9,8 @@ 10736 10736 + + + diff --git a/tests/storage-xml/pool-netfs-volclone.xml b/tests/storage-xml/pool-netfs-volclone.xml index d17d4159d..84bed8b28 100644 --- a/tests/storage-xml/pool-netfs-volclone.xml +++ b/tests/storage-xml/pool-netfs-volclone.xml @@ -13,5 +13,9 @@ 10736 10736 + 1.1 + + + diff --git a/tests/storage-xml/pool-netfs-volinput.xml b/tests/storage-xml/pool-netfs-volinput.xml index ee1654f7d..0765b24c2 100644 --- a/tests/storage-xml/pool-netfs-volinput.xml +++ b/tests/storage-xml/pool-netfs-volinput.xml @@ -9,5 +9,8 @@ 10736 10736 + + + diff --git a/tests/xmlparse-xml/pool-dir-vol-out.xml b/tests/xmlparse-xml/pool-dir-vol-out.xml index fed927ba8..b23af50a8 100644 --- a/tests/xmlparse-xml/pool-dir-vol-out.xml +++ b/tests/xmlparse-xml/pool-dir-vol-out.xml @@ -11,6 +11,9 @@ /foo/bar + + + /my/backing diff --git a/tests/xmlparse.py b/tests/xmlparse.py index d49fb4a2c..a34e81839 100644 --- a/tests/xmlparse.py +++ b/tests/xmlparse.py @@ -1047,6 +1047,7 @@ class XMLParseTest(unittest.TestCase): check("format", "raw", "qcow2") check("target_path", None, "/foo/bar") check("backing_store", "/foo/bar/baz", "/my/backing") + check("lazy_refcounts", False, True) check = self._make_checker(vol.permissions) check("mode", "0700", "0744") diff --git a/virtinst/storage.py b/virtinst/storage.py index fc4cd2443..b98b9153f 100644 --- a/virtinst/storage.py +++ b/virtinst/storage.py @@ -595,6 +595,12 @@ class StorageVolume(_StorageObject): target_path = XMLProperty("./target/path") backing_store = XMLProperty("./backingStore/path") + def _lazy_refcounts_default_cb(self): + return self.conn.check_support( + self.conn.SUPPORT_CONN_QCOW2_LAZY_REFCOUNTS) + lazy_refcounts = XMLProperty("./target/features/lazy_refcounts", + is_bool=True, default_cb=_lazy_refcounts_default_cb) + ###################### # Public API helpers # diff --git a/virtinst/support.py b/virtinst/support.py index 523769850..c64bf3906 100644 --- a/virtinst/support.py +++ b/virtinst/support.py @@ -292,8 +292,10 @@ SUPPORT_CONN_VIRTIO_CONSOLE = _make(drv_libvirt_version=[("qemu", 8003)]) SUPPORT_CONN_PANIC_DEVICE = _make(version=1002001, drv_version=[("qemu", 1005000), ("test", 0)]) -SUPPORT_CONN_PM_DISABLE = _make(version="10002", drv_version=[ - ("qemu", 1002000), ("test", 0)]) +SUPPORT_CONN_PM_DISABLE = _make(version="10002", + drv_version=[("qemu", 1002000), ("test", 0)]) +SUPPORT_CONN_QCOW2_LAZY_REFCOUNTS = _make(version="1001000", + drv_version=[("qemu", 1002000), ("test", 0)]) # Domain checks