Hello,

There is an absFilePatch type in docs/schemas/basictypes.rng rng schema:

  <define name="absFilePath">
    <data type="string">
<param name="pattern">/[a-zA-Z0-9_\.\+\-\\&amp;&quot;&apos;&lt;&gt;/%,:]+</param>
    </data>
  </define>

There are quite few symbols in this set of the ones, which linux allows to have in file paths. For example spaces or curly braces are not allowed. There are a lot of elements of this type in other rng schems, for example:

  <define name="diskSourceFile">
    <optional>
      <attribute name="type">
        <value>file</value>
      </attribute>
    </optional>
    <interleave>
      <optional>
        <element name="source">
          <optional>
            <attribute name="file">
              <ref name="absFilePath"/>
            </attribute>


There is no checks in libvirt if the the xml, given to, for example, virDomainDefineXML function conforms to this schema. I've added a disk to the domain with curly braces in path and there were no errors:

    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/home/libvirt/{123}.qcow2'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>

The domain was successfully defined and virsh dumpxml shows this path in output.

So the question is, where did this path pattern come from? Is it possible to use file paths with another symbols or there will be some problems?

--
Dmitry Guryanov

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to