[PATCH 6/7] schema: Add define for object names
Ján Tomko
jtomko at redhat.com
Thu Jan 7 08:25:11 UTC 2021
On a Thursday in 2021, Peter Krempa wrote:
>On Wed, Jan 06, 2021 at 21:59:21 +0100, Ján Tomko wrote:
>> On a Wednesday in 2021, Peter Krempa wrote:
>> > Objects such as domain, pool, etc re-define the regex for the format.
>> > Add more generic types for objects with/without a slash which we'll be
>> > able to reuse also for other objects.
>> >
>> > Signed-off-by: Peter Krempa <pkrempa at redhat.com>
>> > ---
>> > docs/schemas/basictypes.rng | 13 +++++++++++++
>> > docs/schemas/domaincommon.rng | 17 +++++------------
>> > docs/schemas/storagecommon.rng | 6 ------
>> > docs/schemas/storagepool.rng | 4 ++--
>> > 4 files changed, 20 insertions(+), 20 deletions(-)
>
>[...]
>
>> > diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
>> > index 39bed92115..4fc6a7ee7a 100644
>> > --- a/docs/schemas/domaincommon.rng
>> > +++ b/docs/schemas/domaincommon.rng
>
>[...]
>
>> > @@ -559,7 +557,7 @@
>> > </optional>
>> > <interleave>
>> > <element name="name">
>> > - <ref name="domainName"/>
>> > + <ref name="objectNameWithSlash"/>
>>
>> This is the domain name and cannot contain a slash.
>
>This is not true entirely. The check in the code that enforces that '/'
>is not in the domain name is conditional.
>
Right, I did not realize that.
>It's based on the VIR_DOMAIN_DEF_FEATURE_NAME_SLASH flag being asserted
>by the hypervisors which don't refuse slash in domain name. The
>following drivers use it:
>
>src/openvz/openvz_conf.c: .features = VIR_DOMAIN_DEF_FEATURE_NAME_SLASH,
>src/vbox/vbox_common.c: .features = VIR_DOMAIN_DEF_FEATURE_NAME_SLASH,
>src/vmx/vmx.c: VIR_DOMAIN_DEF_FEATURE_NAME_SLASH |
>
>
>> > </element>
>> > <optional>
>> > <element name="uuid">
>> > @@ -1391,7 +1389,7 @@
>> > <optional>
>> > <element name="backenddomain">
>> > <attribute name="name">
>> > - <ref name="domainName"/>
>> > + <ref name="objectNameWithSlash"/>
>>
>> Added by:
>>
>> conf: support backend domain name in disk and network devices
>>
>> At least Xen supports backend drivers in another domain (aka "driver
>> domain"). This patch introduces an XML config option for specifying the
>> backend domain name for <disk> and <interface> devices. E.g.
>>
>> <disk>
>> <backenddomain name='diskvm'/>
>> ...
>> </disk>
>> <interface type='bridge'>
>> <backenddomain name='netvm'/>
>> ...
>> </interface>
>>
>> I see no need to relax this to allow a slash.
>
>This isn't relaxing it, but merely keeping it as it was, since
>'domainName' rng type allows slash.
>
>On the other hand, nothing actually uses 'backenddomain', so we can use
>the stricter version without any problem.
>
it is passed to libxl:
src/libxl/libxl_conf.c: if (l_disk->domain_name) {
src/libxl/libxl_conf.c: x_disk->backend_domname = g_strdup(l_disk->domain_name);
src/libxl/libxl_conf.c: if (l_nic->domain_name) {
src/libxl/libxl_conf.c: x_nic->backend_domname = g_strdup(l_nic->domain_name);
Jano
>>
>> > </attribute>
>> > <empty/>
>> > </element>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20210107/88760d25/attachment-0001.sig>
More information about the libvir-list
mailing list