diff options
author | Daniel Mack <github@zonque.org> | 2016-03-10 15:24:21 +0100 |
---|---|---|
committer | Daniel Mack <github@zonque.org> | 2016-03-10 15:24:21 +0100 |
commit | bffac070d0db53d85159598fc53728fd6aa2ee4d (patch) | |
tree | 848c57e50ada422d2f089e2a2147dace1ca89b52 | |
parent | ead02a14ede96738250c3aac83adf9ecc1b7e2f1 (diff) | |
parent | 04a9393122d79a3d14506459b0f2c5348673464c (diff) |
Merge pull request #2794 from jhol/dont-unmount-initramfs-mounts
core/mount: Don't unmount initramfs mounts
-rw-r--r-- | src/core/mount.c | 15 | ||||
-rw-r--r-- | src/core/umount.c | 1 |
2 files changed, 10 insertions, 6 deletions
diff --git a/src/core/mount.c b/src/core/mount.c index c0026e09b3..0fd880df5d 100644 --- a/src/core/mount.c +++ b/src/core/mount.c @@ -378,7 +378,8 @@ static bool should_umount(Mount *m) { MountParameters *p; if (path_equal(m->where, "/") || - path_equal(m->where, "/usr")) + path_equal(m->where, "/usr") || + path_startswith(m->where, "/run/initramfs")) return false; p = get_mount_parameters(m); @@ -402,13 +403,15 @@ static int mount_add_default_dependencies(Mount *m) { if (UNIT(m)->manager->running_as != MANAGER_SYSTEM) return 0; - /* We do not add any default dependencies to / and /usr, since - * they are guaranteed to stay mounted the whole time, since - * our system is on it. Also, don't bother with anything - * mounted below virtual file systems, it's also going to be - * virtual, and hence not worth the effort. */ + /* We do not add any default dependencies to /, /usr or + * /run/initramfs/, since they are guaranteed to stay + * mounted the whole time, since our system is on it. + * Also, don't bother with anything mounted below virtual + * file systems, it's also going to be virtual, and hence + * not worth the effort. */ if (path_equal(m->where, "/") || path_equal(m->where, "/usr") || + path_startswith(m->where, "/run/initramfs") || path_startswith(m->where, "/proc") || path_startswith(m->where, "/sys") || path_startswith(m->where, "/dev")) diff --git a/src/core/umount.c b/src/core/umount.c index b953fcc152..c21a2be54e 100644 --- a/src/core/umount.c +++ b/src/core/umount.c @@ -412,6 +412,7 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e #ifndef HAVE_SPLIT_USR || path_equal(m->path, "/usr") #endif + || path_startswith(m->path, "/run/initramfs") ) continue; |