chiark / gitweb /
unit: When stopping due to BindsTo=, log which unit caused it
authorColin Walters <walters@verbum.org>
Tue, 17 Feb 2015 18:47:34 +0000 (13:47 -0500)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 26 Feb 2015 14:18:01 +0000 (09:18 -0500)
I'm trying to track down a relatively recent change in systemd
which broke OSTree; see https://bugzilla.gnome.org/show_bug.cgi?id=743891

Systemd started to stop sysroot.mount, and this patch should help
me debug why at least.

While we're here, "break" on the first unit we find that will
deactivate, as there's no point in further iteration.

src/core/unit.c

index 875befa0a200e5ce83771316be36c8561009e8be..590ca3555a83a655f11f608c211db3de8cae5617 100644 (file)
@@ -1642,12 +1642,14 @@ static void unit_check_binds_to(Unit *u) {
                         continue;
 
                 stop = true;
+                break;
         }
 
         if (!stop)
                 return;
 
-        log_unit_info(u->id, "Unit %s is bound to inactive unit. Stopping, too.", u->id);
+        assert(other);
+        log_unit_info(u->id, "Unit %s is bound to inactive unit %s. Stopping, too.", u->id, other->id);
 
         /* A unit we need to run is gone. Sniff. Let's stop this. */
         manager_add_job(u->manager, JOB_STOP, u, JOB_FAIL, true, NULL, NULL);