]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: capabilities: add QEMU_CAPS_FSDEV_CREATEMODE
authorBrian Turek <brian.turek@gmail.com>
Thu, 8 Oct 2020 14:32:23 +0000 (15:32 +0100)
committerJán Tomko <jtomko@redhat.com>
Wed, 4 Nov 2020 17:25:53 +0000 (18:25 +0100)
The QEMU 9pfs 'fmode' and 'dmode' options have existed since QEMU 2.10.
Probe QEMU's command line set to check whether these options are
available, and if yes, enable this new QEMU_CAPS_FSDEV_CREATEMODE
capability on libvirt side.

Signed-off-by: Brian Turek <brian.turek@gmail.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
36 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.11.0.x86_64.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_3.0.0.ppc64.xml
tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml
tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml
tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml
tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml
tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml
tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml
tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml

index a67fb785b52072efde70b9a29369c9b857255fda..27f19d5e4e335a042d043f192d6081a7e45d2e33 100644 (file)
@@ -603,6 +603,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
               "virtio-balloon.free-page-reporting",
               "block-export-add",
               "netdev.vhost-vdpa",
+              "fsdev.createmode",
     );
 
 
@@ -3328,6 +3329,7 @@ static struct virQEMUCapsCommandLineProps virQEMUCapsCommandLine[] = {
     { "smp-opts", "dies", QEMU_CAPS_SMP_DIES },
     { "fsdev", "multidevs", QEMU_CAPS_FSDEV_MULTIDEVS },
     { "fw_cfg", "file", QEMU_CAPS_FW_CFG },
+    { "fsdev", "fmode", QEMU_CAPS_FSDEV_CREATEMODE }, /* Could have also checked fsdev->dmode */
 };
 
 static int
index 047ba8a0ee1788bf448f1fe25431c9f2f07d487a..6b40ff4f153cb17462e77ba481ee3054bbd1d95a 100644 (file)
@@ -583,6 +583,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
     QEMU_CAPS_VIRTIO_BALLOON_FREE_PAGE_REPORTING, /*virtio balloon free-page-reporting */
     QEMU_CAPS_BLOCK_EXPORT_ADD, /* 'block-export-add' command is supported */
     QEMU_CAPS_NETDEV_VHOST_VDPA, /* -netdev vhost-vdpa*/
+    QEMU_CAPS_FSDEV_CREATEMODE, /* fsdev.createmode */
 
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
index 34a4c2b3a542212e0e768353fd4bcb9835b39d3a..80ded97e7b64469ad59991759f63f5cf9d32aaa5 100644 (file)
   <flag name='fw_cfg'/>
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
+  <flag name='fsdev.createmode'/>
   <version>2010000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>61700287</microcodeVersion>
index 7f8e9106ea95d0d04a36d79a95bd1ef434ab6513..a6cc20da153e6324caeab8e0a607a3241d750782 100644 (file)
   <flag name='fw_cfg'/>
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
+  <flag name='fsdev.createmode'/>
   <version>2010000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900287</microcodeVersion>
index 7b3d75976f3a1a4e3d45d1f92ef99931c75919b2..dd28959eab71cad8ae13f9a2d3a0993ed62f2479 100644 (file)
   <flag name='fw_cfg'/>
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
+  <flag name='fsdev.createmode'/>
   <version>2010000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>39100287</microcodeVersion>
index b31acd3571ff97cc1366665c19af2fbf85cb2e40..cc7b42a2876505ef5c25be7be628d7a6fd23b941 100644 (file)
   <flag name='fw_cfg'/>
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
+  <flag name='fsdev.createmode'/>
   <version>2010000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100287</microcodeVersion>
index 59a6cdf3604da2100d284d30b5d9fd33a8ccc7c1..137fff4dfc8efcd3248f87310a25248dc47ae536 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>2011000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>39100288</microcodeVersion>
index 9e8868f032a3fe6e7dfec66cb7c06c2362818eed..1d49e923556287c28a3985097f4e846c93570b46 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>2011000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100288</microcodeVersion>
index c36324ca925ff15893151763302eb6631ef1b4d0..4748a56cc9fcf6578a7daab394e1ba4eb9115bce 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>2012000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>61700289</microcodeVersion>
index e35f440bf7b01afda7489a2c3b0dd13904ac91d2..ea0c6b91b7021d4844bd392378ab054bfac101eb 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>2011090</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900289</microcodeVersion>
index a679d8cc05438c40ea3665e2592a08df0ded812e..588ccc58e45eb78cb2f623541008f59c15e273b3 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>2012000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>39100289</microcodeVersion>
index 4b5f660e18f30372d9ecaf0bfca1b158c3a095f5..edd54db6332d9e09448595d7db296f6fcbc2f3e3 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>2011090</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100289</microcodeVersion>
index 65999c8f77e5112e409c5347d289a247ecc674d9..1ad4ef7d71f2bfc5eaac7385e6c5176d5537d4b6 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>2012050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900239</microcodeVersion>
index 0b87d591a8f714059449634276431b0186750388..d68c78558305570a075705cde1d89fef2811a2d6 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>3000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>0</microcodeVersion>
index 595b2cb171341079a9265e851f100ce0609e14c1..3dd3ec87e53737d548354b15e9585a178c409260 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>3000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>0</microcodeVersion>
index 79494a95bb816574d6969d07256df9d49d2e2bc6..649104ccbdf206afc57027afdf1ffc09a31ea73d 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>3000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>39100239</microcodeVersion>
index 7d37e4f6a29e3b594870c02838522d5888e42d1d..09d54e0f29bbbdc2232b77051ba505bcf50b00a9 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>3000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100239</microcodeVersion>
index 30e8c2dc2ea761145c930daf3d508847a427ad1a..79cff6e4fbf92d9af86965555811255ee237dadf 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>3000091</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900240</microcodeVersion>
index 6d1e612bfcde631434bd8f2020d9458c0c249a00..5f291f5a0ff33090799a4a6b3f508601c5adc18e 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>3000092</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100240</microcodeVersion>
index 29e8222c1843a070bcf39c3a614f26f212b6502d..44ad2b260df076cd5346a7aa757842d2c701b34a 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>4000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>61700240</microcodeVersion>
index 83f3074dd8b399fa2bb7774a95982d239578dd4e..3e6a19dce5f96c187182b7432fc9421585d4e77b 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>4000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900240</microcodeVersion>
index 614cd8ab0fcb83f9cf9aad25481378b280c3aa68..925d9a07359b42a17d7101841d09a14b27b4b44c 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>4000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>0</microcodeVersion>
index 14877ca5c266f3e4a1a51b10233040d82408c5f3..b5a61c16c8918ec7e59b249172ee96b2e1173d5f 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>4000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>0</microcodeVersion>
index 92998c8d893aceb869c2a4f4c14dc5667dd88b38..5a15848f883dbbf4eb91087737048857877815c4 100644 (file)
   <flag name='migration-param.bandwidth'/>
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
+  <flag name='fsdev.createmode'/>
   <version>4000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>39100240</microcodeVersion>
index 8fde984e11d46f8ad3ec251b0e9ff28a877de655..8319ee831f7f76d1b4182611a5d1687f7b02c189 100644 (file)
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
   <flag name='intel-iommu.aw-bits'/>
+  <flag name='fsdev.createmode'/>
   <version>4000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100240</microcodeVersion>
index 339b3d176b01cfa0aac66c943360290466766b1c..44b22e2f70d1584b8bf6ada4c2d3a7cfa61fd20f 100644 (file)
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
   <flag name='intel-iommu.aw-bits'/>
+  <flag name='fsdev.createmode'/>
   <version>4001000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100241</microcodeVersion>
index c90c9aafd5f8fc9a257e020c8dc61117167807ab..640f8fe5136542a9f0141f8c18affb45dab7818c 100644 (file)
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
   <flag name='blockdev-hostdev-scsi'/>
+  <flag name='fsdev.createmode'/>
   <version>4001050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>61700242</microcodeVersion>
index 578b28fdaf6557dc0cf678ac73f2cac8042c5508..252ecc5860ee7f2fbfb9979ece36de1bb5713efc 100644 (file)
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
   <flag name='spapr-tpm-proxy'/>
+  <flag name='fsdev.createmode'/>
   <version>4001050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900242</microcodeVersion>
index 7142736174eacde2fec5f75762b00958ca05fb9a..42a7cca50ab7ea91c0378547af247713cade2e36 100644 (file)
   <flag name='migration-param.downtime'/>
   <flag name='migration-param.xbzrle-cache-size'/>
   <flag name='blockdev-hostdev-scsi'/>
+  <flag name='fsdev.createmode'/>
   <version>4002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>39100242</microcodeVersion>
index 1907fb5ae7aa5de1e01d041535699a75f870d0db..bad4dce4409ebc7d2ad645507c7115df8eca6edb 100644 (file)
   <flag name='migration-param.xbzrle-cache-size'/>
   <flag name='intel-iommu.aw-bits'/>
   <flag name='blockdev-hostdev-scsi'/>
+  <flag name='fsdev.createmode'/>
   <version>4002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100242</microcodeVersion>
index 28cbd7ab70b2d02f62a2f4d09ff8c717d1050540..8e4e888cd4b9ee120c6fc72593d9d0ded3f92a01 100644 (file)
   <flag name='migration-param.xbzrle-cache-size'/>
   <flag name='numa.hmat'/>
   <flag name='blockdev-hostdev-scsi'/>
+  <flag name='fsdev.createmode'/>
   <version>5000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>61700241</microcodeVersion>
index 34e38516f06db52d3227f1b7e08f9ace8808f30c..e0519fe7eb0fe8c4bdcd63a0de7f7df018e5f7c1 100644 (file)
   <flag name='spapr-tpm-proxy'/>
   <flag name='numa.hmat'/>
   <flag name='blockdev-hostdev-scsi'/>
+  <flag name='fsdev.createmode'/>
   <version>5000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900241</microcodeVersion>
index cc5c83de8c437af0acd5d62147f07709078d7bda..c9f7a2428239b999af008b6d5adff8eb510c2474 100644 (file)
   <flag name='migration-param.xbzrle-cache-size'/>
   <flag name='numa.hmat'/>
   <flag name='blockdev-hostdev-scsi'/>
+  <flag name='fsdev.createmode'/>
   <version>5000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>0</microcodeVersion>
index 20643488c92cea198d7719d4afc94f9f8db94c58..c897bd3c63af644ed9a48234dd2f5f5b607af6cb 100644 (file)
   <flag name='intel-iommu.aw-bits'/>
   <flag name='numa.hmat'/>
   <flag name='blockdev-hostdev-scsi'/>
+  <flag name='fsdev.createmode'/>
   <version>5000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100241</microcodeVersion>
index 37a3f7078228a88ed65aa16903e7e20648dc8765..8dd48812b967560137db95ffc441578cf65c0d9d 100644 (file)
   <flag name='usb-host.hostdevice'/>
   <flag name='virtio-balloon.free-page-reporting'/>
   <flag name='netdev.vhost-vdpa'/>
+  <flag name='fsdev.createmode'/>
   <version>5001000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100242</microcodeVersion>
index 7cd8af31beb218eeac86dfccf30e5e98bd3568b9..94a1945639e00e8217597b90503dd2912b647d06 100644 (file)
   <flag name='virtio-balloon.free-page-reporting'/>
   <flag name='block-export-add'/>
   <flag name='netdev.vhost-vdpa'/>
+  <flag name='fsdev.createmode'/>
   <version>5001050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100243</microcodeVersion>