summaryrefslogtreecommitdiff
path: root/virtinst
diff options
context:
space:
mode:
authorLin Ma <lma@suse.com>2022-08-16 12:59:57 +0800
committerCole Robinson <crobinso@redhat.com>2022-08-17 09:57:29 -0400
commit11a887ece5b5bab287ff77b09337dc44c4e6e976 (patch)
tree0a575db077f5bcbf203bef303f37ceb6566bc5df /virtinst
parent8ca7c91697110ae0c1e730fc03237a06d28c5ced (diff)
downloadvirt-manager-11a887ece5b5bab287ff77b09337dc44c4e6e976.tar.gz
cli: --disk: Add driver.metadata_cache options
Properly setting the metadata cache size can provide better performance in case of using big qcow2 images. This patch introduces two driver options: * driver.metadata_cache.max_size * driver.metadata_cache.max_size.unit E.g. --disk ...,driver.type=qcow2,\ driver.metadata_cache.max_size=2,\ driver.metadata_cache.max_size.unit=MiB BTW, Metadata cache size control is currently supported only for qcow2. Regarding how to properly caluclate the cache size of qcow2, Please refer to qemu's documentation. Signed-off-by: Lin Ma <lma@suse.com>
Diffstat (limited to 'virtinst')
-rw-r--r--virtinst/cli.py7
-rw-r--r--virtinst/devices/disk.py5
2 files changed, 12 insertions, 0 deletions
diff --git a/virtinst/cli.py b/virtinst/cli.py
index c4dffd34..042b500f 100644
--- a/virtinst/cli.py
+++ b/virtinst/cli.py
@@ -3497,6 +3497,8 @@ class ParserDisk(VirtCLIParser):
"driver.io": "io",
"driver.name": "driver_name",
"driver.type": "driver_type",
+ "driver.metadata_cache.max_size": "metadata_cache.max_size",
+ "driver.metadata_cache.max_size.unit": "metadata_cache.max_size.unit",
}
def _add_advertised_aliases(self):
@@ -3696,6 +3698,11 @@ class ParserDisk(VirtCLIParser):
cls.add_arg("driver.queues", "driver_queues")
cls.add_arg("driver.error_policy", "error_policy")
+ cls.add_arg("driver.metadata_cache.max_size",
+ "driver_metadata_cache_max_size")
+ cls.add_arg("driver.metadata_cache.max_size.unit",
+ "driver_metadata_cache_max_size_unit")
+
cls.add_arg("iotune.read_bytes_sec", "iotune_rbs")
cls.add_arg("iotune.write_bytes_sec", "iotune_wbs")
cls.add_arg("iotune.total_bytes_sec", "iotune_tbs")
diff --git a/virtinst/devices/disk.py b/virtinst/devices/disk.py
index dc59fd13..9609ebac 100644
--- a/virtinst/devices/disk.py
+++ b/virtinst/devices/disk.py
@@ -481,6 +481,11 @@ class DeviceDisk(Device):
driver_iothread = XMLProperty("./driver/@iothread", is_int=True)
driver_queues = XMLProperty("./driver/@queues", is_int=True)
+ driver_metadata_cache_max_size = XMLProperty(
+ "./driver/metadata_cache/max_size", is_int=True)
+ driver_metadata_cache_max_size_unit = XMLProperty(
+ "./driver/metadata_cache/max_size/@unit")
+
error_policy = XMLProperty("./driver/@error_policy")
serial = XMLProperty("./serial")
wwn = XMLProperty("./wwn")