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>
"virtio-balloon.free-page-reporting",
"block-export-add",
"netdev.vhost-vdpa",
+ "fsdev.createmode",
);
{ "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
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;
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>