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

Harald Hoyer harald.hoyer at gmail.com
Mon Mar 4 23:14:00 PST 2013


Am 05.03.2013 07:56, schrieb Tom Gundersen:
> 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);
> 

I think the idea was to allow service to be started in the initramfs and be
active even until the pivot() shutdown.

Now, that I think of it, such services can have "IgnoreOnIsolate=yes".


More information about the systemd-devel mailing list