[libvirt] [PATCH v6 02/13] qemu: Detect support for vxhs
John Ferlan
jferlan at redhat.com
Thu Aug 31 16:59:59 UTC 2017
On 08/31/2017 11:34 AM, Peter Krempa wrote:
> On Wed, Aug 30, 2017 at 18:46:02 -0400, John Ferlan wrote:
>> Using the query-qmp-schema introspection - look for the 'vxhs'
>> blockdevOptions type
>>
>> Signed-off-by: John Ferlan <jferlan at redhat.com>
>> ---
>>
>> This is new from v5, this is the way I figured out in order to
>> use the query-qmp-schema in order to determine if 'vxhs' was
>> possible. It sets the libvirt capability.
>>
>> src/qemu/qemu_capabilities.c | 4 ++++
>> src/qemu/qemu_capabilities.h | 3 +++
>> tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 1 +
>> 3 files changed, 8 insertions(+)
>>
>> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
>> index e7ea6f4..173bcf3 100644
>> --- a/src/qemu/qemu_capabilities.c
>> +++ b/src/qemu/qemu_capabilities.c
>
> [...]
>
>> @@ -1811,6 +1814,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsIntelIOMMU[] = {
>> static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = {
>> { "blockdev-add/arg-type/options/+gluster/debug-level", QEMU_CAPS_GLUSTER_DEBUG_LEVEL},
>> { "blockdev-add/arg-type/+gluster/debug", QEMU_CAPS_GLUSTER_DEBUG_LEVEL},
>> + { "blockdev-add/arg-type/+vxhs", QEMU_CAPS_VXHS},
>
> I've just noticed that this is reported by qemu even if it isn't built
> with libvxhs, thus this is not a 100% proof that qemu in fact supports
> such volumes.
>
> So with this you still might get a failure from qemu even if libvirt
> thinks that it's supported. For other storage protocols we don't really
> have capabilities. I'm not sure whether it's worth adding it. It will
> catch that your qemu is too old, but won't if it has the feature
> disabled.
>
Well it's essentially in reaction to your review from v4:
https://www.redhat.com/archives/libvir-list/2017-June/msg01389.html
so the reality is there's not way to tell at all. All we can do is
"hope" that someone successfully built qemu w/ --enable-vxhs. As seen
from qemu commit id 'da92c3ff6'.
Kind of makes introspection a bit useless seeing as I assume it's keyed
off the qapi/block-core.json file and furthermore that it cannot be
built based on whether or not --enable-vxhs was successful. Thus the
only way to really know is to run and fail. Seems like a qemu problem to
me ;-)! We tried at least.
John
More information about the libvir-list
mailing list