[libvirt] [PATCH v2 3/6] domain: make port optional for network disks
Osier Yang
jyang at redhat.com
Thu Mar 21 14:22:29 UTC 2013
On 2013年03月21日 19:53, Paolo Bonzini wrote:
> Only sheepdog actually required it in the code, and we can use 7000 as the
> default---the same value that QEMU uses for the simple "sheepdog:VOLUME"
> syntax. With this change, the schema can be fixed to allow no port.
>
> Signed-off-by: Paolo Bonzini<pbonzini at redhat.com>
> ---
> docs/formatdomain.html.in | 6 ++++++
> docs/schemas/domaincommon.rng | 8 +++++---
> src/conf/domain_conf.c | 5 -----
> src/qemu/qemu_command.c | 3 ++-
> 4 files changed, 13 insertions(+), 9 deletions(-)
>
> diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
> index f17b808..fd33818 100644
> --- a/docs/formatdomain.html.in
> +++ b/docs/formatdomain.html.in
> @@ -1700,31 +1700,37 @@
> <th> Protocol</th>
> <th> Meaning</th>
> <th> Number of hosts</th>
> +<th> Default port</th>
> </tr>
> <tr>
> <td> nbd</td>
> <td> a server running nbd-server</td>
> <td> only one</td>
> +<td> 10809</td>
> </tr>
> <tr>
> <td> iscsi</td>
> <td> an iSCSI server</td>
> <td> only one</td>
> +<td> 3260</td>
> </tr>
> <tr>
> <td> rbd</td>
> <td> monitor servers of RBD</td>
> <td> one or more</td>
> +<td> 6789</td>
> </tr>
> <tr>
> <td> sheepdog</td>
> <td> one of the sheepdog servers (default is localhost:7000)</td>
> <td> zero or one</td>
> +<td> 7000</td>
> </tr>
> <tr>
> <td> gluster</td>
> <td> a server running glusterd daemon</td>
> <td> only one</td>
> +<td> 24007</td>
> </tr>
> </table>
> gluster supports "tcp", "rdma", "unix" as valid values for the
> diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
> index c4e7b7a..4da65f8 100644
> --- a/docs/schemas/domaincommon.rng
> +++ b/docs/schemas/domaincommon.rng
> @@ -1114,9 +1114,11 @@
> <ref name="ipAddr"/>
> </choice>
> </attribute>
> -<attribute name="port">
> -<ref name="unsignedInt"/>
> -</attribute>
> +<optional>
> +<attribute name="port">
> +<ref name="unsignedInt"/>
> +</attribute>
> +</optional>
> </group>
> <group>
> <attribute name="transport">
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index b06cae5..8f76e8e 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -4111,11 +4111,6 @@ virDomainDiskDefParseXML(virCapsPtr caps,
> goto error;
> }
> hosts[nhosts - 1].port = virXMLPropString(child, "port");
> - if (!hosts[nhosts - 1].port) {
> - virReportError(VIR_ERR_XML_ERROR,
> - "%s", _("missing port for host"));
> - goto error;
> - }
> }
> }
> child = child->next;
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index 313db2c..5422508 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -2763,7 +2763,8 @@ qemuBuildDriveStr(virConnectPtr conn ATTRIBUTE_UNUSED,
> } else {
> /* only one host is supported now */
> virBufferAsprintf(&opt, "file=sheepdog:%s:%s:",
> - disk->hosts->name, disk->hosts->port);
> + disk->hosts->name,
> + disk->hosts->port ? disk->hosts->port : "7000");
> virBufferEscape(&opt, ',', ",", "%s,", disk->src);
> }
> break;
ACK
More information about the libvir-list
mailing list