]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fix(install): configure logging earlier
authorMarcos Mello <marcosfrm@gmail.com>
Mon, 24 May 2021 19:16:03 +0000 (16:16 -0300)
committerHarald Hoyer <harald@hoyer.xyz>
Wed, 26 May 2021 07:22:09 +0000 (09:22 +0200)
There are log_error() and log_debug() calls in parse_argv().

src/install/dracut-install.c

index 018fdbd7691e7605a9e64d1806a4ba7ad6ac12c0..9a40e0220648bd20d19a329e7e2e5a245c23ed34 100644 (file)
@@ -1166,6 +1166,10 @@ static int parse_argv(int argc, char *argv[])
                 }
         }
 
+        if (arg_loglevel >= 0) {
+                log_set_max_level(arg_loglevel);
+        }
+
         if (!kerneldir) {
                 struct utsname buf;
                 uname(&buf);
@@ -2002,18 +2006,14 @@ int main(int argc, char **argv)
         char *path = NULL;
         char *env_no_xattr = NULL;
 
-        r = parse_argv(argc, argv);
-        if (r <= 0)
-                return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
-
         log_set_target(LOG_TARGET_CONSOLE);
         log_parse_environment();
-
-        if (arg_loglevel >= 0)
-                log_set_max_level(arg_loglevel);
-
         log_open();
 
+        r = parse_argv(argc, argv);
+        if (r <= 0)
+                return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
+
         modules_loaded = hashmap_new(string_hash_func, string_compare_func);
         if (arg_modalias) {
                 Iterator i;