From: Zbigniew Jędrzejewski-Szmek Date: Thu, 31 May 2018 13:16:06 +0000 (+0200) Subject: Fix reporting of enabled-runtime units X-Git-Tag: v239~157^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bb2682bc0493ac42bec800e263c4025219012645;p=thirdparty%2Fsystemd.git Fix reporting of enabled-runtime units We would always report them as "enabled", because path_is_config() includes /run, despite the name. Fixes #9122. --- diff --git a/src/shared/install.c b/src/shared/install.c index ecda662f281..e246cd727cb 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -894,16 +894,13 @@ static int find_symlinks_in_scope( if (r > 0) { /* We found symlinks in this dir? Yay! Let's see where precisely it is enabled. */ - r = path_is_config(paths, *p, false); - if (r < 0) - return r; - if (r > 0) { + if (path_equal_ptr(*p, paths->persistent_config)) { /* This is the best outcome, let's return it immediately. */ *state = UNIT_FILE_ENABLED; return 1; } - /* look for globally enablement of user units */ + /* look for global enablement of user units */ if (scope == UNIT_FILE_USER && path_is_user_config_dir(*p)) { *state = UNIT_FILE_ENABLED; return 1; @@ -918,11 +915,7 @@ static int find_symlinks_in_scope( enabled_at_all = true; } else if (same_name_link) { - - r = path_is_config(paths, *p, false); - if (r < 0) - return r; - if (r > 0) + if (path_equal_ptr(*p, paths->persistent_config)) same_name_link_config = true; else { r = path_is_runtime(paths, *p, false);