[Gluster-devel] [libvirt] [PATCH v2 1/2] Qemu/Gluster: Add Gluster protocol as supported network disk formats.
Harsh Bora
harsh at linux.vnet.ibm.com
Thu Oct 4 19:56:23 UTC 2012
On 10/05/2012 01:13 AM, Eric Blake wrote:
> On 10/04/2012 01:09 PM, Harsh Bora wrote:
>> On 10/04/2012 09:17 PM, Deepak C Shetty wrote:
>>> On 10/04/2012 07:01 PM, Harsh Prateek Bora wrote:
>>>> Qemu accepts gluster protocol as supported storage backend beside
>>>> others.
>>>> This patch allows users to specify disks on gluster backends like this:
>>>>
>>>> <disk type='network' device='disk'>
>>>> <driver name='qemu' type='raw'/>
>>>> <source protocol='gluster' name='volume/image'>
>>>> <host name='example.org' port='6000' transport='tcp'/>
>
>>>> + <attribute name="transport">
>>>> + <choice>
>>>> + <value>tcp</value>
>>>> + <value>unix</value>
>>>> + <value>rdma</value>
>>>> + </choice>
>>>> + </attribute>
>>> 'transport' attribute is optional, so it should be placed inside
>>> <optional> </optional> ?
>>
>> Not necessarily, <zeroOrMore> works for it. You may want to test the
>> patch without specifying 'transport' attribute!
>
> Deepak is right - the <attribute name="transport"> block must be
> embedded in an <optional> block. <zeroOrMore> only applies to elements,
> but as written, your zeroOrMore says that it is okay to omit the overall
> <host> element, but that if you provide a <host> element, it MUST have a
> transport='...' attribute, and that is not correct. For back-compat
> reasons, ALL new attributes must be in an <optional> block since older
> clients of the XML did not provide the new attributes.
Looking at the grammar, it appeared to me like what you said, however,
when I tested the patch, zeroOrMore worked successfully for the
transport attribute as well. However, I am willing to use <optional>
block for consistency.
>
>>
>> I chose to check for only ':' to decide if its a IPv6 addr because it
>> doesnt make sense to be partial towards '.' What if someone specifies a
>> host name like 12:12;12,12 or 23:23,23,23 ? A '.' in an IPv6 addr is as
>> bad as any other invalid char.
>
> '.' is valid in IPv6 addr. But yes, ':' is mandatory in IPv6, and
> forbidden in IPv4, so it makes a good distinguishing test between the
> two families.
So, are you suggesting to validate IPv4 only and that too based on the
absence of ':' and presence of '.'? Does that really suffice to validate
an IPv4 since any other special character is also an invalid separator
for IPv4 ?
regards,
Harsh
>
More information about the Gluster-devel
mailing list