chiark / gitweb /
umount: don't try to umount /usr, if we are running from it
authorLennart Poettering <lennart@poettering.net>
Tue, 6 Mar 2012 00:28:32 +0000 (01:28 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 6 Mar 2012 00:28:32 +0000 (01:28 +0100)
.gitignore
TODO
src/umount.c

index 3da7e66..3b69eb4 100644 (file)
@@ -103,4 +103,6 @@ stamp-*
 /Makefile
 ltmain.sh
 *.tar.xz
+*.tar.gz
+*.tar.bz2
 libtool
diff --git a/TODO b/TODO
index fbc494e..9b6f526 100644 (file)
--- a/TODO
+++ b/TODO
@@ -21,6 +21,8 @@ Bugfixes:
 
 Features:
 
+* prefer /etc over /run?
+
 * when dumping cgroup contents, include main/control PID of a service, explicitly
 
 * keep an eye on https://bugzilla.gnome.org/show_bug.cgi?id=670100
@@ -41,8 +43,6 @@ Features:
 
 * isolate for getty is still broken, due to logind
 
-* don't umount /usr
-
 * default unix qlen is too small (10). bump sysctl? add sockopt?
 
 * support units generated by a generator and placed in /run/systemd/system/; the directory is
index 4e036d8..0a63d23 100644 (file)
@@ -410,7 +410,11 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e
         assert(head);
 
         LIST_FOREACH_SAFE(mount_point, m, n, *head) {
-                if (streq(m->path, "/")) {
+                if (path_equal(m->path, "/")
+#ifndef HAVE_SPLIT_USR
+                    || path_equal(m->path, "/usr")
+#endif
+                ) {
                         n_failed++;
                         continue;
                 }