[systemd-devel] [RFC][PATCH] main: ISOLATE rather than REPLACE default.target

Tom Gundersen teg at jklm.no
Mon Mar 4 22:56:47 PST 2013


This allows switch-root to work correctly if a unit is active both before and
after the switch-root, but its dependencies change. Before the patch, any
dependencies added to active units by switch-root will not be pulled, in
particular filesystems configured in /etc/fstab would not be activated if
local-fs.target was active in the initrd.

It is not clear to me if there is a bug in the REPLACE handling, or if it is
working as expected and that we really want to use ISOLATE instead as this patch
does.

Comments?

Cc: Harald Hoyer <harald.hoyer at gmail.com>
---
 src/core/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/core/main.c b/src/core/main.c
index 71e0a6c..2bbea7e 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -1720,7 +1720,7 @@ int main(int argc, char *argv[]) {
                         manager_dump_units(m, stdout, "\t");
                 }
 
-                r = manager_add_job(m, JOB_START, target, JOB_REPLACE, false, &error, &default_unit_job);
+                r = manager_add_job(m, JOB_START, target, JOB_ISOLATE, false, &error, &default_unit_job);
                 if (r < 0) {
                         log_error("Failed to start default target: %s", bus_error(&error, r));
                         dbus_error_free(&error);
-- 
1.8.1.5



More information about the systemd-devel mailing list