Re: [virt-manager] [PATCH] cli: --disk: Add driver.metadata_cache options

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/16/22 12:59 AM, Lin Ma wrote:
> 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@xxxxxxxx>
> ---
>  tests/data/cli/compare/virt-install-many-devices.xml | 9 +++++++++
>  tests/test_cli.py                                    | 1 +
>  virtinst/cli.py                                      | 7 +++++++
>  virtinst/devices/disk.py                             | 5 +++++
>  4 files changed, 22 insertions(+)
> 
> diff --git a/tests/data/cli/compare/virt-install-many-devices.xml b/tests/data/cli/compare/virt-install-many-devices.xml
> index a73343a9..a33dc16a 100644
> --- a/tests/data/cli/compare/virt-install-many-devices.xml
> +++ b/tests/data/cli/compare/virt-install-many-devices.xml
> @@ -423,6 +423,15 @@
>        </source>
>        <target dev="vdu" bus="virtio"/>
>      </disk>
> +    <disk type="file" device="disk">
> +      <driver name="qemu" type="qcow2">
> +        <metadata_cache>
> +          <max_size unit="KiB">2048</max_size>
> +        </metadata_cache>
> +      </driver>
> +      <source file="/tmp/disk1.qcow2"/>
> +      <target dev="vdv" bus="virtio"/>
> +    </disk>
>      <controller type="usb" index="0" model="ich9-ehci1">
>        <address type="pci" domain="0" bus="0" slot="4" function="7"/>
>      </controller>
> diff --git a/tests/test_cli.py b/tests/test_cli.py
> index 774db098..259ac78c 100644
> --- a/tests/test_cli.py
> +++ b/tests/test_cli.py
> @@ -605,6 +605,7 @@ source.reservations.managed=no,source.reservations.source.type=unix,source.reser
>  --disk path=/fooroot.img,size=.0001,transient=on
>  --disk source.dir=/
>  --disk type=nvme,source.type=pci,source.managed=no,source.namespace=2,source.address.domain=0x0001,source.address.bus=0x02,source.address.slot=0x00,source.address.function=0x0
> +--disk /tmp/disk1.qcow2,size=16,driver.type=qcow2,driver.metadata_cache.max_size=2048,driver.metadata_cache.max_size.unit=KiB
>  
>  
>  --network user,mac=12:34:56:78:11:22,portgroup=foo,link_state=down,rom_bar=on,rom_file=/tmp/foo
> 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",
>      }
>  

I botched testing this. These aliases should never be added for new cli
properties, they are for maintaining cli backcompat when adding new
names for the same parameter (like when we changed --disk driver_name to
driver.name for consistency). So I reverted this bit

- Cole




[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux