]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
Tools: hv: kvp: configurable external scripts path
authorAlex Fluter <afluter@yandex.com>
Sat, 3 Dec 2016 20:34:41 +0000 (12:34 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 6 Dec 2016 10:52:49 +0000 (11:52 +0100)
error when running hypervkvpd:
$ sudo ./hv_kvp_daemon -n

sh: hv_get_dns_info: command not found
sh: hv_get_dhcp_info: command not found
sh: hv_get_dns_info: command not found
sh: hv_get_dhcp_info: command not found

The external scripts are not installed in system path,
adding a configurable macro.

Signed-off-by: Alex Fluter <afluter@yandex.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
tools/hv/hv_kvp_daemon.c

index d791dbf05d9b4036a3ea545683c4ad1cb815d101..f1758fcbc37d91ead6616f5e414eece8dd38b28c 100644 (file)
@@ -93,6 +93,10 @@ static struct utsname uts_buf;
 
 #define KVP_CONFIG_LOC "/var/lib/hyperv"
 
+#ifndef KVP_SCRIPTS_PATH
+#define KVP_SCRIPTS_PATH "/usr/libexec/hypervkvpd/"
+#endif
+
 #define MAX_FILE_NAME 100
 #define ENTRIES_PER_BLOCK 50
 
@@ -818,7 +822,7 @@ static void kvp_get_ipconfig_info(char *if_name,
         * .
         */
 
-       sprintf(cmd, "%s",  "hv_get_dns_info");
+       sprintf(cmd, KVP_SCRIPTS_PATH "%s",  "hv_get_dns_info");
 
        /*
         * Execute the command to gather DNS info.
@@ -835,7 +839,7 @@ static void kvp_get_ipconfig_info(char *if_name,
         * Enabled: DHCP enabled.
         */
 
-       sprintf(cmd, "%s %s", "hv_get_dhcp_info", if_name);
+       sprintf(cmd, KVP_SCRIPTS_PATH "%s %s", "hv_get_dhcp_info", if_name);
 
        file = popen(cmd, "r");
        if (file == NULL)
@@ -1341,7 +1345,8 @@ static int kvp_set_ip_info(char *if_name, struct hv_kvp_ipaddr_value *new_val)
         * invoke the external script to do its magic.
         */
 
-       snprintf(cmd, sizeof(cmd), "%s %s", "hv_set_ifconfig", if_file);
+       snprintf(cmd, sizeof(cmd), KVP_SCRIPTS_PATH "%s %s",
+                "hv_set_ifconfig", if_file);
        if (system(cmd)) {
                syslog(LOG_ERR, "Failed to execute cmd '%s'; error: %d %s",
                                cmd, errno, strerror(errno));