summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2012-03-06 01:28:32 +0100
committerLennart Poettering <lennart@poettering.net>2012-03-06 01:28:32 +0100
commit9cacf564513b5fd6078cd418b104083aab8b9bd8 (patch)
tree203ce4b048411284683f22a2ed8a29a903cdf89e
parent7d900eb6f58ca76a0f742c6e1823aa7317d4471f (diff)
umount: don't try to umount /usr, if we are running from it
-rw-r--r--.gitignore2
-rw-r--r--TODO4
-rw-r--r--src/umount.c6
3 files changed, 9 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore
index 3da7e66518..3b69eb46f9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -103,4 +103,6 @@ stamp-*
/Makefile
ltmain.sh
*.tar.xz
+*.tar.gz
+*.tar.bz2
libtool
diff --git a/TODO b/TODO
index fbc494ef41..9b6f526920 100644
--- 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
diff --git a/src/umount.c b/src/umount.c
index 4e036d82a3..0a63d23a01 100644
--- a/src/umount.c
+++ b/src/umount.c
@@ -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;
}