From: Dan Dedrick Date: Tue, 29 Jul 2014 19:31:23 +0000 (-0400) Subject: switch-root: umount the old root correctly X-Git-Tag: v216~288 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=23f25b1496c31ef4c20b8f3ee8328f7b1d5f3a54 switch-root: umount the old root correctly The unmount occurs after the pivot_root, so the path used to unmount should take into account the new root directory. This will allow the umount to actually succeed. --- diff --git a/src/core/switch-root.c b/src/core/switch-root.c index f82243f8b..f508cc203 100644 --- a/src/core/switch-root.c +++ b/src/core/switch-root.c @@ -129,8 +129,8 @@ int switch_root(const char *new_root) { /* Immediately get rid of the old root. Since we are * running off it we need to do this lazily. */ - if (umount2(temporary_old_root, MNT_DETACH) < 0) { - log_error("Failed to umount old root dir %s: %m", temporary_old_root); + if (umount2("/mnt", MNT_DETACH) < 0) { + log_error("Failed to umount old root dir /mnt: %m"); return -errno; }