]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: caps: Add capability for 'write-cache' parameter of disk frontends
authorPeter Krempa <pkrempa@redhat.com>
Tue, 3 Apr 2018 17:11:22 +0000 (19:11 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 19 Apr 2018 09:20:34 +0000 (11:20 +0200)
QEMU translates the cache mode of a disk internally into 3 flags.
'write-cache' is a flag of the frontend while others are flag of the
backing storage. Add capability which will allow expressing it via the
frontend attribute.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
18 files changed:
src/qemu/qemu_capabilities.c
src/qemu/qemu_capabilities.h
tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml
tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml
tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml

index 42248dd19ae10a0bbe5844c24e50d29a0955c4f5..ad387e698ceb0b2c38814a22a4e947db21abb381 100644 (file)
@@ -472,6 +472,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
 
               /* 290 */
               "query-cpus-fast",
+              "disk-write-cache",
     );
 
 
@@ -1118,6 +1119,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioBlk[] = {
     { "disable-legacy", QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY },
     { "iommu_platform", QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM },
     { "ats", QEMU_CAPS_VIRTIO_PCI_ATS },
+    { "write-cache", QEMU_CAPS_DISK_WRITE_CACHE },
 };
 
 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioNet[] = {
@@ -1155,11 +1157,13 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsSCSIDisk[] = {
     { "channel", QEMU_CAPS_SCSI_DISK_CHANNEL },
     { "wwn", QEMU_CAPS_SCSI_DISK_WWN },
     { "share-rw", QEMU_CAPS_DISK_SHARE_RW },
+    { "write-cache", QEMU_CAPS_DISK_WRITE_CACHE },
 };
 
 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsIDEDrive[] = {
     { "wwn", QEMU_CAPS_IDE_DRIVE_WWN },
     { "share-rw", QEMU_CAPS_DISK_SHARE_RW },
+    { "write-cache", QEMU_CAPS_DISK_WRITE_CACHE },
 };
 
 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsPiix4PM[] = {
@@ -1191,6 +1195,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsQ35PCIHost[] = {
 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsUSBStorage[] = {
     { "removable", QEMU_CAPS_USB_STORAGE_REMOVABLE },
     { "share-rw", QEMU_CAPS_DISK_SHARE_RW },
+    { "write-cache", QEMU_CAPS_DISK_WRITE_CACHE },
 };
 
 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsKVMPit[] = {
index 3962c9c4434a75b9b5a3d5ced3df28607325fa7f..f08cfc2611d3be018ae6076f6aa0fab876b48d68 100644 (file)
@@ -456,6 +456,7 @@ typedef enum {
 
     /* 290 */
     QEMU_CAPS_QUERY_CPUS_FAST, /* query-cpus-fast command */
+    QEMU_CAPS_DISK_WRITE_CACHE, /* qemu block frontends support write-cache param */
 
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
index 88616e57f0273336fe8b06553d6c58b477f623ad..527b425dee57e33388d9d495a9069bf0149ada2e 100644 (file)
   <flag name='pl011'/>
   <flag name='dump-completed'/>
   <flag name='qcow2-luks'/>
+  <flag name='disk-write-cache'/>
   <version>2010000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>303541</microcodeVersion>
index 91f80a277fbce562dd0b308a82290228983f9583..3ac6be2d882610089721ea7cf59a979159ff68c2 100644 (file)
   <flag name='machine.pseries.max-cpu-compat'/>
   <flag name='dump-completed'/>
   <flag name='qcow2-luks'/>
+  <flag name='disk-write-cache'/>
   <version>2010000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>382824</microcodeVersion>
index c599b66f56aef8d3fc0b859907a2112eb0dd7357..b682d36c931a42b269fe08f9d001afb9d777fae8 100644 (file)
   <flag name='iscsi.password-secret'/>
   <flag name='dump-completed'/>
   <flag name='qcow2-luks'/>
+  <flag name='disk-write-cache'/>
   <version>2010000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>303326</microcodeVersion>
index 9e95b684576508072660e5160164930ba7619ef4..8dd30ccbcfa10c9c51dfceeff6578f2edbb61d06 100644 (file)
   <flag name='isa-serial'/>
   <flag name='dump-completed'/>
   <flag name='qcow2-luks'/>
+  <flag name='disk-write-cache'/>
   <version>2010000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>344938</microcodeVersion>
index eb6ae2f39e13dfd4bce87fd03d605ffc758831c8..6dd392502eefbd7caeb3dd60fa7f09d5e138e225 100644 (file)
   <flag name='virtio-tablet-ccw'/>
   <flag name='qcow2-luks'/>
   <flag name='seccomp-blacklist'/>
+  <flag name='disk-write-cache'/>
   <version>2011000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>342058</microcodeVersion>
index d50a440776c3fdea701c068814e737a193a7c556..31c5d0dd234138b93a968e92f9a8ccf2277df2bc 100644 (file)
   <flag name='pcie-pci-bridge'/>
   <flag name='seccomp-blacklist'/>
   <flag name='query-cpus-fast'/>
+  <flag name='disk-write-cache'/>
   <version>2011090</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>342346</microcodeVersion>
index c4cdd248b0b4862942deb832db26839ff32463d3..7dead4a1f4e585505478aba29b069b7d8544a8d7 100644 (file)
   <flag name='qcow2-luks'/>
   <flag name='seccomp-blacklist'/>
   <flag name='query-cpus-fast'/>
+  <flag name='disk-write-cache'/>
   <version>2011090</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>419215</microcodeVersion>
index 122801dd309ebff5d82cd6d2de2c80c968df0fa0..70ae8f91c75698a92ce3a8d319798ad4ca90c9fe 100644 (file)
   <flag name='qcow2-luks'/>
   <flag name='seccomp-blacklist'/>
   <flag name='query-cpus-fast'/>
+  <flag name='disk-write-cache'/>
   <version>2011090</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>0</microcodeVersion>
index 37c9243a584831f4fd4eb34c7b335825baee0d7b..d809a783807fbf3104d350bdf4f2e8d4f35b27fc 100644 (file)
   <flag name='pcie-pci-bridge'/>
   <flag name='seccomp-blacklist'/>
   <flag name='query-cpus-fast'/>
+  <flag name='disk-write-cache'/>
   <version>2011090</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>390060</microcodeVersion>
index a585af453c799a5b832b1a89aa2bc714e9e08d79..34eed2369426378d9675a0c75c96e82056c39c8d 100644 (file)
   <flag name='virtio-blk.num-queues'/>
   <flag name='sclplmconsole'/>
   <flag name='dump-completed'/>
+  <flag name='disk-write-cache'/>
   <version>2007000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>216732</microcodeVersion>
index 55c121c596f1fea605ba0801afc698931d5a15e4..ee4b25d7fd18b6d84eac739b03557fd72d7bf84b 100644 (file)
   <flag name='virtio-blk.num-queues'/>
   <flag name='isa-serial'/>
   <flag name='dump-completed'/>
+  <flag name='disk-write-cache'/>
   <version>2007000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>239029</microcodeVersion>
index 1ac60bb403c59e24b8674565f7833fc92c0da532..21046c05466a1578c7c90958983765c6231cfc49 100644 (file)
   <flag name='virtio-blk.num-queues'/>
   <flag name='sclplmconsole'/>
   <flag name='dump-completed'/>
+  <flag name='disk-write-cache'/>
   <version>2007093</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>241633</microcodeVersion>
index 831a7689775c00a00d70e2e2776695007a7f21b0..c4801ac23a1017fdbb09f9ac0760cb89e7ccf0aa 100644 (file)
   <flag name='virtio-blk.num-queues'/>
   <flag name='isa-serial'/>
   <flag name='dump-completed'/>
+  <flag name='disk-write-cache'/>
   <version>2008000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>255684</microcodeVersion>
index 4998edf7a08188cd500a625b0e0c89bbcedd5791..73f42a7392a499beeff384cfb4662dfa6fd1184a 100644 (file)
   <flag name='iscsi.password-secret'/>
   <flag name='isa-serial'/>
   <flag name='dump-completed'/>
+  <flag name='disk-write-cache'/>
   <version>2009000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>346538</microcodeVersion>
index d29994bbfdd633b90ce90d6cd61b5a54c7d5212d..30fce6ecf19b8026932139f4e043e21bf3142647 100644 (file)
   <flag name='disk-share-rw'/>
   <flag name='iscsi.password-secret'/>
   <flag name='dump-completed'/>
+  <flag name='disk-write-cache'/>
   <version>2009000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>265051</microcodeVersion>
index d813a96a130d379522de139d0049b762ce74f0ec..e1dc257a75b7a5e9bb048f0de9428309cbf73323 100644 (file)
   <flag name='iscsi.password-secret'/>
   <flag name='isa-serial'/>
   <flag name='dump-completed'/>
+  <flag name='disk-write-cache'/>
   <version>2009000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>320947</microcodeVersion>