]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: domcaps: Report disk <enum name="model">
authorCole Robinson <crobinso@redhat.com>
Wed, 20 Feb 2019 19:18:40 +0000 (14:18 -0500)
committerCole Robinson <crobinso@redhat.com>
Mon, 4 Mar 2019 16:08:41 +0000 (11:08 -0500)
This generates new XML like:

    <disk>
      <enum name='model'>
        <value>virtio</value>
        <value>virtio-transitional</value>
        <value>virtio-non-transitional</value>
      </enum>
    </disk>

Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Cole Robinson <crobinso@redhat.com>
28 files changed:
src/conf/domain_capabilities.c
src/conf/domain_capabilities.h
src/qemu/qemu_capabilities.c
tests/domaincapsschemadata/bhyve_basic.x86_64.xml
tests/domaincapsschemadata/bhyve_fbuf.x86_64.xml
tests/domaincapsschemadata/bhyve_uefi.x86_64.xml
tests/domaincapsschemadata/full.xml
tests/domaincapsschemadata/libxl-xenfv.xml
tests/domaincapsschemadata/libxl-xenpv.xml
tests/domaincapsschemadata/qemu_1.7.0.x86_64.xml
tests/domaincapsschemadata/qemu_2.12.0-virt.aarch64.xml
tests/domaincapsschemadata/qemu_2.12.0.ppc64.xml
tests/domaincapsschemadata/qemu_2.12.0.s390x.xml
tests/domaincapsschemadata/qemu_2.12.0.x86_64.xml
tests/domaincapsschemadata/qemu_2.6.0-virt.aarch64.xml
tests/domaincapsschemadata/qemu_2.6.0.aarch64.xml
tests/domaincapsschemadata/qemu_2.6.0.ppc64.xml
tests/domaincapsschemadata/qemu_2.6.0.x86_64.xml
tests/domaincapsschemadata/qemu_2.7.0.s390x.xml
tests/domaincapsschemadata/qemu_2.8.0-tcg.x86_64.xml
tests/domaincapsschemadata/qemu_2.8.0.s390x.xml
tests/domaincapsschemadata/qemu_2.8.0.x86_64.xml
tests/domaincapsschemadata/qemu_2.9.0-q35.x86_64.xml
tests/domaincapsschemadata/qemu_2.9.0-tcg.x86_64.xml
tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml
tests/domaincapsschemadata/qemu_3.0.0.s390x.xml
tests/domaincapsschemadata/qemu_4.0.0.x86_64.xml
tests/domaincapstest.c

index 6352eda343b4bcf9e5fac0943cb08ff461c2aaf4..a6104920abcfa51f1d906f75133ed47d65f47d35 100644 (file)
@@ -482,6 +482,7 @@ virDomainCapsDeviceDiskFormat(virBufferPtr buf,
 
     ENUM_PROCESS(disk, diskDevice, virDomainDiskDeviceTypeToString);
     ENUM_PROCESS(disk, bus, virDomainDiskBusTypeToString);
+    ENUM_PROCESS(disk, model, virDomainDiskModelTypeToString);
 
     FORMAT_EPILOGUE(disk);
 }
index 15e065359b04127cf9870093df3d4f0574269afe..b5387916a105dd31b51f2dc85dbadb6fbbef2b36 100644 (file)
@@ -65,6 +65,7 @@ struct _virDomainCapsDeviceDisk {
     bool supported;
     virDomainCapsEnum diskDevice;   /* Info about virDomainDiskDevice enum values */
     virDomainCapsEnum bus;          /* Info about virDomainDiskBus enum values */
+    virDomainCapsEnum model;        /* Info about virDomainDiskModel enum values */
     /* add new fields here */
 };
 
index 9f001b3c4377087e8d1adaaeba02bc6f7f3d6475..d435bf17aed786fde570a08db4fed0e34008ad5e 100644 (file)
@@ -5024,6 +5024,16 @@ virQEMUCapsFillDomainDeviceDiskCaps(virQEMUCapsPtr qemuCaps,
     if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_ICH9_AHCI))
         VIR_DOMAIN_CAPS_ENUM_SET(disk->bus, VIR_DOMAIN_DISK_BUS_SATA);
 
+    /* disk->model values */
+    VIR_DOMAIN_CAPS_ENUM_SET(disk->model, VIR_DOMAIN_DISK_MODEL_VIRTIO);
+    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY) ||
+        virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_PCI_TRANSITIONAL)) {
+        VIR_DOMAIN_CAPS_ENUM_SET(disk->model,
+                                 VIR_DOMAIN_DISK_MODEL_VIRTIO_TRANSITIONAL);
+        VIR_DOMAIN_CAPS_ENUM_SET(disk->model,
+                                 VIR_DOMAIN_DISK_MODEL_VIRTIO_NON_TRANSITIONAL);
+    }
+
     return 0;
 }
 
index d6ecf061d05a0177c1ba179c18bd4ec5dc9fa2b3..bdf2c4eee8fefd4d795d4aaedb45e0f2b1a6aff3 100644 (file)
@@ -21,6 +21,7 @@
         <value>virtio</value>
         <value>sata</value>
       </enum>
+      <enum name='model'/>
     </disk>
     <graphics supported='no'/>
     <video supported='no'/>
index 1a5aad7bce013699fe9ac7d60b76365edad6a166..f998c457c178541c667bf4c1c18bb0c3db152630 100644 (file)
@@ -30,6 +30,7 @@
         <value>virtio</value>
         <value>sata</value>
       </enum>
+      <enum name='model'/>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index b624fd0799f256162bcbc2a5aff9971252357e66..18f90023d5cf6f47580a2cfd0810af632217d045 100644 (file)
@@ -30,6 +30,7 @@
         <value>virtio</value>
         <value>sata</value>
       </enum>
+      <enum name='model'/>
     </disk>
     <graphics supported='no'/>
     <video supported='no'/>
index eafba1ae5b55d892fd2a534246e771e196ece5ac..28263466a406e9905c2ede246e7a36ef492dc705 100644 (file)
         <value>sata</value>
         <value>sd</value>
       </enum>
+      <enum name='model'>
+        <value>default</value>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index 29fe1f9aa30081ae504b290a66c8b36c7d79f68b..4efc137c9741e11a58ecb33b3efaacac9dc5d7e2 100644 (file)
@@ -34,6 +34,7 @@
         <value>scsi</value>
         <value>xen</value>
       </enum>
+      <enum name='model'/>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index b9f3ca736bb7c4251c800c5d9ecda827db764525..70e598fe9e8ccbfc68e138081012a54111be64ea 100644 (file)
@@ -24,6 +24,7 @@
         <value>scsi</value>
         <value>xen</value>
       </enum>
+      <enum name='model'/>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index 3d731339193162ba112ee27b3874044cd22a0ae5..497363bbe9485171fd034ffd7070211f53e86b9a 100644 (file)
@@ -68,6 +68,9 @@
         <value>usb</value>
         <value>sata</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index 56e403c4c7f900189031d3f22737324a9f56004b..7639df44c6b67956eb23c89e63ecc07ee163d316 100644 (file)
         <value>usb</value>
         <value>sata</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index d0b9c3fdef5639dd7a3218db9cab50014f786a6a..f10d361359bcac1958a9610838f840d034bd212e 100644 (file)
         <value>usb</value>
         <value>sata</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index 8742dce530ae90f38d67eaf03519d4150fdc61c4..41a81ff02ff9d6bef44090c4776f4cbcfb325437 100644 (file)
         <value>scsi</value>
         <value>virtio</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index a8d6a4d629dfb3292d6274fcb652bc52dd0e748f..5913e7fc6320901d6a70fe2cd20c14b76a224cb9 100644 (file)
         <value>usb</value>
         <value>sata</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index b3e85de1d326f2be3d5231ad7cb144ca4ae7cf7c..9ee801092ea118b3f8bf59a3865655e11130a787 100644 (file)
         <value>usb</value>
         <value>sata</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index 0fcc715940c5bbb0954be0dd14f0625073cfcbbf..4dd0b52ed3c1b15cf9ff1f7fab3c9b558d95b069 100644 (file)
         <value>usb</value>
         <value>sata</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index f2dff05ff8f82f605467b253c9ca38c9a3584498..aa982d237e92d604573f86212e61afed463386b8 100644 (file)
         <value>usb</value>
         <value>sata</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index c6d9fd8b3721172ddbb59cde41e13dca66a15fb3..6aa3f52ee441270376694186219b99a2fc9637a2 100644 (file)
         <value>usb</value>
         <value>sata</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index 0c48bd6c75f436e462bb031fe9fc54e1ff364508..8daa15ab9ddb19fbc2758d62381db9870ee52f78 100644 (file)
         <value>scsi</value>
         <value>virtio</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index 1cb843d5d1887e16bae5118f849262d7561e3b2a..081805aa4a240c881712d63856fb1edb8d49f8df 100644 (file)
         <value>usb</value>
         <value>sata</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index 7293d89ae784fe3b3ea8f2b6224c9723c7357906..62c51e40875298ef9f6e5eced941c577c765adc9 100644 (file)
         <value>scsi</value>
         <value>virtio</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index 8391603a3b38f4067124cb7f8e689b5dad561269..1bb034aa4fe039c9011c38fa32ed666574d78517 100644 (file)
         <value>usb</value>
         <value>sata</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index c341de3ce26778fdfa9217c26fd38908bb097f47..67c6d5e77e3c72dbbc7a1c038f6fb5071c2277db 100644 (file)
         <value>usb</value>
         <value>sata</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index 4336e65dc8f72ec2aba8560b7baa6f3d40a26263..588ef08199b682c7577d20889d3614a1227f11f4 100644 (file)
         <value>usb</value>
         <value>sata</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index 8e842b89fdc64b2bc4dc67cfd51c4ea54d04973c..598937a9719b602fdb16649e8508dc70a96297b8 100644 (file)
         <value>usb</value>
         <value>sata</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index 97231e044f0a73f0314948c410bd709072c1b742..1d97f1f344d072625d435700fbf26067bc1d84bd 100644 (file)
         <value>scsi</value>
         <value>virtio</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index 8595f7faf558622074ccde1451a796a9ae2f81c5..df66be9e29f9fd32659e33275e1ace4eda5bda07 100644 (file)
         <value>usb</value>
         <value>sata</value>
       </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
     </disk>
     <graphics supported='yes'>
       <enum name='type'>
index 86b8429f23eb8cf71fa4f6caa69c2357c5317e0c..3be2806a486f6439c8a600341c4115ee10a1454e 100644 (file)
@@ -94,6 +94,7 @@ fillAllCaps(virDomainCapsPtr domCaps)
     disk->supported = true;
     SET_ALL_BITS(disk->diskDevice);
     SET_ALL_BITS(disk->bus);
+    SET_ALL_BITS(disk->model);
 
     graphics->supported = true;
     SET_ALL_BITS(graphics->type);