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<pbonz...@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

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

Reply via email to