[libvirt] [PATCH 1/4] Make avahi startup more robust.
Chris Lalancette
clalance at redhat.com
Wed Apr 21 16:04:57 UTC 2010
Grr. Please ignore the subject line. This is not PATCH 1/4, it's a
standalone patch. I screwed up when using git format-patch.
Chris Lalancette
On 04/21/2010 12:03 PM, Chris Lalancette wrote:
> If the hostname of the current virtualization machine
> could not be resolved, then libvirtd would fail to
> start. However, for disconnected operation (on a laptop,
> for instance) the hostname may very legitimately not
> be resolvable. This patch makes it so that if we can't
> resolve the hostname, avahi doesn't fail, it just uses
> a less useful MDNS string.
>
> Signed-off-by: Chris Lalancette <clalance at redhat.com>
> ---
> daemon/libvirtd.c | 19 +++++++++++++------
> 1 files changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c
> index 863bf21..69106ee 100644
> --- a/daemon/libvirtd.c
> +++ b/daemon/libvirtd.c
> @@ -998,22 +998,29 @@ static int qemudNetworkInit(struct qemud_server *server) {
> struct libvirtd_mdns_group *group;
> struct qemud_socket *sock;
> int port = 0;
> + int ret;
>
> server->mdns = libvirtd_mdns_new();
>
> if (!mdns_name) {
> - char groupname[64], *localhost, *tmp;
> + char *groupname, *localhost, *tmp;
> /* Extract the host part of the potentially FQDN */
> localhost = virGetHostname(NULL);
> if (localhost == NULL)
> + ret = virAsprintf(&groupname, "Virtualization Host");
> + else {
> + if ((tmp = strchr(localhost, '.')))
> + *tmp = '\0';
> + ret = virAsprintf(&groupname, "Virtualization Host %s",
> + localhost);
> + }
> + if (ret < 0) {
> + virReportOOMError();
> goto cleanup;
> -
> - if ((tmp = strchr(localhost, '.')))
> - *tmp = '\0';
> - snprintf(groupname, sizeof(groupname)-1, "Virtualization Host %s", localhost);
> - groupname[sizeof(groupname)-1] = '\0';
> + }
> group = libvirtd_mdns_add_group(server->mdns, groupname);
> VIR_FREE(localhost);
> + VIR_FREE(groupname);
> } else {
> group = libvirtd_mdns_add_group(server->mdns, mdns_name);
> }
More information about the libvir-list
mailing list