File 023-cli-Add-disk-driver.queue_size-support.patch of Package virt-manager
Subject: cli: Add --disk driver.queue_size support
From: Lin Ma lma@suse.de Sun Jan 5 17:49:34 2025 +0800
Date: Wed Jan 29 10:25:37 2025 +0100:
Git: 36d00e0e79f3d845522201c4a353d5a529af82a7
Eg:
virt-install \
......
--disk /tmp/disk0.qcow2,size=10,driver.type=qcow2,\
driver.queues=4,driver.queue_size=256 \
......
It results in the following domain XML snippet:
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' queues='4' queue_size='256'/>
<source file='/tmp/disk0.qcow2' index='2'/>
<backingStore/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
</disk>
Signed-off-by: Lin Ma <lma@suse.de>
diff --git a/tests/data/cli/compare/virt-install-many-devices.xml b/tests/data/cli/compare/virt-install-many-devices.xml
index d91e4c849..eb26d316b 100644
--- a/tests/data/cli/compare/virt-install-many-devices.xml
+++ b/tests/data/cli/compare/virt-install-many-devices.xml
@@ -231,7 +231,7 @@
<devices>
<emulator>/new/emu</emulator>
<disk type="block" device="disk">
- <driver name="qemu" type="raw" cache="writeback" discard="unmap" io="threads" iothread="3" queues="8"/>
+ <driver name="qemu" type="raw" cache="writeback" discard="unmap" io="threads" iothread="3" queues="8" queue_size="256"/>
<source dev="/pool-dir/UPPER"/>
<target dev="vda" bus="virtio"/>
<serial>WD-WMAP9A966149</serial>
diff --git a/tests/test_cli.py b/tests/test_cli.py
index 4a980dbac..071a17bee 100644
--- a/tests/test_cli.py
+++ b/tests/test_cli.py
@@ -610,7 +610,7 @@ msrs.unknown=ignore
--sysinfo bios.vendor="Acme LLC",bios.version=1.2.3,bios.date=01/01/1970,bios.release=10.22,system.manufacturer="Acme Inc.",system.product=Computer,system.version=3.2.1,system.serial=123456789,system.uuid=00000000-1111-2222-3333-444444444444,system.sku=abc-123,system.family=Server,baseBoard.manufacturer="Acme Corp.",baseBoard.product=Motherboard,baseBoard.version=A01,baseBoard.serial=1234-5678,baseBoard.asset=Tag,baseBoard.location=Chassis
---disk type=block,source.dev=/pool-dir/UPPER,cache=writeback,io=threads,perms=sh,serial=WD-WMAP9A966149,wwn=123456789abcdefa,boot_order=2,driver.iothread=3,driver.queues=8
+--disk type=block,source.dev=/pool-dir/UPPER,cache=writeback,io=threads,perms=sh,serial=WD-WMAP9A966149,wwn=123456789abcdefa,boot_order=2,driver.iothread=3,driver.queues=8,driver.queue_size=256
--disk source.file=%(NEWIMG1)s,sparse=false,size=.001,perms=ro,error_policy=enospace,detect_zeroes=unmap,address.type=drive,address.controller=0,address.target=2,address.unit=0
--disk device=cdrom,bus=sata,read_bytes_sec=1,read_iops_sec=2,write_bytes_sec=5,write_iops_sec=6,driver.copy_on_read=on,geometry.cyls=16383,geometry.heads=16,geometry.secs=63,geometry.trans=lba,discard=ignore
--disk size=1
diff --git a/virtinst/cli.py b/virtinst/cli.py
index 33235bf37..7df2e365f 100644
--- a/virtinst/cli.py
+++ b/virtinst/cli.py
@@ -3778,6 +3778,7 @@ class ParserDisk(VirtCLIParser):
cls.add_arg("driver.queues", "driver_queues")
cls.add_arg("driver.error_policy", "error_policy")
cls.add_arg("driver.discard_no_unref", "driver_discard_no_unref", is_onoff=True)
+ cls.add_arg("driver.queue_size", "driver_queue_size")
cls.add_arg("driver.metadata_cache.max_size",
"driver_metadata_cache_max_size")
diff --git a/virtinst/devices/disk.py b/virtinst/devices/disk.py
index 1f9358b84..9370fcd87 100644
--- a/virtinst/devices/disk.py
+++ b/virtinst/devices/disk.py
@@ -509,6 +509,7 @@ class DeviceDisk(Device):
driver_iothread = XMLProperty("./driver/@iothread", is_int=True)
driver_queues = XMLProperty("./driver/@queues", is_int=True)
driver_discard_no_unref = XMLProperty("./driver/@discard_no_unref", is_onoff=True)
+ driver_queue_size = XMLProperty("./driver/@queue_size", is_int=True)
driver_metadata_cache_max_size = XMLProperty(
"./driver/metadata_cache/max_size", is_int=True)