- cache FQDN in kvp_daemon to avoid timeouts
OBS-URL: https://build.opensuse.org/package/show/Virtualization/hyper-v?expand=0&rev=67
This commit is contained in:
parent
18c1b296af
commit
f4e9f3f425
@ -1,6 +1,7 @@
|
|||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Aug 7 15:54:19 CEST 2013 - ohering@suse.de
|
Wed Aug 7 19:04:35 CEST 2013 - ohering@suse.de
|
||||||
|
|
||||||
|
- cache FQDN in kvp_daemon to avoid timeouts
|
||||||
- use full nlmsghdr in netlink_send
|
- use full nlmsghdr in netlink_send
|
||||||
- correct payload size in netlink_send
|
- correct payload size in netlink_send
|
||||||
- use single send+recv buffer
|
- use single send+recv buffer
|
||||||
|
@ -89,6 +89,7 @@ static char *processor_arch;
|
|||||||
static char *os_build;
|
static char *os_build;
|
||||||
static char *os_version;
|
static char *os_version;
|
||||||
static char *lic_version = "Unknown version";
|
static char *lic_version = "Unknown version";
|
||||||
|
static char full_domain_name[HV_KVP_EXCHANGE_MAX_VALUE_SIZE];
|
||||||
static struct utsname uts_buf;
|
static struct utsname uts_buf;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1368,7 +1369,7 @@ setval_error:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
static void
|
||||||
kvp_get_domain_name(char *buffer, int length)
|
kvp_get_domain_name(char *buffer, int length)
|
||||||
{
|
{
|
||||||
struct addrinfo hints, *info ;
|
struct addrinfo hints, *info ;
|
||||||
@ -1382,12 +1383,12 @@ kvp_get_domain_name(char *buffer, int length)
|
|||||||
|
|
||||||
error = getaddrinfo(buffer, NULL, &hints, &info);
|
error = getaddrinfo(buffer, NULL, &hints, &info);
|
||||||
if (error != 0) {
|
if (error != 0) {
|
||||||
strcpy(buffer, "getaddrinfo failed\n");
|
snprintf(buffer, length, "getaddrinfo failed: 0x%x %s",
|
||||||
return error;
|
error, gai_strerror(error));
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
strcpy(buffer, info->ai_canonname);
|
snprintf(buffer, length, "%s", info->ai_canonname);
|
||||||
freeaddrinfo(info);
|
freeaddrinfo(info);
|
||||||
return error;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -1452,6 +1453,11 @@ int main(void)
|
|||||||
* Retrieve OS release information.
|
* Retrieve OS release information.
|
||||||
*/
|
*/
|
||||||
kvp_get_os_info();
|
kvp_get_os_info();
|
||||||
|
/*
|
||||||
|
* Cache Fully Qualified Domain Name because getaddrinfo takes an
|
||||||
|
* unpredicatable amount of time to finish.
|
||||||
|
*/
|
||||||
|
kvp_get_domain_name(full_domain_name, sizeof(full_domain_name));
|
||||||
|
|
||||||
if (kvp_file_init()) {
|
if (kvp_file_init()) {
|
||||||
syslog(LOG_ERR, "Failed to initialize the pools");
|
syslog(LOG_ERR, "Failed to initialize the pools");
|
||||||
@ -1670,8 +1676,7 @@ int main(void)
|
|||||||
|
|
||||||
switch (hv_msg->body.kvp_enum_data.index) {
|
switch (hv_msg->body.kvp_enum_data.index) {
|
||||||
case FullyQualifiedDomainName:
|
case FullyQualifiedDomainName:
|
||||||
kvp_get_domain_name(key_value,
|
strcpy(key_value, full_domain_name);
|
||||||
HV_KVP_EXCHANGE_MAX_VALUE_SIZE);
|
|
||||||
strcpy(key_name, "FullyQualifiedDomainName");
|
strcpy(key_name, "FullyQualifiedDomainName");
|
||||||
break;
|
break;
|
||||||
case IntegrationServicesVersion:
|
case IntegrationServicesVersion:
|
||||||
|
Loading…
Reference in New Issue
Block a user