From 3132110c344c60bbe648b5e1b0473bdec101d111 Mon Sep 17 00:00:00 2001 From: Samuel Mendoza-Jonas Date: Tue, 22 Aug 2017 11:41:09 +1000 Subject: [PATCH] discover: Update env vars at init and suppress LVM warnings Environment variables are not platform-specific so move set_proxy_variables to device-handler and call it at handler init. At the same time set LVM_SUPPRESS_FD_WARNINGS to ignore the "file descriptor leaked" warnings when calling LVM-utilities, since we must keep some file descriptors open in lib/process. Signed-off-by: Samuel Mendoza-Jonas --- discover/device-handler.c | 20 ++++++++++++++++++++ discover/platform-powerpc.c | 15 --------------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/discover/device-handler.c b/discover/device-handler.c index f1270c8..ce3fc46 100644 --- a/discover/device-handler.c +++ b/discover/device-handler.c @@ -338,6 +338,22 @@ const char *discover_device_get_param(struct discover_device *device, return NULL; } +static void set_env_variables(const struct config *config) +{ + if (config->http_proxy) + setenv("http_proxy", config->http_proxy, 1); + else + unsetenv("http_proxy"); + + if (config->https_proxy) + setenv("https_proxy", config->https_proxy, 1); + else + unsetenv("https_proxy"); + + /* Reduce noise in the log from LVM listing open file descriptors */ + setenv("LVM_SUPPRESS_FD_WARNINGS", "1", 1); +} + struct device_handler *device_handler_init(struct discover_server *server, struct waitset *waitset, int dry_run) { @@ -362,6 +378,8 @@ struct device_handler *device_handler_init(struct discover_server *server, if (config_get()->safe_mode) return handler; + set_env_variables(config_get()); + rc = device_handler_init_sources(handler); if (rc) { talloc_free(handler); @@ -420,6 +438,8 @@ void device_handler_reinit(struct device_handler *handler) discover_server_notify_plugins_remove(handler->server); + set_env_variables(config_get()); + device_handler_reinit_sources(handler); } diff --git a/discover/platform-powerpc.c b/discover/platform-powerpc.c index a4b955e..02d9a20 100644 --- a/discover/platform-powerpc.c +++ b/discover/platform-powerpc.c @@ -492,19 +492,6 @@ static void populate_bootdev_config(struct platform_powerpc *platform, config->n_autoboot_opts = n_new; } -static void set_proxy_variables(struct config *config) -{ - if (config->http_proxy) - setenv("http_proxy", config->http_proxy, 1); - else - unsetenv("http_proxy"); - - if (config->https_proxy) - setenv("https_proxy", config->https_proxy, 1); - else - unsetenv("https_proxy"); -} - static void populate_config(struct platform_powerpc *platform, struct config *config) { @@ -560,7 +547,6 @@ static void populate_config(struct platform_powerpc *platform, val = get_param(platform, "petitboot,https_proxy"); if (val) config->https_proxy = talloc_strdup(config, val); - set_proxy_variables(config); } static char *iface_config_str(void *ctx, struct interface_config *config) @@ -740,7 +726,6 @@ static int update_config(struct platform_powerpc *platform, update_string_config(platform, "petitboot,http_proxy", val); val = config->https_proxy ?: ""; update_string_config(platform, "petitboot,https_proxy", val); - set_proxy_variables(config); update_network_config(platform, config); -- 2.39.2